AWS::S3::Bucket VersioningConfiguration
Describes the versioning state of an Amazon S3 bucket. For more information, see PUT Bucket versioning in the Amazon S3 API Reference.
Note
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.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Status" :
String
}
YAML
Status:
String
Properties
Status
-
The versioning state of the bucket.
Required: Yes
Type: String
Allowed values:
Enabled | Suspended
Update requires: Some interruptions
Examples
Enable versioning and replicate objects
The following example enables versioning and two replication rules. The rules copy
objects prefixed with either MyPrefix
and MyOtherPrefix
and
stores the copied objects in a bucket named my-replication-bucket
.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "VersioningConfiguration": { "Status": "Enabled" }, "ReplicationConfiguration": { "Role": "arn:aws:iam::123456789012:role/replication_role", "Rules": [ { "Id": "MyRule1", "Status": "Enabled", "Prefix": "MyPrefix", "Destination": { "Bucket": "arn:aws:s3:::my-replication-bucket", "StorageClass": "STANDARD" } }, { "Status": "Enabled", "Prefix": "MyOtherPrefix", "Destination": { "Bucket": "arn:aws:s3:::my-replication-bucket" } } ] } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: VersioningConfiguration: Status: Enabled ReplicationConfiguration: Role: 'arn:aws:iam::123456789012:role/replication_role' Rules: - Id: MyRule1 Status: Enabled Prefix: MyPrefix Destination: Bucket: 'arn:aws:s3:::my-replication-bucket' StorageClass: STANDARD - Status: Enabled Prefix: MyOtherPrefix Destination: Bucket: 'arn:aws:s3:::my-replication-bucket'