Class: AWSCDK::S3Express::CfnDirectoryBucketProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3_express/cfn_directory_bucket_props.rb

Overview

Properties for defining a CfnDirectoryBucket.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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.

Parameters:



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 = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#bucket_encryptionAWSCDK::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_nameString? (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_redundancyString (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_configurationsAWSCDK::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_configurationAWSCDK::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_nameString (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_configurationsAWSCDK::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

#tagsArray<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
  @tags
end

Class Method Details

.jsii_propertiesObject



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_jsiiObject



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