/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace StorageGateway { namespace Model { /** */ class CreateCachediSCSIVolumeRequest : public StorageGatewayRequest { public: AWS_STORAGEGATEWAY_API CreateCachediSCSIVolumeRequest(); // 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 "CreateCachediSCSIVolume"; } AWS_STORAGEGATEWAY_API Aws::String SerializePayload() const override; AWS_STORAGEGATEWAY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } inline bool GatewayARNHasBeenSet() const { return m_gatewayARNHasBeenSet; } inline void SetGatewayARN(const Aws::String& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = value; } inline void SetGatewayARN(Aws::String&& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = std::move(value); } inline void SetGatewayARN(const char* value) { m_gatewayARNHasBeenSet = true; m_gatewayARN.assign(value); } inline CreateCachediSCSIVolumeRequest& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} inline CreateCachediSCSIVolumeRequest& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} inline CreateCachediSCSIVolumeRequest& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} /** *

The size of the volume in bytes.

*/ inline long long GetVolumeSizeInBytes() const{ return m_volumeSizeInBytes; } /** *

The size of the volume in bytes.

*/ inline bool VolumeSizeInBytesHasBeenSet() const { return m_volumeSizeInBytesHasBeenSet; } /** *

The size of the volume in bytes.

*/ inline void SetVolumeSizeInBytes(long long value) { m_volumeSizeInBytesHasBeenSet = true; m_volumeSizeInBytes = value; } /** *

The size of the volume in bytes.

*/ inline CreateCachediSCSIVolumeRequest& WithVolumeSizeInBytes(long long value) { SetVolumeSizeInBytes(value); return *this;} /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline const Aws::String& GetSnapshotId() const{ return m_snapshotId; } /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; } /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline void SetSnapshotId(const Aws::String& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = value; } /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline void SetSnapshotId(Aws::String&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::move(value); } /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline void SetSnapshotId(const char* value) { m_snapshotIdHasBeenSet = true; m_snapshotId.assign(value); } /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline CreateCachediSCSIVolumeRequest& WithSnapshotId(const Aws::String& value) { SetSnapshotId(value); return *this;} /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline CreateCachediSCSIVolumeRequest& WithSnapshotId(Aws::String&& value) { SetSnapshotId(std::move(value)); return *this;} /** *

The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new * cached volume. Specify this field if you want to create the iSCSI storage volume * from a snapshot; otherwise, do not include this field. To list snapshots for * your account use DescribeSnapshots * in the Amazon Elastic Compute Cloud API Reference.

*/ inline CreateCachediSCSIVolumeRequest& WithSnapshotId(const char* value) { SetSnapshotId(value); return *this;} /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline const Aws::String& GetTargetName() const{ return m_targetName; } /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline bool TargetNameHasBeenSet() const { return m_targetNameHasBeenSet; } /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline void SetTargetName(const Aws::String& value) { m_targetNameHasBeenSet = true; m_targetName = value; } /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline void SetTargetName(Aws::String&& value) { m_targetNameHasBeenSet = true; m_targetName = std::move(value); } /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline void SetTargetName(const char* value) { m_targetNameHasBeenSet = true; m_targetName.assign(value); } /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline CreateCachediSCSIVolumeRequest& WithTargetName(const Aws::String& value) { SetTargetName(value); return *this;} /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline CreateCachediSCSIVolumeRequest& WithTargetName(Aws::String&& value) { SetTargetName(std::move(value)); return *this;} /** *

The name of the iSCSI target used by an initiator to connect to a volume and * used as a suffix for the target ARN. For example, specifying * TargetName as myvolume results in the target ARN of * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. * The target name must be unique across all volumes on a gateway.

If you * don't specify a value, Storage Gateway uses the value that was previously used * for this volume as the new target name.

*/ inline CreateCachediSCSIVolumeRequest& WithTargetName(const char* value) { SetTargetName(value); return *this;} /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline const Aws::String& GetSourceVolumeARN() const{ return m_sourceVolumeARN; } /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline bool SourceVolumeARNHasBeenSet() const { return m_sourceVolumeARNHasBeenSet; } /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline void SetSourceVolumeARN(const Aws::String& value) { m_sourceVolumeARNHasBeenSet = true; m_sourceVolumeARN = value; } /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline void SetSourceVolumeARN(Aws::String&& value) { m_sourceVolumeARNHasBeenSet = true; m_sourceVolumeARN = std::move(value); } /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline void SetSourceVolumeARN(const char* value) { m_sourceVolumeARNHasBeenSet = true; m_sourceVolumeARN.assign(value); } /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline CreateCachediSCSIVolumeRequest& WithSourceVolumeARN(const Aws::String& value) { SetSourceVolumeARN(value); return *this;} /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline CreateCachediSCSIVolumeRequest& WithSourceVolumeARN(Aws::String&& value) { SetSourceVolumeARN(std::move(value)); return *this;} /** *

The ARN for an existing volume. Specifying this ARN makes the new volume into * an exact copy of the specified existing volume's latest recovery point. The * VolumeSizeInBytes value for this new volume must be equal to or * larger than the size of the existing volume, in bytes.

*/ inline CreateCachediSCSIVolumeRequest& WithSourceVolumeARN(const char* value) { SetSourceVolumeARN(value); return *this;} /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; } /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; } /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); } /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); } /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline CreateCachediSCSIVolumeRequest& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;} /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline CreateCachediSCSIVolumeRequest& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;} /** *

The network interface of the gateway on which to expose the iSCSI target. * Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a * list of the network interfaces available on a gateway.

Valid Values: A * valid IP address.

*/ inline CreateCachediSCSIVolumeRequest& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;} /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline CreateCachediSCSIVolumeRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline CreateCachediSCSIVolumeRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique identifier that you use to retry a request. If you retry a request, * use the same ClientToken you specified in the initial request.

*/ inline CreateCachediSCSIVolumeRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Set to true to use Amazon S3 server-side encryption with your * own KMS key, or false to use a key managed by Amazon S3. * Optional.

Valid Values: true | false

*/ inline bool GetKMSEncrypted() const{ return m_kMSEncrypted; } /** *

Set to true to use Amazon S3 server-side encryption with your * own KMS key, or false to use a key managed by Amazon S3. * Optional.

Valid Values: true | false

*/ inline bool KMSEncryptedHasBeenSet() const { return m_kMSEncryptedHasBeenSet; } /** *

Set to true to use Amazon S3 server-side encryption with your * own KMS key, or false to use a key managed by Amazon S3. * Optional.

Valid Values: true | false

*/ inline void SetKMSEncrypted(bool value) { m_kMSEncryptedHasBeenSet = true; m_kMSEncrypted = value; } /** *

Set to true to use Amazon S3 server-side encryption with your * own KMS key, or false to use a key managed by Amazon S3. * Optional.

Valid Values: true | false

*/ inline CreateCachediSCSIVolumeRequest& WithKMSEncrypted(bool value) { SetKMSEncrypted(value); return *this;} /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline const Aws::String& GetKMSKey() const{ return m_kMSKey; } /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline bool KMSKeyHasBeenSet() const { return m_kMSKeyHasBeenSet; } /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline void SetKMSKey(const Aws::String& value) { m_kMSKeyHasBeenSet = true; m_kMSKey = value; } /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline void SetKMSKey(Aws::String&& value) { m_kMSKeyHasBeenSet = true; m_kMSKey = std::move(value); } /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline void SetKMSKey(const char* value) { m_kMSKeyHasBeenSet = true; m_kMSKey.assign(value); } /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline CreateCachediSCSIVolumeRequest& WithKMSKey(const Aws::String& value) { SetKMSKey(value); return *this;} /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline CreateCachediSCSIVolumeRequest& WithKMSKey(Aws::String&& value) { SetKMSKey(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used * for Amazon S3 server-side encryption. Storage Gateway does not support * asymmetric CMKs. This value can only be set when KMSEncrypted is * true. Optional.

*/ inline CreateCachediSCSIVolumeRequest& WithKMSKey(const char* value) { SetKMSKey(value); return *this;} /** *

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

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

A list of up to 50 tags that you can assign to a cached volume. Each tag is a * key-value pair.

Valid characters for key and value are letters, * spaces, and numbers that you can represent in UTF-8 format, and the following * special characters: + - = . _ : / @. The maximum length of a tag's key is 128 * characters, and the maximum length for a tag's value is 256 characters.

* */ inline CreateCachediSCSIVolumeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_gatewayARN; bool m_gatewayARNHasBeenSet = false; long long m_volumeSizeInBytes; bool m_volumeSizeInBytesHasBeenSet = false; Aws::String m_snapshotId; bool m_snapshotIdHasBeenSet = false; Aws::String m_targetName; bool m_targetNameHasBeenSet = false; Aws::String m_sourceVolumeARN; bool m_sourceVolumeARNHasBeenSet = false; Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; bool m_kMSEncrypted; bool m_kMSEncryptedHasBeenSet = false; Aws::String m_kMSKey; bool m_kMSKeyHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws