/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the s3control-2018-08-20.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.S3Control.Model { /// /// Container for the parameters to the PutBucketVersioning operation. /// /// /// This operation sets the versioning state for S3 on Outposts buckets only. To set the /// versioning state for an S3 bucket, see PutBucketVersioning /// in the Amazon S3 API Reference. /// /// /// /// Sets the versioning state for an S3 on Outposts bucket. With S3 Versioning, you can /// save multiple distinct copies of your objects and recover from unintended user actions /// and application failures. /// /// /// /// You can set the versioning state to one of the following: /// /// /// /// If you've never set versioning on your bucket, it has no versioning state. In that /// case, a /// GetBucketVersioning request does not return a versioning state value. /// /// /// /// When you enable S3 Versioning, for each object in your bucket, you have a current /// version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle /// rules to expire noncurrent versions after a specified time period. For more information, /// see /// Creating and managing a lifecycle configuration for your S3 on Outposts bucket /// in the Amazon S3 User Guide. /// /// /// /// If you have an object expiration lifecycle configuration 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 configuration /// will manage the deletes of the noncurrent object versions in the version-enabled bucket. /// For more information, see Versioning /// in the Amazon S3 User Guide. /// /// /// /// All Amazon S3 on Outposts REST API requests for this action require an additional /// parameter of x-amz-outpost-id to be passed with the request. In addition, /// you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. /// For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on /// Outposts endpoint hostname prefix and the x-amz-outpost-id derived by /// using the access point ARN, see the Examples /// section. /// /// /// /// The following operations are related to PutBucketVersioning for S3 on /// Outposts. /// /// /// public partial class PutBucketVersioningRequest : AmazonS3ControlRequest { private string _accountId; private string _bucket; private string _mfa; private VersioningConfiguration _versioningConfiguration; /// /// Gets and sets the property AccountId. /// /// The Amazon Web Services account ID of the S3 on Outposts bucket. /// /// [AWSProperty(Required=true, Max=64)] public string AccountId { get { return this._accountId; } set { this._accountId = value; } } // Check to see if AccountId property is set internal bool IsSetAccountId() { return this._accountId != null; } /// /// Gets and sets the property Bucket. /// /// The S3 on Outposts bucket to set the versioning state for. /// /// [AWSProperty(Required=true, Min=3, Max=255)] public string Bucket { get { return this._bucket; } set { this._bucket = value; } } // Check to see if Bucket property is set internal bool IsSetBucket() { return this._bucket != null; } /// /// Gets and sets the property MFA. /// /// The concatenation of the authentication device's serial number, a space, and the value /// that is displayed on your authentication device. /// /// public string MFA { get { return this._mfa; } set { this._mfa = value; } } // Check to see if MFA property is set internal bool IsSetMFA() { return this._mfa != null; } /// /// Gets and sets the property VersioningConfiguration. /// /// The root-level tag for the VersioningConfiguration parameters. /// /// [AWSProperty(Required=true)] public VersioningConfiguration VersioningConfiguration { get { return this._versioningConfiguration; } set { this._versioningConfiguration = value; } } // Check to see if VersioningConfiguration property is set internal bool IsSetVersioningConfiguration() { return this._versioningConfiguration != null; } } }