/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace DataSync { namespace Model { /** *

CreateLocationS3Request

See Also:

AWS * API Reference

*/ class CreateLocationS3Request : public DataSyncRequest { public: AWS_DATASYNC_API CreateLocationS3Request(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateLocationS3"; } AWS_DATASYNC_API Aws::String SerializePayload() const override; AWS_DATASYNC_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline void SetSubdirectory(const Aws::String& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = value; } /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline void SetSubdirectory(Aws::String&& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = std::move(value); } /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline void SetSubdirectory(const char* value) { m_subdirectoryHasBeenSet = true; m_subdirectory.assign(value); } /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline CreateLocationS3Request& WithSubdirectory(const Aws::String& value) { SetSubdirectory(value); return *this;} /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline CreateLocationS3Request& WithSubdirectory(Aws::String&& value) { SetSubdirectory(std::move(value)); return *this;} /** *

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is * used to read data from the S3 source location or write data to the S3 * destination.

*/ inline CreateLocationS3Request& WithSubdirectory(const char* value) { SetSubdirectory(value); return *this;} /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline const Aws::String& GetS3BucketArn() const{ return m_s3BucketArn; } /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline bool S3BucketArnHasBeenSet() const { return m_s3BucketArnHasBeenSet; } /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline void SetS3BucketArn(const Aws::String& value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn = value; } /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline void SetS3BucketArn(Aws::String&& value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn = std::move(value); } /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline void SetS3BucketArn(const char* value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn.assign(value); } /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline CreateLocationS3Request& WithS3BucketArn(const Aws::String& value) { SetS3BucketArn(value); return *this;} /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline CreateLocationS3Request& WithS3BucketArn(Aws::String&& value) { SetS3BucketArn(std::move(value)); return *this;} /** *

The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services * Outpost, this must be an access point ARN.

*/ inline CreateLocationS3Request& WithS3BucketArn(const char* value) { SetS3BucketArn(value); return *this;} /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline const S3StorageClass& GetS3StorageClass() const{ return m_s3StorageClass; } /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline bool S3StorageClassHasBeenSet() const { return m_s3StorageClassHasBeenSet; } /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline void SetS3StorageClass(const S3StorageClass& value) { m_s3StorageClassHasBeenSet = true; m_s3StorageClass = value; } /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline void SetS3StorageClass(S3StorageClass&& value) { m_s3StorageClassHasBeenSet = true; m_s3StorageClass = std::move(value); } /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline CreateLocationS3Request& WithS3StorageClass(const S3StorageClass& value) { SetS3StorageClass(value); return *this;} /** *

The Amazon S3 storage class that you want to store your files in when this * location is used as a task destination. For buckets in Amazon Web Services * Regions, the storage class defaults to Standard. For buckets on Outposts, the * storage class defaults to Amazon Web Services S3 Outposts.

For more * information about S3 storage classes, see Amazon S3 Storage Classes. * Some storage classes have behaviors that can affect your S3 storage cost. For * detailed information, see Considerations * when working with S3 storage classes in DataSync.

*/ inline CreateLocationS3Request& WithS3StorageClass(S3StorageClass&& value) { SetS3StorageClass(std::move(value)); return *this;} inline const S3Config& GetS3Config() const{ return m_s3Config; } inline bool S3ConfigHasBeenSet() const { return m_s3ConfigHasBeenSet; } inline void SetS3Config(const S3Config& value) { m_s3ConfigHasBeenSet = true; m_s3Config = value; } inline void SetS3Config(S3Config&& value) { m_s3ConfigHasBeenSet = true; m_s3Config = std::move(value); } inline CreateLocationS3Request& WithS3Config(const S3Config& value) { SetS3Config(value); return *this;} inline CreateLocationS3Request& WithS3Config(S3Config&& value) { SetS3Config(std::move(value)); return *this;} /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline void SetAgentArns(const Aws::Vector& value) { m_agentArnsHasBeenSet = true; m_agentArns = value; } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline void SetAgentArns(Aws::Vector&& value) { m_agentArnsHasBeenSet = true; m_agentArns = std::move(value); } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline CreateLocationS3Request& WithAgentArns(const Aws::Vector& value) { SetAgentArns(value); return *this;} /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline CreateLocationS3Request& WithAgentArns(Aws::Vector&& value) { SetAgentArns(std::move(value)); return *this;} /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline CreateLocationS3Request& AddAgentArns(const Aws::String& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline CreateLocationS3Request& AddAgentArns(Aws::String&& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(std::move(value)); return *this; } /** *

If you're using DataSync on an Amazon Web Services Outpost, specify the * Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost. * For more information about launching a DataSync agent on an Amazon Web Services * Outpost, see Deploy * your DataSync agent on Outposts.

*/ inline CreateLocationS3Request& AddAgentArns(const char* value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline CreateLocationS3Request& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline CreateLocationS3Request& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline CreateLocationS3Request& AddTags(const TagListEntry& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The key-value pair that represents the tag that you want to add to the * location. The value can be an empty string. We recommend using tags to name your * resources.

*/ inline CreateLocationS3Request& AddTags(TagListEntry&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_subdirectory; bool m_subdirectoryHasBeenSet = false; Aws::String m_s3BucketArn; bool m_s3BucketArnHasBeenSet = false; S3StorageClass m_s3StorageClass; bool m_s3StorageClassHasBeenSet = false; S3Config m_s3Config; bool m_s3ConfigHasBeenSet = false; Aws::Vector m_agentArns; bool m_agentArnsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws