/*
* Copyright 2010-2013 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 System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.S3.Model
{
///
/// Container for the parameters to the PutBucket operation.
/// Creates a new bucket.
///
public partial class PutBucketRequest : PutWithACLRequest
{
private string bucketName;
private S3Region bucketRegion;
private string bucketRegionName;
private bool useClientRegion = true;
private S3CannedACL cannedAcl;
private bool? _objectLockEnabledForBucket;
///
/// The canned ACL to apply to the bucket.
///
///
public S3CannedACL CannedACL
{
get { return this.cannedAcl; }
set { this.cannedAcl = value; }
}
// Check to see if ACL property is set
internal bool IsSetCannedACL()
{
return cannedAcl != null && cannedAcl != S3CannedACL.NoACL;
}
///
/// If set to true the bucket will be created in the same region
/// as the configuration of the AmazonS3 client.
/// If PutBucketRequest.BucketRegion or PutBucketRequest.BucketRegionName are set they take precedence over
/// this property.
/// Default: true.
///
public bool UseClientRegion
{
get { return this.useClientRegion; }
set
{
this.useClientRegion = value;
}
}
///
/// The name of the bucket to be created.
///
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 region locality for the bucket.
///
///
/// When set, this will determine where your data will
/// reside in S3. Refer
/// for a list of possible values.
///
public S3Region BucketRegion
{
get { return this.bucketRegion; }
set { this.bucketRegion = value; }
}
// Check to see if BucketRegion property is set
internal bool IsSetBucketRegion()
{
return this.bucketRegion != null;
}
///
/// The bucket region locality expressed using the name of the region.
/// When set, this will determine where your data will reside in S3.
/// Valid values: us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1
///
public string BucketRegionName
{
get { return this.bucketRegionName; }
set
{
this.bucketRegionName = value;
}
}
// Check to see if BucketRegionName property is set
internal bool IsSetBucketRegionName()
{
return !string.IsNullOrEmpty(this.bucketRegionName);
}
///
/// Gets and sets the property ObjectLockEnabledForBucket.
///
/// Specifies whether you want S3 Object Lock to be enabled for the new bucket.
///
///
public bool ObjectLockEnabledForBucket
{
get { return this._objectLockEnabledForBucket.GetValueOrDefault(); }
set { this._objectLockEnabledForBucket = value; }
}
// Check to see if ObjectLockEnabledForBucket property is set
internal bool IsSetObjectLockEnabledForBucket()
{
return this._objectLockEnabledForBucket.HasValue;
}
}
}