Class: AWSCDK::Config::CfnDeliveryChannelProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
config/cfn_delivery_channel_props.rb

Overview

Properties for defining a CfnDeliveryChannel.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(s3_bucket_name:, config_snapshot_delivery_properties: nil, name: nil, s3_key_prefix: nil, s3_kms_key_arn: nil, sns_topic_arn: nil) ⇒ CfnDeliveryChannelProps

Returns a new instance of CfnDeliveryChannelProps.

Parameters:

  • s3_bucket_name (String)

    The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

  • config_snapshot_delivery_properties (AWSCDK::IResolvable, AWSCDK::Config::CfnDeliveryChannel::ConfigSnapshotDeliveryPropertiesProperty, nil) (defaults to: nil)

    The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.

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

    A name for the delivery channel.

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

    The prefix for the specified Amazon S3 bucket.

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

    The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config .

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

    The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'config/cfn_delivery_channel_props.rb', line 15

def initialize(s3_bucket_name:, config_snapshot_delivery_properties: nil, name: nil, s3_key_prefix: nil, s3_kms_key_arn: nil, sns_topic_arn: nil)
  @s3_bucket_name = s3_bucket_name
  Jsii::Type.check_type(@s3_bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3BucketName")
  @config_snapshot_delivery_properties = config_snapshot_delivery_properties.is_a?(Hash) ? ::AWSCDK::Config::CfnDeliveryChannel::ConfigSnapshotDeliveryPropertiesProperty.new(**config_snapshot_delivery_properties.transform_keys(&:to_sym)) : config_snapshot_delivery_properties
  Jsii::Type.check_type(@config_snapshot_delivery_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb25maWcuQ2ZuRGVsaXZlcnlDaGFubmVsLkNvbmZpZ1NuYXBzaG90RGVsaXZlcnlQcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "configSnapshotDeliveryProperties") unless @config_snapshot_delivery_properties.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @s3_key_prefix = s3_key_prefix
  Jsii::Type.check_type(@s3_key_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3KeyPrefix") unless @s3_key_prefix.nil?
  @s3_kms_key_arn = s3_kms_key_arn
  Jsii::Type.check_type(@s3_kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3KmsKeyArn") unless @s3_kms_key_arn.nil?
  @sns_topic_arn = sns_topic_arn
  Jsii::Type.check_type(@sns_topic_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snsTopicArn") unless @sns_topic_arn.nil?
end

Instance Attribute Details

#config_snapshot_delivery_propertiesAWSCDK::IResolvable, ... (readonly)

The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.



41
42
43
# File 'config/cfn_delivery_channel_props.rb', line 41

def config_snapshot_delivery_properties
  @config_snapshot_delivery_properties
end

#nameString? (readonly)

A name for the delivery channel.

If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see Name Type .

Updates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.



50
51
52
# File 'config/cfn_delivery_channel_props.rb', line 50

def name
  @name
end

#s3_bucket_nameString (readonly)

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide .



36
37
38
# File 'config/cfn_delivery_channel_props.rb', line 36

def s3_bucket_name
  @s3_bucket_name
end

#s3_key_prefixString? (readonly)

The prefix for the specified Amazon S3 bucket.



55
56
57
# File 'config/cfn_delivery_channel_props.rb', line 55

def s3_key_prefix
  @s3_key_prefix
end

#s3_kms_key_arnString? (readonly)

The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config .

Must belong to the same Region as the destination S3 bucket.



62
63
64
# File 'config/cfn_delivery_channel_props.rb', line 62

def s3_kms_key_arn
  @s3_kms_key_arn
end

#sns_topic_arnString? (readonly)

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide .



69
70
71
# File 'config/cfn_delivery_channel_props.rb', line 69

def sns_topic_arn
  @sns_topic_arn
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
# File 'config/cfn_delivery_channel_props.rb', line 71

def self.jsii_properties
  {
    :s3_bucket_name => "s3BucketName",
    :config_snapshot_delivery_properties => "configSnapshotDeliveryProperties",
    :name => "name",
    :s3_key_prefix => "s3KeyPrefix",
    :s3_kms_key_arn => "s3KmsKeyArn",
    :sns_topic_arn => "snsTopicArn",
  }
end

Instance Method Details

#to_jsiiObject



82
83
84
85
86
87
88
89
90
91
92
93
# File 'config/cfn_delivery_channel_props.rb', line 82

def to_jsii
  result = {}
  result.merge!({
    "s3BucketName" => @s3_bucket_name,
    "configSnapshotDeliveryProperties" => @config_snapshot_delivery_properties,
    "name" => @name,
    "s3KeyPrefix" => @s3_key_prefix,
    "s3KmsKeyArn" => @s3_kms_key_arn,
    "snsTopicArn" => @sns_topic_arn,
  })
  result.compact
end