Class: AWSCDK::S3::CfnBucketProps

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

Overview

Properties for defining a CfnBucket.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(abac_status: nil, accelerate_configuration: nil, access_control: nil, analytics_configurations: nil, bucket_encryption: nil, bucket_name: nil, bucket_name_prefix: nil, bucket_namespace: nil, cors_configuration: nil, intelligent_tiering_configurations: nil, inventory_configurations: nil, lifecycle_configuration: nil, logging_configuration: nil, metadata_configuration: nil, metadata_table_configuration: nil, metrics_configurations: nil, notification_configuration: nil, object_lock_configuration: nil, object_lock_enabled: nil, ownership_controls: nil, public_access_block_configuration: nil, replication_configuration: nil, tags: nil, versioning_configuration: nil, website_configuration: nil) ⇒ CfnBucketProps

Returns a new instance of CfnBucketProps.

Parameters:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 's3/cfn_bucket_props.rb', line 34

def initialize(abac_status: nil, accelerate_configuration: nil, access_control: nil, analytics_configurations: nil, bucket_encryption: nil, bucket_name: nil, bucket_name_prefix: nil, bucket_namespace: nil, cors_configuration: nil, intelligent_tiering_configurations: nil, inventory_configurations: nil, lifecycle_configuration: nil, logging_configuration: nil, metadata_configuration: nil, metadata_table_configuration: nil, metrics_configurations: nil, notification_configuration: nil, object_lock_configuration: nil, object_lock_enabled: nil, ownership_controls: nil, public_access_block_configuration: nil, replication_configuration: nil, tags: nil, versioning_configuration: nil, website_configuration: nil)
  @abac_status = abac_status
  Jsii::Type.check_type(@abac_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "abacStatus") unless @abac_status.nil?
  @accelerate_configuration = accelerate_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::AccelerateConfigurationProperty.new(**accelerate_configuration.transform_keys(&:to_sym)) : accelerate_configuration
  Jsii::Type.check_type(@accelerate_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuQWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "accelerateConfiguration") unless @accelerate_configuration.nil?
  @access_control = access_control
  Jsii::Type.check_type(@access_control, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accessControl") unless @access_control.nil?
  @analytics_configurations = analytics_configurations
  Jsii::Type.check_type(@analytics_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQ2ZuQnVja2V0LkFuYWx5dGljc0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "analyticsConfigurations") unless @analytics_configurations.nil?
  @bucket_encryption = bucket_encryption.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::BucketEncryptionProperty.new(**bucket_encryption.transform_keys(&:to_sym)) : bucket_encryption
  Jsii::Type.check_type(@bucket_encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuQnVja2V0RW5jcnlwdGlvblByb3BlcnR5In1dfX0=")), "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?
  @bucket_name_prefix = bucket_name_prefix
  Jsii::Type.check_type(@bucket_name_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketNamePrefix") unless @bucket_name_prefix.nil?
  @bucket_namespace = bucket_namespace
  Jsii::Type.check_type(@bucket_namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketNamespace") unless @bucket_namespace.nil?
  @cors_configuration = cors_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::CorsConfigurationProperty.new(**cors_configuration.transform_keys(&:to_sym)) : cors_configuration
  Jsii::Type.check_type(@cors_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuQ29yc0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "corsConfiguration") unless @cors_configuration.nil?
  @intelligent_tiering_configurations = intelligent_tiering_configurations
  Jsii::Type.check_type(@intelligent_tiering_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQ2ZuQnVja2V0LkludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "intelligentTieringConfigurations") unless @intelligent_tiering_configurations.nil?
  @inventory_configurations = inventory_configurations
  Jsii::Type.check_type(@inventory_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQ2ZuQnVja2V0LkludmVudG9yeUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "inventoryConfigurations") unless @inventory_configurations.nil?
  @lifecycle_configuration = lifecycle_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::LifecycleConfigurationProperty.new(**lifecycle_configuration.transform_keys(&:to_sym)) : lifecycle_configuration
  Jsii::Type.check_type(@lifecycle_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuTGlmZWN5Y2xlQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "lifecycleConfiguration") unless @lifecycle_configuration.nil?
  @logging_configuration = logging_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::LoggingConfigurationProperty.new(**logging_configuration.transform_keys(&:to_sym)) : logging_configuration
  Jsii::Type.check_type(@logging_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuTG9nZ2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "loggingConfiguration") unless @logging_configuration.nil?
  @metadata_configuration = .is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::MetadataConfigurationProperty.new(**.transform_keys(&:to_sym)) : 
  Jsii::Type.check_type(@metadata_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuTWV0YWRhdGFDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "metadataConfiguration") unless @metadata_configuration.nil?
  @metadata_table_configuration = .is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::MetadataTableConfigurationProperty.new(**.transform_keys(&:to_sym)) : 
  Jsii::Type.check_type(@metadata_table_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuTWV0YWRhdGFUYWJsZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "metadataTableConfiguration") unless @metadata_table_configuration.nil?
  @metrics_configurations = metrics_configurations
  Jsii::Type.check_type(@metrics_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQ2ZuQnVja2V0Lk1ldHJpY3NDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "metricsConfigurations") unless @metrics_configurations.nil?
  @notification_configuration = notification_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::NotificationConfigurationProperty.new(**notification_configuration.transform_keys(&:to_sym)) : notification_configuration
  Jsii::Type.check_type(@notification_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "notificationConfiguration") unless @notification_configuration.nil?
  @object_lock_configuration = object_lock_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::ObjectLockConfigurationProperty.new(**object_lock_configuration.transform_keys(&:to_sym)) : object_lock_configuration
  Jsii::Type.check_type(@object_lock_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuT2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "objectLockConfiguration") unless @object_lock_configuration.nil?
  @object_lock_enabled = object_lock_enabled
  Jsii::Type.check_type(@object_lock_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "objectLockEnabled") unless @object_lock_enabled.nil?
  @ownership_controls = ownership_controls.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::OwnershipControlsProperty.new(**ownership_controls.transform_keys(&:to_sym)) : ownership_controls
  Jsii::Type.check_type(@ownership_controls, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuT3duZXJzaGlwQ29udHJvbHNQcm9wZXJ0eSJ9XX19")), "ownershipControls") unless @ownership_controls.nil?
  @public_access_block_configuration = public_access_block_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::PublicAccessBlockConfigurationProperty.new(**public_access_block_configuration.transform_keys(&:to_sym)) : public_access_block_configuration
  Jsii::Type.check_type(@public_access_block_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuUHVibGljQWNjZXNzQmxvY2tDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "publicAccessBlockConfiguration") unless @public_access_block_configuration.nil?
  @replication_configuration = replication_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::ReplicationConfigurationProperty.new(**replication_configuration.transform_keys(&:to_sym)) : replication_configuration
  Jsii::Type.check_type(@replication_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuUmVwbGljYXRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "replicationConfiguration") unless @replication_configuration.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?
  @versioning_configuration = versioning_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::VersioningConfigurationProperty.new(**versioning_configuration.transform_keys(&:to_sym)) : versioning_configuration
  Jsii::Type.check_type(@versioning_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuVmVyc2lvbmluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "versioningConfiguration") unless @versioning_configuration.nil?
  @website_configuration = website_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnBucket::WebsiteConfigurationProperty.new(**website_configuration.transform_keys(&:to_sym)) : website_configuration
  Jsii::Type.check_type(@website_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5CdWNrZXQuV2Vic2l0ZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "websiteConfiguration") unless @website_configuration.nil?
end

Instance Attribute Details

#abac_statusString? (readonly)

The ABAC status of the general purpose bucket.

When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see Using tags with S3 general purpose buckets .



93
94
95
# File 's3/cfn_bucket_props.rb', line 93

def abac_status
  @abac_status
end

#accelerate_configurationAWSCDK::IResolvable, ... (readonly)

Configures the transfer acceleration state for an Amazon S3 bucket.

For more information, see Amazon S3 Transfer Acceleration in the Amazon S3 User Guide .



100
101
102
# File 's3/cfn_bucket_props.rb', line 100

def accelerate_configuration
  @accelerate_configuration
end

#access_controlString? (readonly)

This is a legacy property, and it is not recommended for most use cases.

A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see Controlling object ownership in the Amazon S3 User Guide .

A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see Canned ACL in the Amazon S3 User Guide .

S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the AWS::S3::OwnershipControls property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.

The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see AWS::S3::BucketPolicy . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see Bucket policy examples in the Amazon S3 User Guide .



113
114
115
# File 's3/cfn_bucket_props.rb', line 113

def access_control
  @access_control
end

#analytics_configurationsAWSCDK::IResolvable, ... (readonly)

Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.



118
119
120
# File 's3/cfn_bucket_props.rb', line 118

def analytics_configurations
  @analytics_configurations
end

#bucket_encryptionAWSCDK::IResolvable, ... (readonly)

Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS).

For information about the Amazon S3 default encryption feature, see Amazon S3 Default Encryption for S3 Buckets in the Amazon S3 User Guide .



125
126
127
# File 's3/cfn_bucket_props.rb', line 125

def bucket_encryption
  @bucket_encryption
end

#bucket_nameString? (readonly)

A name for the bucket.

If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow Amazon S3 bucket restrictions and limitations . For more information, see Rules for naming Amazon S3 buckets 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.



134
135
136
# File 's3/cfn_bucket_props.rb', line 134

def bucket_name
  @bucket_name
end

#bucket_name_prefixString? (readonly)



137
138
139
# File 's3/cfn_bucket_props.rb', line 137

def bucket_name_prefix
  @bucket_name_prefix
end

#bucket_namespaceString? (readonly)



140
141
142
# File 's3/cfn_bucket_props.rb', line 140

def bucket_namespace
  @bucket_namespace
end

#cors_configurationAWSCDK::IResolvable, ... (readonly)

Describes the cross-origin access configuration for objects in an Amazon S3 bucket.

For more information, see Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide .



147
148
149
# File 's3/cfn_bucket_props.rb', line 147

def cors_configuration
  @cors_configuration
end

#intelligent_tiering_configurationsAWSCDK::IResolvable, ... (readonly)

Defines how Amazon S3 handles Intelligent-Tiering storage.



152
153
154
# File 's3/cfn_bucket_props.rb', line 152

def intelligent_tiering_configurations
  @intelligent_tiering_configurations
end

#inventory_configurationsAWSCDK::IResolvable, ... (readonly)

Specifies the S3 Inventory configuration for an Amazon S3 bucket.

For more information, see GET Bucket inventory in the Amazon S3 API Reference .



159
160
161
# File 's3/cfn_bucket_props.rb', line 159

def inventory_configurations
  @inventory_configurations
end

#lifecycle_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the lifecycle configuration for objects in an Amazon S3 bucket.

For more information, see Object Lifecycle Management in the Amazon S3 User Guide .



166
167
168
# File 's3/cfn_bucket_props.rb', line 166

def lifecycle_configuration
  @lifecycle_configuration
end

#logging_configurationAWSCDK::IResolvable, ... (readonly)

Settings that define where logs are stored.



171
172
173
# File 's3/cfn_bucket_props.rb', line 171

def logging_configuration
  @logging_configuration
end

#metadata_configurationAWSCDK::IResolvable, ... (readonly)

The S3 Metadata configuration for a general purpose bucket.



176
177
178
# File 's3/cfn_bucket_props.rb', line 176

def 
  @metadata_configuration
end

#metadata_table_configurationAWSCDK::IResolvable, ... (readonly)

The metadata table configuration of an Amazon S3 general purpose bucket.



181
182
183
# File 's3/cfn_bucket_props.rb', line 181

def 
  @metadata_table_configuration
end

#metrics_configurationsAWSCDK::IResolvable, ... (readonly)

Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket.

If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see PutBucketMetricsConfiguration .



188
189
190
# File 's3/cfn_bucket_props.rb', line 188

def metrics_configurations
  @metrics_configurations
end

#notification_configurationAWSCDK::IResolvable, ... (readonly)

Configuration that defines how Amazon S3 handles bucket notifications.



193
194
195
# File 's3/cfn_bucket_props.rb', line 193

def notification_configuration
  @notification_configuration
end

#object_lock_configurationAWSCDK::IResolvable, ... (readonly)

This operation is not supported for directory buckets.

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects .

  • The DefaultRetention settings require both a mode and a period.
  • The DefaultRetention period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.
  • You can enable Object Lock for new or existing buckets. For more information, see Configuring Object Lock . > You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt , containing two spaces after my , you must URL encode this value to my%20%20file.txt .


204
205
206
# File 's3/cfn_bucket_props.rb', line 204

def object_lock_configuration
  @object_lock_configuration
end

#object_lock_enabledBoolean, ... (readonly)

Indicates whether this bucket has an Object Lock configuration enabled.

Enable ObjectLockEnabled when you apply ObjectLockConfiguration to a bucket.



211
212
213
# File 's3/cfn_bucket_props.rb', line 211

def object_lock_enabled
  @object_lock_enabled
end

#ownership_controlsAWSCDK::IResolvable, ... (readonly)

Configuration that defines how Amazon S3 handles Object Ownership rules.



216
217
218
# File 's3/cfn_bucket_props.rb', line 216

def ownership_controls
  @ownership_controls
end

#public_access_block_configurationAWSCDK::IResolvable, ... (readonly)

Configuration that defines how Amazon S3 handles public access.



221
222
223
# File 's3/cfn_bucket_props.rb', line 221

def public_access_block_configuration
  @public_access_block_configuration
end

#replication_configurationAWSCDK::IResolvable, ... (readonly)

Configuration for replicating objects in an S3 bucket.

To enable replication, you must also enable versioning by using the VersioningConfiguration property.

Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.



230
231
232
# File 's3/cfn_bucket_props.rb', line 230

def replication_configuration
  @replication_configuration
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An arbitrary set of tags (key-value pairs) for this S3 bucket.



235
236
237
# File 's3/cfn_bucket_props.rb', line 235

def tags
  @tags
end

#versioning_configurationAWSCDK::IResolvable, ... (readonly)

Enables multiple versions of all objects in this bucket.

You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.

When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations ( PUT or DELETE ) on objects in the bucket.



244
245
246
# File 's3/cfn_bucket_props.rb', line 244

def versioning_configuration
  @versioning_configuration
end

#website_configurationAWSCDK::IResolvable, ... (readonly)

Information used to configure the bucket as a static website.

For more information, see Hosting Websites on Amazon S3 .



251
252
253
# File 's3/cfn_bucket_props.rb', line 251

def website_configuration
  @website_configuration
end

Class Method Details

.jsii_propertiesObject



253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
# File 's3/cfn_bucket_props.rb', line 253

def self.jsii_properties
  {
    :abac_status => "abacStatus",
    :accelerate_configuration => "accelerateConfiguration",
    :access_control => "accessControl",
    :analytics_configurations => "analyticsConfigurations",
    :bucket_encryption => "bucketEncryption",
    :bucket_name => "bucketName",
    :bucket_name_prefix => "bucketNamePrefix",
    :bucket_namespace => "bucketNamespace",
    :cors_configuration => "corsConfiguration",
    :intelligent_tiering_configurations => "intelligentTieringConfigurations",
    :inventory_configurations => "inventoryConfigurations",
    :lifecycle_configuration => "lifecycleConfiguration",
    :logging_configuration => "loggingConfiguration",
    :metadata_configuration => "metadataConfiguration",
    :metadata_table_configuration => "metadataTableConfiguration",
    :metrics_configurations => "metricsConfigurations",
    :notification_configuration => "notificationConfiguration",
    :object_lock_configuration => "objectLockConfiguration",
    :object_lock_enabled => "objectLockEnabled",
    :ownership_controls => "ownershipControls",
    :public_access_block_configuration => "publicAccessBlockConfiguration",
    :replication_configuration => "replicationConfiguration",
    :tags => "tags",
    :versioning_configuration => "versioningConfiguration",
    :website_configuration => "websiteConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 's3/cfn_bucket_props.rb', line 283

def to_jsii
  result = {}
  result.merge!({
    "abacStatus" => @abac_status,
    "accelerateConfiguration" => @accelerate_configuration,
    "accessControl" => @access_control,
    "analyticsConfigurations" => @analytics_configurations,
    "bucketEncryption" => @bucket_encryption,
    "bucketName" => @bucket_name,
    "bucketNamePrefix" => @bucket_name_prefix,
    "bucketNamespace" => @bucket_namespace,
    "corsConfiguration" => @cors_configuration,
    "intelligentTieringConfigurations" => @intelligent_tiering_configurations,
    "inventoryConfigurations" => @inventory_configurations,
    "lifecycleConfiguration" => @lifecycle_configuration,
    "loggingConfiguration" => @logging_configuration,
    "metadataConfiguration" => @metadata_configuration,
    "metadataTableConfiguration" => @metadata_table_configuration,
    "metricsConfigurations" => @metrics_configurations,
    "notificationConfiguration" => @notification_configuration,
    "objectLockConfiguration" => @object_lock_configuration,
    "objectLockEnabled" => @object_lock_enabled,
    "ownershipControls" => @ownership_controls,
    "publicAccessBlockConfiguration" => @public_access_block_configuration,
    "replicationConfiguration" => @replication_configuration,
    "tags" => @tags,
    "versioningConfiguration" => @versioning_configuration,
    "websiteConfiguration" => @website_configuration,
  })
  result.compact
end