@Stability(value=Stable) public static final class AwsCustomResource.Builder extends Object implements software.amazon.jsii.Builder<AwsCustomResource>
AwsCustomResource.| Modifier and Type | Method and Description |
|---|---|
AwsCustomResource |
build() |
static AwsCustomResource.Builder |
create(software.constructs.Construct scope,
String id) |
AwsCustomResource.Builder |
functionName(String functionName)
A name for the singleton Lambda function implementing this custom resource.
|
AwsCustomResource.Builder |
installLatestAwsSdk(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(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.
|
AwsCustomResource.Builder |
vpc(IVpc vpc)
The vpc to provision the lambda function in.
|
AwsCustomResource.Builder |
vpcSubnets(SubnetSelection vpcSubnets)
Which subnets from the VPC to place the lambda function in.
|
@Stability(value=Stable) public static AwsCustomResource.Builder create(software.constructs.Construct scope, String id)
scope - This parameter is required.id - This parameter is required.AwsCustomResource.Builder.@Stability(value=Stable) public AwsCustomResource.Builder functionName(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@Stability(value=Stable) public AwsCustomResource.Builder installLatestAwsSdk(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@Stability(value=Stable) 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@Stability(value=Stable) 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@Stability(value=Stable) 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@Stability(value=Stable) 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@Stability(value=Stable) 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.
Note that a policy must be specified if role is not provided, as
by default a new role is created which requires policy changes to access
resources.
Default: - no policy added
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@Stability(value=Stable) public AwsCustomResource.Builder resourceType(String resourceType)
Default: - Custom::AWS
resourceType - Cloudformation Resource type. This parameter is required.this@Stability(value=Stable) 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@Stability(value=Stable) 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@Stability(value=Stable) public AwsCustomResource.Builder vpc(IVpc vpc)
Default: - the function is not provisioned inside a vpc.
vpc - The vpc to provision the lambda function in. This parameter is required.this@Stability(value=Stable) public AwsCustomResource.Builder vpcSubnets(SubnetSelection vpcSubnets)
Only used if 'vpc' is supplied. Note: internet access for Lambdas requires a NAT gateway, so picking Public subnets is not allowed.
Default: - the Vpc default strategy if not specified
vpcSubnets - Which subnets from the VPC to place the lambda function in. This parameter is required.this@Stability(value=Stable) public AwsCustomResource build()
build in interface software.amazon.jsii.Builder<AwsCustomResource>Copyright © 2022. All rights reserved.