Class: AWSCDK::S3::GrantReplicationPermissionProps

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

Overview

The properties for the destination bucket for granting replication permission.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destinations:, source_decryption_key: nil) ⇒ GrantReplicationPermissionProps

Returns a new instance of GrantReplicationPermissionProps.

Parameters:



9
10
11
12
13
14
# File 's3/grant_replication_permission_props.rb', line 9

def initialize(destinations:, source_decryption_key: nil)
  @destinations = destinations.is_a?(Array) ? destinations.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::S3::GrantReplicationPermissionDestinationProps.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : destinations
  Jsii::Type.check_type(@destinations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5HcmFudFJlcGxpY2F0aW9uUGVybWlzc2lvbkRlc3RpbmF0aW9uUHJvcHMifSwia2luZCI6ImFycmF5In19")), "destinations")
  @source_decryption_key = source_decryption_key
  Jsii::Type.check_type(@source_decryption_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "sourceDecryptionKey") unless @source_decryption_key.nil?
end

Instance Attribute Details

#destinationsArray<AWSCDK::S3::GrantReplicationPermissionDestinationProps> (readonly)

Note:

Default: - empty array (valid only if the replicationRole property is NOT specified)

The destination buckets for replication.

Specify the KMS key to use for encryption if a destination bucket needs to be encrypted with a customer-managed KMS key. One or more destination buckets are required if replication configuration is enabled (i.e., replication_role is specified).



23
24
25
# File 's3/grant_replication_permission_props.rb', line 23

def destinations
  @destinations
end

#source_decryption_keyAWSCDK::KMS::IKey? (readonly)

Note:

Default: - it's assumed the source bucket is not encrypted with a customer-managed KMS key.

The KMS key used to decrypt objects in the source bucket for replication.

Required if the source bucket is encrypted with a customer-managed KMS key.

Returns:



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

def source_decryption_key
  @source_decryption_key
end

Class Method Details

.jsii_propertiesObject



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

def self.jsii_properties
  {
    :destinations => "destinations",
    :source_decryption_key => "sourceDecryptionKey",
  }
end

Instance Method Details

#to_jsiiObject



39
40
41
42
43
44
45
46
# File 's3/grant_replication_permission_props.rb', line 39

def to_jsii
  result = {}
  result.merge!({
    "destinations" => @destinations,
    "sourceDecryptionKey" => @source_decryption_key,
  })
  result.compact
end