package awsservicecatalog import ( "github.com/aws/aws-cdk-go/awscdk/v2/awss3" "github.com/aws/aws-cdk-go/awscdk/v2/awss3deployment" ) // Product stack props. // // Example: // import "github.com/aws/aws-cdk-go/awscdk" // import cdk "github.com/aws/aws-cdk-go/awscdk" // import "github.com/aws/aws-cdk-go/awscdk" // // // type lambdaProduct struct { // productStack // } // // func newLambdaProduct(scope construct, id *string, props productStackProps) *lambdaProduct { // this := &lambdaProduct{} // servicecatalog.NewProductStack_Override(this, scope, id, props) // // lambda.NewFunction(this, jsii.String("LambdaProduct"), &FunctionProps{ // Runtime: lambda.Runtime_PYTHON_3_9(), // Code: lambda.Code_FromAsset(jsii.String("./assets")), // Handler: jsii.String("index.handler"), // }) // return this // } // // userDefinedBucket := awscdk.NewBucket(this, jsii.String("UserDefinedBucket"), &BucketProps{ // BucketName: jsii.String("user-defined-bucket-for-product-stack-assets"), // }) // // product := servicecatalog.NewCloudFormationProduct(this, jsii.String("Product"), &CloudFormationProductProps{ // ProductName: jsii.String("My Product"), // Owner: jsii.String("Product Owner"), // ProductVersions: []cloudFormationProductVersion{ // &cloudFormationProductVersion{ // ProductVersionName: jsii.String("v1"), // CloudFormationTemplate: servicecatalog.CloudFormationTemplate_FromProductStack(NewLambdaProduct(this, jsii.String("LambdaFunctionProduct"), &productStackProps{ // AssetBucket: userDefinedBucket, // })), // }, // }, // }) // type ProductStackProps struct { // A Bucket can be passed to store assets, enabling ProductStack Asset support. AssetBucket awss3.IBucket `field:"optional" json:"assetBucket" yaml:"assetBucket"` // A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket. ServerSideEncryption awss3deployment.ServerSideEncryption `field:"optional" json:"serverSideEncryption" yaml:"serverSideEncryption"` // For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets. ServerSideEncryptionAwsKmsKeyId *string `field:"optional" json:"serverSideEncryptionAwsKmsKeyId" yaml:"serverSideEncryptionAwsKmsKeyId"` }