Documentation ¶
Index ¶
- func NewCreateOrUpdateSubscription(opts ctrl.Options) (ctrl.Controller, error)
- func NewDefaultAsyncDelete[P interface{ ... }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
- func NewDefaultAsyncPut[P interface{ ... }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
- func NewDefaultSyncDelete[P interface{ ... }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
- func NewDefaultSyncPut[P interface{ ... }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
- func NewGetOperationResult(opts ctrl.Options) (ctrl.Controller, error)
- func NewGetOperationStatus(opts ctrl.Options) (ctrl.Controller, error)
- func NewGetOperations(opts ctrl.Options, opsList []v1.Operation) (ctrl.Controller, error)
- func NewGetResource[P interface{ ... }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
- type CreateOrUpdateSubscription
- type DefaultAsyncDelete
- type DefaultAsyncPut
- type DefaultSyncDelete
- type DefaultSyncPut
- type GetOperationResult
- type GetOperationStatus
- type GetOperations
- type GetResource
- type ListResources
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCreateOrUpdateSubscription ¶
func NewCreateOrUpdateSubscription(opts ctrl.Options) (ctrl.Controller, error)
NewCreateOrUpdateSubscription creates a new CreateOrUpdateSubscription.
func NewDefaultAsyncDelete ¶
func NewDefaultAsyncDelete[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
NewDefaultAsyncDelete creates a new DefaultAsyncDelete.
func NewDefaultAsyncPut ¶
func NewDefaultAsyncPut[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
NewDefaultAsyncPut creates a new DefaultAsyncPut.
func NewDefaultSyncDelete ¶
func NewDefaultSyncDelete[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
NewDefaultSyncDelete creates a new DefaultSyncDelete.
func NewDefaultSyncPut ¶
func NewDefaultSyncPut[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
NewDefaultSyncPut creates a new DefaultSyncPut.
func NewGetOperationResult ¶
func NewGetOperationResult(opts ctrl.Options) (ctrl.Controller, error)
NewGetOperationResult creates a new GetOperationResult controller.
func NewGetOperationStatus ¶
func NewGetOperationStatus(opts ctrl.Options) (ctrl.Controller, error)
NewGetOperationStatus creates a new GetOperationStatus.
func NewGetOperations ¶
NewGetOperations creates a new GetOperations controller and returns it, or returns an error if one occurs.
func NewGetResource ¶
func NewGetResource[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, resourceOpts ctrl.ResourceOptions[T]) (ctrl.Controller, error)
NewGetResource creates a new GetResource controller instance.
Types ¶
type CreateOrUpdateSubscription ¶
type CreateOrUpdateSubscription struct {
ctrl.BaseController
}
CreateOrUpdateSubscription is the controller implementation to manage arm subscription lifecycle.
func (*CreateOrUpdateSubscription) Run ¶
func (a *CreateOrUpdateSubscription) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
CreateOrUpdateSubscription is triggered when the state of the user subscription is changed (setup or tear down). Spec: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/subscription-lifecycle-api-reference.md#subscription-lifecycle-api-reference
func (*CreateOrUpdateSubscription) Validate ¶
func (a *CreateOrUpdateSubscription) Validate(req *http.Request) *v1.Subscription
Validate validates subscription request and returns the Subscription object if successful, or nil if an error occurs.
type DefaultAsyncDelete ¶
type DefaultAsyncDelete[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] }
DefaultAsyncDelete is the controller implementation to delete async resource.
func (*DefaultAsyncDelete[P, T]) Run ¶
func (e *DefaultAsyncDelete[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run executes asynchronous delete operation by validating the request, executing custom delete filters, and starting async job, and returns an async response.
type DefaultAsyncPut ¶
type DefaultAsyncPut[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] }
DefaultAsyncPut is the controller implementation to create or update async resource.
func (*DefaultAsyncPut[P, T]) Run ¶
func (e *DefaultAsyncPut[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run executes asynchronous create or update operation by validating new resource metadata, ensuring if it is new resource or updated resource, running custom update filters, and queuing async operation and returns an async response.
type DefaultSyncDelete ¶
type DefaultSyncDelete[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] }
DefaultSyncDelete is the controller implementation to delete resource synchronously.
func (*DefaultSyncDelete[P, T]) Run ¶
func (e *DefaultSyncDelete[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run executes synchronous deletion operation. It retrieves the resource from the store, runs custom delete filters, and then deletes the resource from the data store. If the resource is not found, a No Content response is returned. If an error occurs during the delete, an error is returned.
type DefaultSyncPut ¶
type DefaultSyncPut[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] }
DefaultSyncPut is the controller implementation to create or update resource synchronously.
func (*DefaultSyncPut[P, T]) Run ¶
func (e *DefaultSyncPut[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run executes synchronous create or update operation by validating new resource metadata, ensuring if it is new resource or updated resource, running custom update filters, and upserting resource metadata and returns an resource as a response.
type GetOperationResult ¶
type GetOperationResult struct {
ctrl.BaseController
}
GetOperationResult is the controller implementation to get the result of an async operation.
func (*GetOperationResult) Run ¶
func (e *GetOperationResult) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run returns the response with necessary headers about the async operation - it checks if the operation is in a terminal state, and if not, returns an AsyncOperationResultResponse with the Location and Retry-After headers set. If the operation is in a terminal state, it returns a NoContentResponse. If the operation is not found, it returns a NotFoundResponse. If an error occurs, it returns a BadRequestResponse. Spec: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format
type GetOperationStatus ¶
type GetOperationStatus struct {
ctrl.BaseController
}
GetOperationStatus is the controller implementation to get an async operation status.
func (*GetOperationStatus) Run ¶
func (e *GetOperationStatus) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run returns the status of an asynchronous operation, or a NotFound error if the operation is not found. Spec: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format
type GetOperations ¶
type GetOperations struct { ctrl.BaseController // contains filtered or unexported fields }
GetOperations is the controller implementation to get arm rpc available operations.
func (*GetOperations) Run ¶
func (opctrl *GetOperations) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run returns the list of available operations/permission for the resource provider at tenant level. Spec: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#exposing-available-operations
type GetResource ¶
type GetResource[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] }
GetResource is the controller implementation to get a resource.
func (*GetResource[P, T]) Run ¶
func (e *GetResource[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run returns the requested resource from the datastore with etag. If the resource does not exist, a not found response is returned. If an error occurs, an error is returned as an internal error.
type ListResources ¶
type ListResources[P interface { *T v1.ResourceDataModel }, T any] struct { ctrl.Operation[P, T] // contains filtered or unexported fields }
ListResources is the controller implementation to get the list of resources in resource group.
func NewListResources ¶
func NewListResources[P interface { *T v1.ResourceDataModel }, T any](opts ctrl.Options, ctrlOpts ctrl.ResourceOptions[T]) (*ListResources[P, T], error)
NewListResources creates a new ListResources instance.
func (*ListResources[P, T]) Run ¶
func (e *ListResources[P, T]) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (rest.Response, error)
Run queries the resource data store with a given type and scope and returns the paginated resource list. An internal error is returned if the query fails.