AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CopyVolumesRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/TagSpecification.h>
13#include <aws/ec2/model/VolumeType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace EC2 {
19namespace Model {
20
24 public:
25 AWS_EC2_API CopyVolumesRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "CopyVolumes"; }
32
33 AWS_EC2_API Aws::String SerializePayload() const override;
34
35 protected:
36 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
37
38 public:
40
43 inline const Aws::String& GetSourceVolumeId() const { return m_sourceVolumeId; }
44 inline bool SourceVolumeIdHasBeenSet() const { return m_sourceVolumeIdHasBeenSet; }
45 template <typename SourceVolumeIdT = Aws::String>
46 void SetSourceVolumeId(SourceVolumeIdT&& value) {
47 m_sourceVolumeIdHasBeenSet = true;
48 m_sourceVolumeId = std::forward<SourceVolumeIdT>(value);
49 }
50 template <typename SourceVolumeIdT = Aws::String>
51 CopyVolumesRequest& WithSourceVolumeId(SourceVolumeIdT&& value) {
52 SetSourceVolumeId(std::forward<SourceVolumeIdT>(value));
53 return *this;
54 }
56
58
70 inline int GetIops() const { return m_iops; }
71 inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; }
72 inline void SetIops(int value) {
73 m_iopsHasBeenSet = true;
74 m_iops = value;
75 }
76 inline CopyVolumesRequest& WithIops(int value) {
77 SetIops(value);
78 return *this;
79 }
81
83
92 inline int GetSize() const { return m_size; }
93 inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
94 inline void SetSize(int value) {
95 m_sizeHasBeenSet = true;
96 m_size = value;
97 }
98 inline CopyVolumesRequest& WithSize(int value) {
99 SetSize(value);
100 return *this;
101 }
103
105
109 inline VolumeType GetVolumeType() const { return m_volumeType; }
110 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
111 inline void SetVolumeType(VolumeType value) {
112 m_volumeTypeHasBeenSet = true;
113 m_volumeType = value;
114 }
116 SetVolumeType(value);
117 return *this;
118 }
120
122
128 inline bool GetDryRun() const { return m_dryRun; }
129 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
130 inline void SetDryRun(bool value) {
131 m_dryRunHasBeenSet = true;
132 m_dryRun = value;
133 }
134 inline CopyVolumesRequest& WithDryRun(bool value) {
135 SetDryRun(value);
136 return *this;
137 }
139
141
144 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
145 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
146 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
147 void SetTagSpecifications(TagSpecificationsT&& value) {
148 m_tagSpecificationsHasBeenSet = true;
149 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
150 }
151 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
152 CopyVolumesRequest& WithTagSpecifications(TagSpecificationsT&& value) {
153 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
154 return *this;
155 }
156 template <typename TagSpecificationsT = TagSpecification>
157 CopyVolumesRequest& AddTagSpecifications(TagSpecificationsT&& value) {
158 m_tagSpecificationsHasBeenSet = true;
159 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
160 return *this;
161 }
163
165
173 inline bool GetMultiAttachEnabled() const { return m_multiAttachEnabled; }
174 inline bool MultiAttachEnabledHasBeenSet() const { return m_multiAttachEnabledHasBeenSet; }
175 inline void SetMultiAttachEnabled(bool value) {
176 m_multiAttachEnabledHasBeenSet = true;
177 m_multiAttachEnabled = value;
178 }
181 return *this;
182 }
184
186
192 inline int GetThroughput() const { return m_throughput; }
193 inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; }
194 inline void SetThroughput(int value) {
195 m_throughputHasBeenSet = true;
196 m_throughput = value;
197 }
199 SetThroughput(value);
200 return *this;
201 }
203
205
211 inline const Aws::String& GetClientToken() const { return m_clientToken; }
212 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
213 template <typename ClientTokenT = Aws::String>
214 void SetClientToken(ClientTokenT&& value) {
215 m_clientTokenHasBeenSet = true;
216 m_clientToken = std::forward<ClientTokenT>(value);
217 }
218 template <typename ClientTokenT = Aws::String>
219 CopyVolumesRequest& WithClientToken(ClientTokenT&& value) {
220 SetClientToken(std::forward<ClientTokenT>(value));
221 return *this;
222 }
224 private:
225 Aws::String m_sourceVolumeId;
226
227 int m_iops{0};
228
229 int m_size{0};
230
231 VolumeType m_volumeType{VolumeType::NOT_SET};
232
233 bool m_dryRun{false};
234
235 Aws::Vector<TagSpecification> m_tagSpecifications;
236
237 bool m_multiAttachEnabled{false};
238
239 int m_throughput{0};
240
242 bool m_sourceVolumeIdHasBeenSet = false;
243 bool m_iopsHasBeenSet = false;
244 bool m_sizeHasBeenSet = false;
245 bool m_volumeTypeHasBeenSet = false;
246 bool m_dryRunHasBeenSet = false;
247 bool m_tagSpecificationsHasBeenSet = false;
248 bool m_multiAttachEnabledHasBeenSet = false;
249 bool m_throughputHasBeenSet = false;
250 bool m_clientTokenHasBeenSet = true;
251};
252
253} // namespace Model
254} // namespace EC2
255} // namespace Aws
AWS_EC2_API CopyVolumesRequest()=default
void SetTagSpecifications(TagSpecificationsT &&value)
CopyVolumesRequest & WithDryRun(bool value)
const Aws::String & GetClientToken() const
CopyVolumesRequest & AddTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CopyVolumesRequest & WithSourceVolumeId(SourceVolumeIdT &&value)
CopyVolumesRequest & WithVolumeType(VolumeType value)
void SetSourceVolumeId(SourceVolumeIdT &&value)
CopyVolumesRequest & WithIops(int value)
const Aws::String & GetSourceVolumeId() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CopyVolumesRequest & WithThroughput(int value)
void SetClientToken(ClientTokenT &&value)
CopyVolumesRequest & WithClientToken(ClientTokenT &&value)
CopyVolumesRequest & WithSize(int value)
AWS_EC2_API Aws::String SerializePayload() const override
virtual const char * GetServiceRequestName() const override
CopyVolumesRequest & WithMultiAttachEnabled(bool value)
CopyVolumesRequest & WithTagSpecifications(TagSpecificationsT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector