/** * 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 #include #include namespace Aws { namespace DataSync { namespace Model { /** */ class CreateLocationAzureBlobRequest : public DataSyncRequest { public: AWS_DATASYNC_API CreateLocationAzureBlobRequest(); // 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 "CreateLocationAzureBlob"; } AWS_DATASYNC_API Aws::String SerializePayload() const override; AWS_DATASYNC_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline const Aws::String& GetContainerUrl() const{ return m_containerUrl; } /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline bool ContainerUrlHasBeenSet() const { return m_containerUrlHasBeenSet; } /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline void SetContainerUrl(const Aws::String& value) { m_containerUrlHasBeenSet = true; m_containerUrl = value; } /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline void SetContainerUrl(Aws::String&& value) { m_containerUrlHasBeenSet = true; m_containerUrl = std::move(value); } /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline void SetContainerUrl(const char* value) { m_containerUrlHasBeenSet = true; m_containerUrl.assign(value); } /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline CreateLocationAzureBlobRequest& WithContainerUrl(const Aws::String& value) { SetContainerUrl(value); return *this;} /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline CreateLocationAzureBlobRequest& WithContainerUrl(Aws::String&& value) { SetContainerUrl(std::move(value)); return *this;} /** *

Specifies the URL of the Azure Blob Storage container involved in your * transfer.

*/ inline CreateLocationAzureBlobRequest& WithContainerUrl(const char* value) { SetContainerUrl(value); return *this;} /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline const AzureBlobAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline void SetAuthenticationType(const AzureBlobAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline void SetAuthenticationType(AzureBlobAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline CreateLocationAzureBlobRequest& WithAuthenticationType(const AzureBlobAuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

Specifies the authentication method DataSync uses to access your Azure Blob * Storage. DataSync can access blob storage using a shared access signature * (SAS).

*/ inline CreateLocationAzureBlobRequest& WithAuthenticationType(AzureBlobAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline const AzureBlobSasConfiguration& GetSasConfiguration() const{ return m_sasConfiguration; } /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline bool SasConfigurationHasBeenSet() const { return m_sasConfigurationHasBeenSet; } /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline void SetSasConfiguration(const AzureBlobSasConfiguration& value) { m_sasConfigurationHasBeenSet = true; m_sasConfiguration = value; } /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline void SetSasConfiguration(AzureBlobSasConfiguration&& value) { m_sasConfigurationHasBeenSet = true; m_sasConfiguration = std::move(value); } /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline CreateLocationAzureBlobRequest& WithSasConfiguration(const AzureBlobSasConfiguration& value) { SetSasConfiguration(value); return *this;} /** *

Specifies the SAS configuration that allows DataSync to access your Azure * Blob Storage.

*/ inline CreateLocationAzureBlobRequest& WithSasConfiguration(AzureBlobSasConfiguration&& value) { SetSasConfiguration(std::move(value)); return *this;} /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline const AzureBlobType& GetBlobType() const{ return m_blobType; } /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline bool BlobTypeHasBeenSet() const { return m_blobTypeHasBeenSet; } /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline void SetBlobType(const AzureBlobType& value) { m_blobTypeHasBeenSet = true; m_blobType = value; } /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline void SetBlobType(AzureBlobType&& value) { m_blobTypeHasBeenSet = true; m_blobType = std::move(value); } /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline CreateLocationAzureBlobRequest& WithBlobType(const AzureBlobType& value) { SetBlobType(value); return *this;} /** *

Specifies the type of blob that you want your objects or files to be when * transferring them into Azure Blob Storage. Currently, DataSync only supports * moving data into Azure Blob Storage as block blobs. For more information on blob * types, see the Azure * Blob Storage documentation.

*/ inline CreateLocationAzureBlobRequest& WithBlobType(AzureBlobType&& value) { SetBlobType(std::move(value)); return *this;} /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline const AzureAccessTier& GetAccessTier() const{ return m_accessTier; } /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline bool AccessTierHasBeenSet() const { return m_accessTierHasBeenSet; } /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline void SetAccessTier(const AzureAccessTier& value) { m_accessTierHasBeenSet = true; m_accessTier = value; } /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline void SetAccessTier(AzureAccessTier&& value) { m_accessTierHasBeenSet = true; m_accessTier = std::move(value); } /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline CreateLocationAzureBlobRequest& WithAccessTier(const AzureAccessTier& value) { SetAccessTier(value); return *this;} /** *

Specifies the access tier that you want your objects or files transferred * into. This only applies when using the location as a transfer destination. For * more information, see Access * tiers.

*/ inline CreateLocationAzureBlobRequest& WithAccessTier(AzureAccessTier&& value) { SetAccessTier(std::move(value)); return *this;} /** *

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies path segments if you want to limit your transfer to a virtual * directory in your container (for example, /my/images).

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect with your Azure Blob Storage container.

You can specify more than * one agent. For more information, see Using * multiple agents for your transfer.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

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

Specifies labels that help you categorize, filter, and search for your Amazon * Web Services resources. We recommend creating at least a name tag for your * transfer location.

*/ inline CreateLocationAzureBlobRequest& AddTags(TagListEntry&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_containerUrl; bool m_containerUrlHasBeenSet = false; AzureBlobAuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; AzureBlobSasConfiguration m_sasConfiguration; bool m_sasConfigurationHasBeenSet = false; AzureBlobType m_blobType; bool m_blobTypeHasBeenSet = false; AzureAccessTier m_accessTier; bool m_accessTierHasBeenSet = false; Aws::String m_subdirectory; bool m_subdirectoryHasBeenSet = false; Aws::Vector m_agentArns; bool m_agentArnsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws