AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateVolumeRequest.h
1
6#pragma once
7#include <aws/workspaces-instances/WorkspacesInstances_EXPORTS.h>
8#include <aws/workspaces-instances/WorkspacesInstancesRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/workspaces-instances/model/VolumeTypeEnum.h>
12#include <aws/workspaces-instances/model/TagSpecification.h>
13#include <utility>
14#include <aws/core/utils/UUID.h>
15
16namespace Aws
17{
18namespace WorkspacesInstances
19{
20namespace Model
21{
22
29 {
30 public:
31 AWS_WORKSPACESINSTANCES_API CreateVolumeRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateVolume"; }
38
39 AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override;
40
41 AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
42
43
45
48 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
49 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
50 template<typename AvailabilityZoneT = Aws::String>
51 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
52 template<typename AvailabilityZoneT = Aws::String>
53 CreateVolumeRequest& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
55
57
60 inline const Aws::String& GetClientToken() const { return m_clientToken; }
61 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
62 template<typename ClientTokenT = Aws::String>
63 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
64 template<typename ClientTokenT = Aws::String>
65 CreateVolumeRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
67
69
72 inline bool GetEncrypted() const { return m_encrypted; }
73 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
74 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
75 inline CreateVolumeRequest& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
77
79
82 inline int GetIops() const { return m_iops; }
83 inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; }
84 inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; }
85 inline CreateVolumeRequest& WithIops(int value) { SetIops(value); return *this;}
87
89
92 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
93 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
94 template<typename KmsKeyIdT = Aws::String>
95 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
96 template<typename KmsKeyIdT = Aws::String>
97 CreateVolumeRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
99
101
104 inline int GetSizeInGB() const { return m_sizeInGB; }
105 inline bool SizeInGBHasBeenSet() const { return m_sizeInGBHasBeenSet; }
106 inline void SetSizeInGB(int value) { m_sizeInGBHasBeenSet = true; m_sizeInGB = value; }
107 inline CreateVolumeRequest& WithSizeInGB(int value) { SetSizeInGB(value); return *this;}
109
111
114 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
115 inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; }
116 template<typename SnapshotIdT = Aws::String>
117 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::forward<SnapshotIdT>(value); }
118 template<typename SnapshotIdT = Aws::String>
119 CreateVolumeRequest& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward<SnapshotIdT>(value)); return *this;}
121
123
126 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
127 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
128 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
129 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
130 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
131 CreateVolumeRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
132 template<typename TagSpecificationsT = TagSpecification>
133 CreateVolumeRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
135
137
140 inline int GetThroughput() const { return m_throughput; }
141 inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; }
142 inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; }
143 inline CreateVolumeRequest& WithThroughput(int value) { SetThroughput(value); return *this;}
145
147
150 inline VolumeTypeEnum GetVolumeType() const { return m_volumeType; }
151 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
152 inline void SetVolumeType(VolumeTypeEnum value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
153 inline CreateVolumeRequest& WithVolumeType(VolumeTypeEnum value) { SetVolumeType(value); return *this;}
155 private:
156
157 Aws::String m_availabilityZone;
158 bool m_availabilityZoneHasBeenSet = false;
159
161 bool m_clientTokenHasBeenSet = true;
162
163 bool m_encrypted{false};
164 bool m_encryptedHasBeenSet = false;
165
166 int m_iops{0};
167 bool m_iopsHasBeenSet = false;
168
169 Aws::String m_kmsKeyId;
170 bool m_kmsKeyIdHasBeenSet = false;
171
172 int m_sizeInGB{0};
173 bool m_sizeInGBHasBeenSet = false;
174
175 Aws::String m_snapshotId;
176 bool m_snapshotIdHasBeenSet = false;
177
178 Aws::Vector<TagSpecification> m_tagSpecifications;
179 bool m_tagSpecificationsHasBeenSet = false;
180
181 int m_throughput{0};
182 bool m_throughputHasBeenSet = false;
183
185 bool m_volumeTypeHasBeenSet = false;
186 };
187
188} // namespace Model
189} // namespace WorkspacesInstances
190} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
virtual const char * GetServiceRequestName() const override
CreateVolumeRequest & WithKmsKeyId(KmsKeyIdT &&value)
AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_WORKSPACESINSTANCES_API CreateVolumeRequest()=default
CreateVolumeRequest & WithClientToken(ClientTokenT &&value)
CreateVolumeRequest & WithSnapshotId(SnapshotIdT &&value)
AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override
CreateVolumeRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateVolumeRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateVolumeRequest & WithVolumeType(VolumeTypeEnum value)
CreateVolumeRequest & AddTagSpecifications(TagSpecificationsT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector