amazonka-s3-2.0: Amazon Simple Storage Service SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.S3.PutBucketVersioning

Description

Sets the versioning state of an existing bucket.

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.

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner and want to enable MFA Delete in the bucket versioning configuration, you 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

  • checksumAlgorithm :: Maybe ChecksumAlgorithm

    Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more information, see Checking object integrity in the Amazon S3 User Guide.

    If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.

  • 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 fails with the HTTP status code 403 Forbidden (access denied).

  • mfa :: Maybe Text

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

  • bucket :: BucketName

    The bucket name.

  • versioningConfiguration :: VersioningConfiguration

    Container for setting the versioning state.

Instances

Instances details
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

AWSRequest PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type AWSResponse PutBucketVersioning #

Generic PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type Rep PutBucketVersioning :: Type -> Type #

Read PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Show PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

NFData PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Methods

rnf :: PutBucketVersioning -> () #

Eq PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Hashable PutBucketVersioning Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

type AWSResponse 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" "amazonka-s3-2.0-CNZtv1UmVzj28JXsFvwNoj" 'False) (C1 ('MetaCons "PutBucketVersioning'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "checksumAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ChecksumAlgorithm)) :*: (S1 ('MetaSel ('Just "contentMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "expectedBucketOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "mfa") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BucketName) :*: S1 ('MetaSel ('Just "versioningConfiguration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VersioningConfiguration)))))

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:

PutBucketVersioning, putBucketVersioning_checksumAlgorithm - Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more information, see Checking object integrity in the Amazon S3 User Guide.

If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.

$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 fails with the HTTP status code 403 Forbidden (access denied).

$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.

PutBucketVersioning, putBucketVersioning_bucket - The bucket name.

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

Request Lenses

putBucketVersioning_checksumAlgorithm :: Lens' PutBucketVersioning (Maybe ChecksumAlgorithm) Source #

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more information, see Checking object integrity in the Amazon S3 User Guide.

If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.

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 fails with the HTTP status code 403 Forbidden (access denied).

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.

Destructuring the Response

data PutBucketVersioningResponse Source #

See: newPutBucketVersioningResponse smart constructor.

Instances

Instances details
Generic PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Associated Types

type Rep PutBucketVersioningResponse :: Type -> Type #

Read PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Show PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

NFData PutBucketVersioningResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketVersioning

Eq 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" "amazonka-s3-2.0-CNZtv1UmVzj28JXsFvwNoj" '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.