Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsManaged ¶
func IsManaged[T genruntime.MetaObject](ctx context.Context, ctrlClient client.Client, spec azure.ASOResourceSpecGetter[T], clusterName string) (bool, error)
IsManaged returns whether the ASO resource referred to by spec was created by CAPZ and therefore whether CAPZ should manage its lifecycle.
Types ¶
type Reconciler ¶
type Reconciler[T genruntime.MetaObject] interface { CreateOrUpdateResource(ctx context.Context, spec azure.ASOResourceSpecGetter[T], serviceName string) (result T, err error) DeleteResource(ctx context.Context, spec azure.ASOResourceSpecGetter[T], serviceName string) (err error) PauseResource(ctx context.Context, spec azure.ASOResourceSpecGetter[T], serviceName string) (err error) }
Reconciler is a generic interface used to perform reconciliation of Azure resources backed by ASO.
type Scope ¶ added in v1.12.0
type Scope interface { azure.AsyncStatusUpdater GetClient() client.Client ClusterName() string }
Scope represents the common functionality related to all scopes needed for ASO services.
type Service ¶
type Service[T deepCopier[T], S Scope] struct { Reconciler[T] Scope S Specs []azure.ASOResourceSpecGetter[T] ConditionType clusterv1.ConditionType PostCreateOrUpdateResourceHook func(ctx context.Context, scope S, result T, err error) error PostReconcileHook func(ctx context.Context, scope S, err error) error PostDeleteHook func(ctx context.Context, scope S, err error) error // contains filtered or unexported fields }
Service provides operations on Azure resources.
func NewService ¶ added in v1.12.0
NewService creates a new Service.
type TagsGetterSetter ¶ added in v1.11.0
type TagsGetterSetter[T genruntime.MetaObject] interface { GetAdditionalTags() infrav1.Tags GetDesiredTags(resource T) infrav1.Tags GetActualTags(resource T) infrav1.Tags SetTags(resource T, tags infrav1.Tags) }
TagsGetterSetter represents an object that supports tags.
Click to show internal directories.
Click to hide internal directories.