Class: AWSCDK::S3::BucketNotificationDestinationConfig

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3/bucket_notification_destination_config.rb

Overview

Represents the properties of a notification destination.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arn:, type:, dependencies: nil) ⇒ BucketNotificationDestinationConfig

Returns a new instance of BucketNotificationDestinationConfig.

Parameters:

  • arn (String)

    The ARN of the destination (i.e. Lambda, SNS, SQS).

  • type (AWSCDK::S3::BucketNotificationDestinationType)

    The notification type.

  • dependencies (Array<Constructs::IDependable>, nil) (defaults to: nil)

    Any additional dependencies that should be resolved before the bucket notification can be configured (for example, the SNS Topic Policy resource).



10
11
12
13
14
15
16
17
# File 's3/bucket_notification_destination_config.rb', line 10

def initialize(arn:, type:, dependencies: nil)
  @arn = arn
  Jsii::Type.check_type(@arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arn")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlIn0=")), "type")
  @dependencies = dependencies
  Jsii::Type.check_type(@dependencies, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImNvbnN0cnVjdHMuSURlcGVuZGFibGUifSwia2luZCI6ImFycmF5In19")), "dependencies") unless @dependencies.nil?
end

Instance Attribute Details

#arnString (readonly)

The ARN of the destination (i.e. Lambda, SNS, SQS).

Returns:

  • (String)


22
23
24
# File 's3/bucket_notification_destination_config.rb', line 22

def arn
  @arn
end

#dependenciesArray<Constructs::IDependable>? (readonly)

Any additional dependencies that should be resolved before the bucket notification can be configured (for example, the SNS Topic Policy resource).

Returns:

  • (Array<Constructs::IDependable>, nil)


30
31
32
# File 's3/bucket_notification_destination_config.rb', line 30

def dependencies
  @dependencies
end

#typeAWSCDK::S3::BucketNotificationDestinationType (readonly)

The notification type.



26
27
28
# File 's3/bucket_notification_destination_config.rb', line 26

def type
  @type
end

Class Method Details

.jsii_propertiesObject



32
33
34
35
36
37
38
# File 's3/bucket_notification_destination_config.rb', line 32

def self.jsii_properties
  {
    :arn => "arn",
    :type => "type",
    :dependencies => "dependencies",
  }
end

Instance Method Details

#to_jsiiObject



40
41
42
43
44
45
46
47
48
# File 's3/bucket_notification_destination_config.rb', line 40

def to_jsii
  result = {}
  result.merge!({
    "arn" => @arn,
    "type" => @type,
    "dependencies" => @dependencies,
  })
  result.compact
end