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

The shared access signature (SAS) configuration that allows DataSync to * access your Microsoft Azure Blob Storage.

For more information, see SAS * tokens for accessing your Azure Blob Storage.

See Also:

AWS * API Reference

*/ class AzureBlobSasConfiguration { public: AWS_DATASYNC_API AzureBlobSasConfiguration(); AWS_DATASYNC_API AzureBlobSasConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_DATASYNC_API AzureBlobSasConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATASYNC_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline const Aws::String& GetToken() const{ return m_token; } /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline AzureBlobSasConfiguration& WithToken(const Aws::String& value) { SetToken(value); return *this;} /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline AzureBlobSasConfiguration& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} /** *

Specifies a SAS token that provides permissions at the Azure storage account, * container, or folder level.

The token is part of the SAS URI string that * comes after the storage resource URI and a question mark. A token looks * something like this:

* sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D *

*/ inline AzureBlobSasConfiguration& WithToken(const char* value) { SetToken(value); return *this;} private: Aws::String m_token; bool m_tokenHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws