/* * 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. */ using Amazon.Runtime; using System; using System.Collections.Generic; using System.Text; namespace Amazon.S3.Model { /// /// Container for the parameters to the PutBucketIntelligentTieringConfiguration operation. /// Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have /// up to 1,000 S3 Intelligent-Tiering configurations per bucket. /// /// /// /// The S3 Intelligent-Tiering storage class is designed to optimize storage costs by /// automatically moving data to the most cost-effective storage access tier, without /// performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic /// cost savings in three low latency and high throughput access tiers. To get the lowest /// storage cost on data that can be accessed in minutes to hours, you can choose to activate /// additional archiving capabilities. /// /// /// /// The S3 Intelligent-Tiering storage class is the ideal storage class for data with /// unknown, changing, or unpredictable access patterns, independent of object size or /// retention period. If the size of an object is less than 128 KB, it is not monitored /// and not eligible for auto-tiering. Smaller objects can be stored, but they are always /// charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class. /// /// /// /// For more information, see Storage /// class for automatically optimizing frequently and infrequently accessed objects. /// /// /// /// Operations related to PutBucketIntelligentTieringConfiguration include: /// /// /// /// /// You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically /// move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access /// or Deep Archive Access tier. /// /// /// /// PutBucketIntelligentTieringConfiguration has the following special errors: /// ///
HTTP 400 Bad Request Error
/// /// Code: InvalidArgument /// /// /// Cause: Invalid Argument /// ///
HTTP 400 Bad Request Error
/// /// Code: TooManyConfigurations /// /// /// Cause: You are attempting to create a new configuration but have already reached /// the 1,000-configuration limit. /// ///
HTTP 403 Forbidden Error
/// /// Cause: You are not the owner of the specified bucket, or you do not have the /// s3:PutIntelligentTieringConfiguration bucket permission to set the configuration /// on the bucket. /// ///
///
public partial class PutBucketIntelligentTieringConfigurationRequest : AmazonWebServiceRequest { private string bucketName; private string intelligentTieringId; private IntelligentTieringConfiguration intelligentTieringConfiguration; /// /// The name of the Amazon S3 bucket whose configuration you want to modify or retrieve. /// public string BucketName { get { return this.bucketName; } set { this.bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { return this.bucketName != null; } /// /// The ID used to identify the S3 Intelligent-Tiering configuration. /// public string IntelligentTieringId { get { return this.intelligentTieringId; } set { this.intelligentTieringId = value; } } // Check to see if IntelligentTieringId property is set internal bool IsSetIntelligentTieringId() { return this.intelligentTieringId != null; } /// /// Container for S3 Intelligent-Tiering configuration. /// public IntelligentTieringConfiguration IntelligentTieringConfiguration { get { return this.intelligentTieringConfiguration; } set { this.intelligentTieringConfiguration = value; } } // Check to see if IntelligentTieringConfiguration property is set internal bool IsIntelligentTieringConfiguration() { return this.intelligentTieringConfiguration != null; } } }