/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3 { namespace Model { /** *

The configuration information for the bucket.

See Also:

AWS * API Reference

*/ class CreateBucketConfiguration { public: AWS_S3_API CreateBucketConfiguration(); AWS_S3_API CreateBucketConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3_API CreateBucketConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline const BucketLocationConstraint& GetLocationConstraint() const{ return m_locationConstraint; } /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline bool LocationConstraintHasBeenSet() const { return m_locationConstraintHasBeenSet; } /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline void SetLocationConstraint(const BucketLocationConstraint& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = value; } /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline void SetLocationConstraint(BucketLocationConstraint&& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = std::move(value); } /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline CreateBucketConfiguration& WithLocationConstraint(const BucketLocationConstraint& value) { SetLocationConstraint(value); return *this;} /** *

Specifies the Region where the bucket will be created. You might choose a * Region to optimize latency, minimize costs, or address regulatory requirements. * For example, if you reside in Europe, you will probably find it advantageous to * create buckets in the Europe (Ireland) Region. For more information, see Accessing * a bucket in the Amazon S3 User Guide.

If you don't specify a * Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by * default.

This functionality is not supported for directory * buckets.

*/ inline CreateBucketConfiguration& WithLocationConstraint(BucketLocationConstraint&& value) { SetLocationConstraint(std::move(value)); return *this;} /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline const LocationInfo& GetLocation() const{ return m_location; } /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline void SetLocation(const LocationInfo& value) { m_locationHasBeenSet = true; m_location = value; } /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline void SetLocation(LocationInfo&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline CreateBucketConfiguration& WithLocation(const LocationInfo& value) { SetLocation(value); return *this;} /** *

Specifies the location where the bucket will be created.

For directory * buckets, the location type is Availability Zone.

This * functionality is only supported by directory buckets.

*/ inline CreateBucketConfiguration& WithLocation(LocationInfo&& value) { SetLocation(std::move(value)); return *this;} /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline const BucketInfo& GetBucket() const{ return m_bucket; } /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline void SetBucket(const BucketInfo& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline void SetBucket(BucketInfo&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline CreateBucketConfiguration& WithBucket(const BucketInfo& value) { SetBucket(value); return *this;} /** *

Specifies the information about the bucket that will be created.

*

This functionality is only supported by directory buckets.

*/ inline CreateBucketConfiguration& WithBucket(BucketInfo&& value) { SetBucket(std::move(value)); return *this;} private: BucketLocationConstraint m_locationConstraint; bool m_locationConstraintHasBeenSet = false; LocationInfo m_location; bool m_locationHasBeenSet = false; BucketInfo m_bucket; bool m_bucketHasBeenSet = false; }; } // namespace Model } // namespace S3 } // namespace Aws