import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint"; import { Command as $Command } from "@aws-sdk/smithy-client"; import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types"; import { PutBucketVersioningRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link PutBucketVersioningCommand}. */ export interface PutBucketVersioningCommandInput extends PutBucketVersioningRequest { } /** * @public * * The output of {@link PutBucketVersioningCommand}. */ export interface PutBucketVersioningCommandOutput extends __MetadataBearer { } /** * @public *
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 *
** CreateBucket *
** DeleteBucket *
*