/*
* 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 CreateBucket operation.
///
///
/// This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create
/// Bucket in the Amazon S3 API Reference.
///
///
///
/// Creates a new Outposts bucket. By creating the bucket, you become the bucket owner.
/// To create an Outposts bucket, you must have S3 on Outposts. For more information,
/// see Using
/// Amazon S3 on Outposts in Amazon S3 User Guide.
///
///
///
/// Not every string is an acceptable bucket name. For information on bucket naming restrictions,
/// see Working
/// with Amazon S3 Buckets.
///
///
///
/// S3 on Outposts buckets support:
///
/// -
///
/// Tags
///
///
-
///
/// LifecycleConfigurations for deleting expired objects
///
///
///
/// For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts,
/// see
/// Amazon S3 on Outposts Restrictions and Limitations.
///
///
///
/// For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on
/// Outposts endpoint hostname prefix and x-amz-outpost-id
in your API request,
/// see the Examples
/// section.
///
///
///
/// The following actions are related to CreateBucket
for Amazon S3 on Outposts:
///
///
///
public partial class CreateBucketRequest : AmazonS3ControlRequest
{
private BucketCannedACL _acl;
private string _bucket;
private CreateBucketConfiguration _createBucketConfiguration;
private string _grantFullControl;
private string _grantRead;
private string _grantReadACP;
private string _grantWrite;
private string _grantWriteACP;
private bool? _objectLockEnabledForBucket;
private string _outpostId;
///
/// Gets and sets the property ACL.
///
/// The canned ACL to apply to the bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public BucketCannedACL ACL
{
get { return this._acl; }
set { this._acl = value; }
}
// Check to see if ACL property is set
internal bool IsSetACL()
{
return this._acl != null;
}
///
/// Gets and sets the property Bucket.
///
/// The name of the bucket.
///
///
[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 CreateBucketConfiguration.
///
/// The configuration information for the bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public CreateBucketConfiguration CreateBucketConfiguration
{
get { return this._createBucketConfiguration; }
set { this._createBucketConfiguration = value; }
}
// Check to see if CreateBucketConfiguration property is set
internal bool IsSetCreateBucketConfiguration()
{
return this._createBucketConfiguration != null;
}
///
/// Gets and sets the property GrantFullControl.
///
/// Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public string GrantFullControl
{
get { return this._grantFullControl; }
set { this._grantFullControl = value; }
}
// Check to see if GrantFullControl property is set
internal bool IsSetGrantFullControl()
{
return this._grantFullControl != null;
}
///
/// Gets and sets the property GrantRead.
///
/// Allows grantee to list the objects in the bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public string GrantRead
{
get { return this._grantRead; }
set { this._grantRead = value; }
}
// Check to see if GrantRead property is set
internal bool IsSetGrantRead()
{
return this._grantRead != null;
}
///
/// Gets and sets the property GrantReadACP.
///
/// Allows grantee to read the bucket ACL.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public string GrantReadACP
{
get { return this._grantReadACP; }
set { this._grantReadACP = value; }
}
// Check to see if GrantReadACP property is set
internal bool IsSetGrantReadACP()
{
return this._grantReadACP != null;
}
///
/// Gets and sets the property GrantWrite.
///
/// Allows grantee to create, overwrite, and delete any object in the bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public string GrantWrite
{
get { return this._grantWrite; }
set { this._grantWrite = value; }
}
// Check to see if GrantWrite property is set
internal bool IsSetGrantWrite()
{
return this._grantWrite != null;
}
///
/// Gets and sets the property GrantWriteACP.
///
/// Allows grantee to write the ACL for the applicable bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
public string GrantWriteACP
{
get { return this._grantWriteACP; }
set { this._grantWriteACP = value; }
}
// Check to see if GrantWriteACP property is set
internal bool IsSetGrantWriteACP()
{
return this._grantWriteACP != null;
}
///
/// Gets and sets the property ObjectLockEnabledForBucket.
///
/// Specifies whether you want S3 Object Lock to be enabled for the new bucket.
///
///
///
/// This is not supported by Amazon S3 on Outposts buckets.
///
///
///
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;
}
///
/// Gets and sets the property OutpostId.
///
/// The ID of the Outposts where the bucket is being created.
///
///
///
/// This ID is required by Amazon S3 on Outposts buckets.
///
///
///
[AWSProperty(Min=1, Max=64)]
public string OutpostId
{
get { return this._outpostId; }
set { this._outpostId = value; }
}
// Check to see if OutpostId property is set
internal bool IsSetOutpostId()
{
return this._outpostId != null;
}
}
}