libZSservicesZSamazonka-s3ZSamazonka-s3
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.S3.PutBucketVersioning

Description

Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

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

Synopsis

Creating a Request

data PutBucketVersioning Source #

See: newPutBucketVersioning smart constructor.

Constructors

PutBucketVersioning' 

Fields

  • mfa :: Maybe Text

    The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

  • contentMD5 :: Maybe Text
    The base64-encoded 128-bit MD5 digest of the data. You must use this

    header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

  • expectedBucketOwner :: Maybe Text

    The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

  • bucket :: BucketName

    The bucket name.

  • versioningConfiguration :: VersioningConfiguration

    Container for setting the versioning state.

Instances

Instances details
Eq PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Read PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Show PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Generic PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type Rep PutBucketVersioning :: Type -> Type #

NFData PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Methods

rnf :: PutBucketVersioning -> () #

Hashable PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

AWSRequest PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type AWSResponse PutBucketVersioning #

ToHeaders PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

ToPath PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

ToQuery PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

ToElement PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

type Rep PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

type Rep PutBucketVersioning = D1 ('MetaData "PutBucketVersioning" "Amazonka.S3.PutBucketVersioning" "libZSservicesZSamazonka-s3ZSamazonka-s3" 'False) (C1 ('MetaCons "PutBucketVersioning'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mfa") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "contentMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "expectedBucketOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BucketName) :*: S1 ('MetaSel ('Just "versioningConfiguration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VersioningConfiguration)))))
type AWSResponse PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

newPutBucketVersioning Source #

Create a value of PutBucketVersioning with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:mfa:PutBucketVersioning', putBucketVersioning_mfa - The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

$sel:contentMD5:PutBucketVersioning', putBucketVersioning_contentMD5 - >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

$sel:expectedBucketOwner:PutBucketVersioning', putBucketVersioning_expectedBucketOwner - The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

$sel:bucket:PutBucketVersioning', putBucketVersioning_bucket - The bucket name.

$sel:versioningConfiguration:PutBucketVersioning', putBucketVersioning_versioningConfiguration - Container for setting the versioning state.

Request Lenses

putBucketVersioning_mfa :: Lens' PutBucketVersioning (Maybe Text) Source #

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

putBucketVersioning_contentMD5 :: Lens' PutBucketVersioning (Maybe Text) Source #

The base64-encoded 128-bit MD5 digest of the data. You must use this

header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

putBucketVersioning_expectedBucketOwner :: Lens' PutBucketVersioning (Maybe Text) Source #

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

Destructuring the Response

data PutBucketVersioningResponse Source #

See: newPutBucketVersioningResponse smart constructor.

Instances

Instances details
Eq PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Read PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Show PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Generic PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type Rep PutBucketVersioningResponse :: Type -> Type #

NFData PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

type Rep PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

type Rep PutBucketVersioningResponse = D1 ('MetaData "PutBucketVersioningResponse" "Amazonka.S3.PutBucketVersioning" "libZSservicesZSamazonka-s3ZSamazonka-s3" 'False) (C1 ('MetaCons "PutBucketVersioningResponse'" 'PrefixI 'False) (U1 :: Type -> Type))

newPutBucketVersioningResponse :: PutBucketVersioningResponse Source #

Create a value of PutBucketVersioningResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.