Class: AWSCDK::S3::GrantReplicationPermissionProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::S3::GrantReplicationPermissionProps
- Defined in:
- s3/grant_replication_permission_props.rb
Overview
The properties for the destination bucket for granting replication permission.
Instance Attribute Summary collapse
-
#destinations ⇒ Array<AWSCDK::S3::GrantReplicationPermissionDestinationProps>
readonly
The destination buckets for replication.
-
#source_decryption_key ⇒ AWSCDK::KMS::IKey?
readonly
The KMS key used to decrypt objects in the source bucket for replication.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(destinations:, source_decryption_key: nil) ⇒ GrantReplicationPermissionProps
constructor
A new instance of GrantReplicationPermissionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(destinations:, source_decryption_key: nil) ⇒ GrantReplicationPermissionProps
Returns a new instance of GrantReplicationPermissionProps.
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
#destinations ⇒ Array<AWSCDK::S3::GrantReplicationPermissionDestinationProps> (readonly)
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_key ⇒ AWSCDK::KMS::IKey? (readonly)
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.
30 31 32 |
# File 's3/grant_replication_permission_props.rb', line 30 def source_decryption_key @source_decryption_key end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |