Interface ProductStackProps

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

@Generated(value="jsii-pacmak/1.89.0 (build 2f74b3e)", date="2023-10-26T00:56:13.811Z") @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("user-defined-bucket-for-product-stack-assets")
         .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.

    • 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