Interface ProductStackProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ProductStackProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-06T23:25:17.051Z") @Stability(Stable) public interface ProductStackProps extends software.amazon.jsii.JsiiSerializable
Product stack props.

Example:

 import software.amazon.awscdk.services.lambda.*;
 import software.amazon.awscdk.*;
 import software.amazon.awscdk.services.s3.Bucket;
 public class LambdaProduct extends ProductStack {
     public LambdaProduct(Construct scope, String id, ProductStackProps props) {
         super(scope, id, props);
         Function.Builder.create(this, "LambdaProduct")
                 .runtime(Runtime.PYTHON_3_9)
                 .code(Code.fromAsset("./assets"))
                 .handler("index.handler")
                 .build();
     }
 }
 Bucket userDefinedBucket = Bucket.Builder.create(this, "UserDefinedBucket")
         .bucketName("amzn-s3-demo-bucket")
         .build();
 CloudFormationProduct product = CloudFormationProduct.Builder.create(this, "Product")
         .productName("My Product")
         .owner("Product Owner")
         .productVersions(List.of(CloudFormationProductVersion.builder()
                 .productVersionName("v1")
                 .cloudFormationTemplate(CloudFormationTemplate.fromProductStack(LambdaProduct.Builder.create(this, "LambdaFunctionProduct")
                         .assetBucket(userDefinedBucket)
                         .build()))
                 .build()))
         .build();
 
  • Method Details

    • getAssetBucket

      @Stability(Stable) @Nullable default IBucket getAssetBucket()
      A Bucket can be passed to store assets, enabling ProductStack Asset support.

      Default: - No Bucket provided and Assets will not be supported.

    • getMemoryLimit

      @Stability(Stable) @Nullable default Number getMemoryLimit()
      The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket.

      If you are deploying large files, you will need to increase this number accordingly.

      Default: 128

    • getServerSideEncryption

      @Stability(Stable) @Nullable default ServerSideEncryption getServerSideEncryption()
      A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket.

      Default: - No encryption is used

    • getServerSideEncryptionAwsKmsKeyId

      @Stability(Stable) @Nullable default String getServerSideEncryptionAwsKmsKeyId()
      For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets.

      Default: - No KMS KeyId and SSE_KMS encryption cannot be used

    • builder

      @Stability(Stable) static ProductStackProps.Builder builder()
      Returns:
      a ProductStackProps.Builder of ProductStackProps