Class: AWSCDK::ServiceCatalog::ProductStackProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
service_catalog/product_stack_props.rb

Overview

Product stack props.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(analytics_reporting: nil, asset_bucket: nil, description: nil, memory_limit: nil, server_side_encryption: nil, server_side_encryption_aws_kms_key_id: nil) ⇒ ProductStackProps

Returns a new instance of ProductStackProps.

Parameters:

  • analytics_reporting (Boolean, nil) (defaults to: nil)

    Include runtime versioning information in this Stack.

  • asset_bucket (AWSCDK::S3::IBucket, nil) (defaults to: nil)

    A Bucket can be passed to store assets, enabling ProductStack Asset support.

  • description (String, nil) (defaults to: nil)

    A description of the stack.

  • memory_limit (Numeric, nil) (defaults to: nil)

    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.

  • server_side_encryption (AWSCDK::S3Deployment::ServerSideEncryption, nil) (defaults to: nil)

    A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket.

  • server_side_encryption_aws_kms_key_id (String, nil) (defaults to: nil)

    For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'service_catalog/product_stack_props.rb', line 13

def initialize(analytics_reporting: nil, asset_bucket: nil, description: nil, memory_limit: nil, server_side_encryption: nil, server_side_encryption_aws_kms_key_id: nil)
  @analytics_reporting = analytics_reporting
  Jsii::Type.check_type(@analytics_reporting, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "analyticsReporting") unless @analytics_reporting.nil?
  @asset_bucket = asset_bucket
  Jsii::Type.check_type(@asset_bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "assetBucket") unless @asset_bucket.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @memory_limit = memory_limit
  Jsii::Type.check_type(@memory_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "memoryLimit") unless @memory_limit.nil?
  @server_side_encryption = server_side_encryption
  Jsii::Type.check_type(@server_side_encryption, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczNfZGVwbG95bWVudC5TZXJ2ZXJTaWRlRW5jcnlwdGlvbiJ9")), "serverSideEncryption") unless @server_side_encryption.nil?
  @server_side_encryption_aws_kms_key_id = server_side_encryption_aws_kms_key_id
  Jsii::Type.check_type(@server_side_encryption_aws_kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverSideEncryptionAwsKmsKeyId") unless @server_side_encryption_aws_kms_key_id.nil?
end

Instance Attribute Details

#analytics_reportingBoolean? (readonly)

Note:

Default: - analyticsReporting setting of containing App, or value of 'aws:cdk:version-reporting' context key

Include runtime versioning information in this Stack.

Returns:

  • (Boolean, nil)


32
33
34
# File 'service_catalog/product_stack_props.rb', line 32

def analytics_reporting
  @analytics_reporting
end

#asset_bucketAWSCDK::S3::IBucket? (readonly)

Note:

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

A Bucket can be passed to store assets, enabling ProductStack Asset support.

Returns:



37
38
39
# File 'service_catalog/product_stack_props.rb', line 37

def asset_bucket
  @asset_bucket
end

#descriptionString? (readonly)

Note:

Default: - No description.

A description of the stack.

Returns:

  • (String, nil)


42
43
44
# File 'service_catalog/product_stack_props.rb', line 42

def description
  @description
end

#memory_limitNumeric? (readonly)

Note:

Default: 128

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.

Returns:

  • (Numeric, nil)


50
51
52
# File 'service_catalog/product_stack_props.rb', line 50

def memory_limit
  @memory_limit
end

#server_side_encryptionAWSCDK::S3Deployment::ServerSideEncryption? (readonly)

Note:

Default: - No encryption is used

A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket.



55
56
57
# File 'service_catalog/product_stack_props.rb', line 55

def server_side_encryption
  @server_side_encryption
end

#server_side_encryption_aws_kms_key_idString? (readonly)

Note:

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

For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets.

Returns:

  • (String, nil)


60
61
62
# File 'service_catalog/product_stack_props.rb', line 60

def server_side_encryption_aws_kms_key_id
  @server_side_encryption_aws_kms_key_id
end

Class Method Details

.jsii_propertiesObject



62
63
64
65
66
67
68
69
70
71
# File 'service_catalog/product_stack_props.rb', line 62

def self.jsii_properties
  {
    :analytics_reporting => "analyticsReporting",
    :asset_bucket => "assetBucket",
    :description => "description",
    :memory_limit => "memoryLimit",
    :server_side_encryption => "serverSideEncryption",
    :server_side_encryption_aws_kms_key_id => "serverSideEncryptionAwsKmsKeyId",
  }
end

Instance Method Details

#to_jsiiObject



73
74
75
76
77
78
79
80
81
82
83
84
# File 'service_catalog/product_stack_props.rb', line 73

def to_jsii
  result = {}
  result.merge!({
    "analyticsReporting" => @analytics_reporting,
    "assetBucket" => @asset_bucket,
    "description" => @description,
    "memoryLimit" => @memory_limit,
    "serverSideEncryption" => @server_side_encryption,
    "serverSideEncryptionAwsKmsKeyId" => @server_side_encryption_aws_kms_key_id,
  })
  result.compact
end