You can set the versioning state with one of the following values:
Enabled---Enables versioning for the objects in the bucket. All
objects added to the bucket receive a unique version ID.
Suspended---Disables versioning for the objects in the bucket. All
objects added to the bucket receive the version ID null.
If the versioning state has never been set on a bucket, it has no
versioning state; a GetBucketVersioning request does not return a
versioning state value.
If the bucket owner enables MFA Delete in the bucket versioning
configuration, the bucket owner must include the x-amz-mfa request
header and the Status
and the MfaDelete
request elements in a
request to set the versioning state of the bucket.
If you have an object expiration lifecycle policy in your non-versioned
bucket and you want to maintain the same permanent delete behavior when
you enable versioning, you must add a noncurrent expiration policy. The
noncurrent expiration lifecycle policy will manage the deletes of the
noncurrent object versions in the version-enabled bucket. (A
version-enabled bucket maintains one current and zero or more noncurrent
object versions.) For more information, see Lifecycle and Versioning.
Related Resources
CreateBucket
DeleteBucket
GetBucketVersioning