Class ALambdaFinalizerFunction
The ALambdaFinalizerFunction is the abstract base class for implementing a LambdaSharp module Finalizer. The Finalizer is a CloudFormation custom resource that is created after all other resources in the LambdaSharp module have been created. The Finalizer is used to perform custom logic when deploying, creating, or tearing down a LambdaSharp module.
Inheritance
Implements
Inherited Members
Namespace: LambdaSharp.Finalizer
Assembly: LambdaSharp.Finalizer.dll
Syntax
public abstract class ALambdaFinalizerFunction : ALambdaCustomResourceFunction<FinalizerProperties, FinalizerAttributes>, ILambdaSharpLogger
Constructors
ALambdaFinalizerFunction()
Initializes a new ALambdaFinalizerFunction instance using the default implementation of ILambdaFunctionDependencyProvider.
Declaration
protected ALambdaFinalizerFunction()
ALambdaFinalizerFunction(ILambdaFinalizerDependencyProvider)
Initializes a new ALambdaFinalizerFunction instance using a custom implementation of ILambdaFunctionDependencyProvider.
Declaration
protected ALambdaFinalizerFunction(ILambdaFinalizerDependencyProvider provider)
Parameters
Type | Name | Description |
---|---|---|
ILambdaFinalizerDependencyProvider | provider | Custom implementation of ILambdaFunctionDependencyProvider. |
Properties
Provider
The ILambdaFinalizerDependencyProvider instance used by the Lambda function to satisfy its required dependencies.
Declaration
protected ILambdaFinalizerDependencyProvider Provider { get; }
Property Value
Type | Description |
---|---|
ILambdaFinalizerDependencyProvider | The ILambdaFinalizerDependencyProvider instance. |
Methods
CreateDeploymentAsync(FinalizerProperties, CancellationToken)
The CreateDeploymentAsync(FinalizerProperties, CancellationToken) method is invoked when the LambdaSharp module is first created.
Declaration
public virtual async Task CreateDeploymentAsync(FinalizerProperties request, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
FinalizerProperties | request | The FinalizerProperties instance with the new deployment information. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | The task object representing the asynchronous operation. |
DeleteDeploymentAsync(FinalizerProperties, CancellationToken)
The CreateDeploymentAsync(FinalizerProperties, CancellationToken) method is invoked when the LambdaSharp module is being torn down.
Declaration
public virtual async Task DeleteDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
FinalizerProperties | current | The FinalizerProperties instance with the current deployment information. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | The task object representing the asynchronous operation. |
ProcessCreateResourceAsync(Request<FinalizerProperties>, CancellationToken)
The ProcessCreateResourceAsync(Request<FinalizerProperties>, CancellationToken) method is invoked when AWS CloudFormation attempts to create a custom resource.
Declaration
public sealed override async Task<Response<FinalizerAttributes>> ProcessCreateResourceAsync(Request<FinalizerProperties> request, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
Request<FinalizerProperties> | request | The CloudFormation request instance. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<Response<FinalizerAttributes>> | The task object representing the asynchronous operation. |
Overrides
Remarks
This method cannot be overridden.
ProcessDeleteResourceAsync(Request<FinalizerProperties>, CancellationToken)
The ProcessDeleteResourceAsync(Request<FinalizerProperties>, CancellationToken) method is invoked when AWS CloudFormation attempts to delete a custom resource.
Declaration
public sealed override async Task<Response<FinalizerAttributes>> ProcessDeleteResourceAsync(Request<FinalizerProperties> request, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
Request<FinalizerProperties> | request | The CloudFormation request instance. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<Response<FinalizerAttributes>> | The task object representing the asynchronous operation. |
Overrides
Remarks
This method cannot be overridden.
ProcessUpdateResourceAsync(Request<FinalizerProperties>, CancellationToken)
The ProcessUpdateResourceAsync(Request<FinalizerProperties>, CancellationToken) method is invoked when AWS CloudFormation attempts to update a custom resource.
Declaration
public sealed override async Task<Response<FinalizerAttributes>> ProcessUpdateResourceAsync(Request<FinalizerProperties> request, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
Request<FinalizerProperties> | request | The CloudFormation request instance. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<Response<FinalizerAttributes>> | The task object representing the asynchronous operation. |
Overrides
Remarks
This method cannot be overridden.
UpdateDeploymentAsync(FinalizerProperties, FinalizerProperties, CancellationToken)
The CreateDeploymentAsync(FinalizerProperties, CancellationToken) method is invoked when the LambdaSharp module is being updated.
Declaration
public virtual async Task UpdateDeploymentAsync(FinalizerProperties current, FinalizerProperties previous, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
FinalizerProperties | current | The FinalizerProperties instance with the next deployment information. |
FinalizerProperties | previous | The FinalizerProperties instance with the previous deployment information. |
System.Threading.CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | The task object representing the asynchronous operation. |