public static final class AwsCustomResource.Builder
extends java.lang.Object
AwsCustomResource
.Modifier and Type | Method and Description |
---|---|
AwsCustomResource |
build() |
static AwsCustomResource.Builder |
create(software.constructs.Construct scope,
java.lang.String id) |
AwsCustomResource.Builder |
functionName(java.lang.String functionName)
A name for the singleton Lambda function implementing this custom resource.
|
AwsCustomResource.Builder |
installLatestAwsSdk(java.lang.Boolean installLatestAwsSdk)
Whether to install the latest AWS SDK v2.
|
AwsCustomResource.Builder |
logRetention(RetentionDays logRetention)
The number of days log events of the singleton Lambda function implementing this custom resource are kept in CloudWatch Logs.
|
AwsCustomResource.Builder |
onCreate(AwsSdkCall onCreate)
The AWS SDK call to make when the resource is created.
|
AwsCustomResource.Builder |
onDelete(AwsSdkCall onDelete)
The AWS SDK call to make when the resource is deleted.
|
AwsCustomResource.Builder |
onUpdate(AwsSdkCall onUpdate)
The AWS SDK call to make when the resource is updated.
|
AwsCustomResource.Builder |
policy(AwsCustomResourcePolicy policy)
The policy that will be added to the execution role of the Lambda function implementing this custom resource provider.
|
AwsCustomResource.Builder |
resourceType(java.lang.String resourceType)
Cloudformation Resource type.
|
AwsCustomResource.Builder |
role(IRole role)
The execution role for the singleton Lambda function implementing this custom resource provider.
|
AwsCustomResource.Builder |
timeout(Duration timeout)
The timeout for the singleton Lambda function implementing this custom resource.
|
public static AwsCustomResource.Builder create(software.constructs.Construct scope, java.lang.String id)
scope
- This parameter is required.id
- This parameter is required.AwsCustomResource.Builder
.public AwsCustomResource.Builder policy(AwsCustomResourcePolicy policy)
The custom resource also implements iam.IGrantable
, making it possible
to use the grantXxx()
methods.
As this custom resource uses a singleton Lambda function, it's important to note the that function's role will eventually accumulate the permissions/grants from all resources.
policy
- The policy that will be added to the execution role of the Lambda function implementing this custom resource provider. This parameter is required.this
Policy.fromSdkCalls
public AwsCustomResource.Builder functionName(java.lang.String functionName)
The function name will remain the same after the first AwsCustomResource is created in a stack.
Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
functionName
- A name for the singleton Lambda function implementing this custom resource. This parameter is required.this
public AwsCustomResource.Builder installLatestAwsSdk(java.lang.Boolean installLatestAwsSdk)
The installation takes around 60 seconds.
Default: true
installLatestAwsSdk
- Whether to install the latest AWS SDK v2. Allows to use the latest API calls documented at https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html. This parameter is required.this
public AwsCustomResource.Builder logRetention(RetentionDays logRetention)
Default: logs.RetentionDays.INFINITE
logRetention
- The number of days log events of the singleton Lambda function implementing this custom resource are kept in CloudWatch Logs. This parameter is required.this
public AwsCustomResource.Builder onCreate(AwsSdkCall onCreate)
Default: - the call when the resource is updated
onCreate
- The AWS SDK call to make when the resource is created. This parameter is required.this
public AwsCustomResource.Builder onDelete(AwsSdkCall onDelete)
Default: - no call
onDelete
- The AWS SDK call to make when the resource is deleted. This parameter is required.this
public AwsCustomResource.Builder onUpdate(AwsSdkCall onUpdate)
Default: - no call
onUpdate
- The AWS SDK call to make when the resource is updated. This parameter is required.this
public AwsCustomResource.Builder resourceType(java.lang.String resourceType)
Default: - Custom::AWS
resourceType
- Cloudformation Resource type. This parameter is required.this
public AwsCustomResource.Builder role(IRole role)
This role will apply to all AwsCustomResource
instances in the stack. The role must be assumable by the
lambda.amazonaws.com
service principal.
Default: - a new role is created
role
- The execution role for the singleton Lambda function implementing this custom resource provider. This parameter is required.this
public AwsCustomResource.Builder timeout(Duration timeout)
Default: Duration.minutes(2)
timeout
- The timeout for the singleton Lambda function implementing this custom resource. This parameter is required.this
public AwsCustomResource build()