Use OpenAPI to set the default ProviderConfig
This allows us to avoid an extra update call to the API server when new managed resources are created. Signed-off-by: Nic Cope <negz@rk0n.org>
This commit is contained in:
parent
3cd26cccdc
commit
824eb6919d
|
|
@ -139,6 +139,7 @@ type ResourceSpec struct {
|
|||
// ProviderConfigReference specifies how the provider that will be used to
|
||||
// create, observe, update, and delete this managed resource should be
|
||||
// configured.
|
||||
// +kubebuilder:default={"name": "default"}
|
||||
ProviderConfigReference *Reference `json:"providerConfigRef,omitempty"`
|
||||
|
||||
// ProviderReference specifies the provider that will be used to create,
|
||||
|
|
|
|||
|
|
@ -58,9 +58,11 @@ func (a *NameAsExternalName) Initialize(ctx context.Context, mg resource.Managed
|
|||
|
||||
// DefaultProviderConfig fills the ProviderConfigRef with `default` if it's left
|
||||
// empty.
|
||||
// Deprecated: Use OpenAPI schema defaulting instead.
|
||||
type DefaultProviderConfig struct{ client client.Client }
|
||||
|
||||
// NewDefaultProviderConfig returns a new DefaultProviderConfig.
|
||||
// Deprecated: Use OpenAPI schema defaulting instead.
|
||||
func NewDefaultProviderConfig(c client.Client) *DefaultProviderConfig {
|
||||
return &DefaultProviderConfig{client: c}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -367,10 +367,7 @@ func defaultMRManaged(m manager.Manager) mrManaged {
|
|||
return mrManaged{
|
||||
ConnectionPublisher: NewAPISecretPublisher(m.GetClient(), m.GetScheme()),
|
||||
Finalizer: resource.NewAPIFinalizer(m.GetClient(), managedFinalizerName),
|
||||
Initializer: InitializerChain{
|
||||
NewDefaultProviderConfig(m.GetClient()),
|
||||
NewNameAsExternalName(m.GetClient()),
|
||||
},
|
||||
Initializer: NewNameAsExternalName(m.GetClient()),
|
||||
ReferenceResolver: NewAPISimpleReferenceResolver(m.GetClient()),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue