Class: AWSCDK::S3Express::CfnDirectoryBucketProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::S3Express::CfnDirectoryBucketProps
- Defined in:
- s3_express/cfn_directory_bucket_props.rb
Overview
Properties for defining a CfnDirectoryBucket.
Instance Attribute Summary collapse
-
#bucket_encryption ⇒ AWSCDK::IResolvable, ...
readonly
Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
-
#bucket_name ⇒ String?
readonly
A name for the bucket.
-
#data_redundancy ⇒ String
readonly
The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.
-
#inventory_configurations ⇒ AWSCDK::IResolvable, ...
readonly
The inventory configuration for an Amazon S3 Express bucket.
-
#lifecycle_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Container for lifecycle rules.
-
#location_name ⇒ String
readonly
The name of the location where the bucket will be created.
-
#metrics_configurations ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the metrics configurations for the Amazon S3 Express bucket.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of tags that you can apply to the S3 directory bucket.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(data_redundancy:, location_name:, bucket_encryption: nil, bucket_name: nil, inventory_configurations: nil, lifecycle_configuration: nil, metrics_configurations: nil, tags: nil) ⇒ CfnDirectoryBucketProps
constructor
A new instance of CfnDirectoryBucketProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(data_redundancy:, location_name:, bucket_encryption: nil, bucket_name: nil, inventory_configurations: nil, lifecycle_configuration: nil, metrics_configurations: nil, tags: nil) ⇒ CfnDirectoryBucketProps
Returns a new instance of CfnDirectoryBucketProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 's3_express/cfn_directory_bucket_props.rb', line 17 def initialize(data_redundancy:, location_name:, bucket_encryption: nil, bucket_name: nil, inventory_configurations: nil, lifecycle_configuration: nil, metrics_configurations: nil, tags: nil) @data_redundancy = data_redundancy Jsii::Type.check_type(@data_redundancy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataRedundancy") @location_name = location_name Jsii::Type.check_type(@location_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "locationName") @bucket_encryption = bucket_encryption.is_a?(Hash) ? ::AWSCDK::S3Express::CfnDirectoryBucket::BucketEncryptionProperty.new(**bucket_encryption.transform_keys(&:to_sym)) : bucket_encryption Jsii::Type.check_type(@bucket_encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM2V4cHJlc3MuQ2ZuRGlyZWN0b3J5QnVja2V0LkJ1Y2tldEVuY3J5cHRpb25Qcm9wZXJ0eSJ9XX19")), "bucketEncryption") unless @bucket_encryption.nil? @bucket_name = bucket_name Jsii::Type.check_type(@bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketName") unless @bucket_name.nil? @inventory_configurations = inventory_configurations Jsii::Type.check_type(@inventory_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczNleHByZXNzLkNmbkRpcmVjdG9yeUJ1Y2tldC5JbnZlbnRvcnlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "inventoryConfigurations") unless @inventory_configurations.nil? @lifecycle_configuration = lifecycle_configuration.is_a?(Hash) ? ::AWSCDK::S3Express::CfnDirectoryBucket::LifecycleConfigurationProperty.new(**lifecycle_configuration.transform_keys(&:to_sym)) : lifecycle_configuration Jsii::Type.check_type(@lifecycle_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM2V4cHJlc3MuQ2ZuRGlyZWN0b3J5QnVja2V0LkxpZmVjeWNsZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "lifecycleConfiguration") unless @lifecycle_configuration.nil? @metrics_configurations = metrics_configurations Jsii::Type.check_type(@metrics_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczNleHByZXNzLkNmbkRpcmVjdG9yeUJ1Y2tldC5NZXRyaWNzQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "metricsConfigurations") unless @metrics_configurations.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#bucket_encryption ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
For information about default encryption for directory buckets, see Setting and monitoring default encryption for directory buckets in the Amazon S3 User Guide .
54 55 56 |
# File 's3_express/cfn_directory_bucket_props.rb', line 54 def bucket_encryption @bucket_encryption end |
#bucket_name ⇒ String? (readonly)
A name for the bucket.
The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format *bucket_base_name* -- *zone_id* --x-s3 (for example, *bucket_base_name* -- *usw2-az1* --x-s3 ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide .
If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
63 64 65 |
# File 's3_express/cfn_directory_bucket_props.rb', line 63 def bucket_name @bucket_name end |
#data_redundancy ⇒ String (readonly)
The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.
40 41 42 |
# File 's3_express/cfn_directory_bucket_props.rb', line 40 def data_redundancy @data_redundancy end |
#inventory_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
The inventory configuration for an Amazon S3 Express bucket.
68 69 70 |
# File 's3_express/cfn_directory_bucket_props.rb', line 68 def inventory_configurations @inventory_configurations end |
#lifecycle_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Container for lifecycle rules. You can add as many as 1000 rules.
For more information see, Creating and managing a lifecycle configuration for directory buckets in the Amazon S3 User Guide .
75 76 77 |
# File 's3_express/cfn_directory_bucket_props.rb', line 75 def lifecycle_configuration @lifecycle_configuration end |
#location_name ⇒ String (readonly)
The name of the location where the bucket will be created.
For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is usw2-az1 .
47 48 49 |
# File 's3_express/cfn_directory_bucket_props.rb', line 47 def location_name @location_name end |
#metrics_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the metrics configurations for the Amazon S3 Express bucket.
80 81 82 |
# File 's3_express/cfn_directory_bucket_props.rb', line 80 def metrics_configurations @metrics_configurations end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of tags that you can apply to the S3 directory bucket.
Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. For more information, see Using tags with directory buckets .
87 88 89 |
# File 's3_express/cfn_directory_bucket_props.rb', line 87 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 |
# File 's3_express/cfn_directory_bucket_props.rb', line 89 def self.jsii_properties { :data_redundancy => "dataRedundancy", :location_name => "locationName", :bucket_encryption => "bucketEncryption", :bucket_name => "bucketName", :inventory_configurations => "inventoryConfigurations", :lifecycle_configuration => "lifecycleConfiguration", :metrics_configurations => "metricsConfigurations", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 's3_express/cfn_directory_bucket_props.rb', line 102 def to_jsii result = {} result.merge!({ "dataRedundancy" => @data_redundancy, "locationName" => @location_name, "bucketEncryption" => @bucket_encryption, "bucketName" => @bucket_name, "inventoryConfigurations" => @inventory_configurations, "lifecycleConfiguration" => @lifecycle_configuration, "metricsConfigurations" => @metrics_configurations, "tags" => @tags, }) result.compact end |