AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateSubnetRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2Request.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/TagSpecification.h>
12
13#include <utility>
14
15namespace Aws {
16namespace EC2 {
17namespace Model {
18
22 public:
23 AWS_EC2_API CreateSubnetRequest() = default;
24
25 // Service request name is the Operation name which will send this request out,
26 // each operation should has unique request name, so that we can get operation's name from this request.
27 // Note: this is not true for response, multiple operations may have the same response name,
28 // so we can not get operation's name from response.
29 inline virtual const char* GetServiceRequestName() const override { return "CreateSubnet"; }
30
31 AWS_EC2_API Aws::String SerializePayload() const override;
32
33 protected:
34 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
35
36 public:
38
41 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
42 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
43 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
44 void SetTagSpecifications(TagSpecificationsT&& value) {
45 m_tagSpecificationsHasBeenSet = true;
46 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
47 }
48 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
49 CreateSubnetRequest& WithTagSpecifications(TagSpecificationsT&& value) {
50 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
51 return *this;
52 }
53 template <typename TagSpecificationsT = TagSpecification>
54 CreateSubnetRequest& AddTagSpecifications(TagSpecificationsT&& value) {
55 m_tagSpecificationsHasBeenSet = true;
56 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
57 return *this;
58 }
60
62
73 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
74 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
75 template <typename AvailabilityZoneT = Aws::String>
76 void SetAvailabilityZone(AvailabilityZoneT&& value) {
77 m_availabilityZoneHasBeenSet = true;
78 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
79 }
80 template <typename AvailabilityZoneT = Aws::String>
81 CreateSubnetRequest& WithAvailabilityZone(AvailabilityZoneT&& value) {
82 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
83 return *this;
84 }
86
88
91 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
92 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
93 template <typename AvailabilityZoneIdT = Aws::String>
94 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
95 m_availabilityZoneIdHasBeenSet = true;
96 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
97 }
98 template <typename AvailabilityZoneIdT = Aws::String>
99 CreateSubnetRequest& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
100 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
101 return *this;
102 }
104
106
113 inline const Aws::String& GetCidrBlock() const { return m_cidrBlock; }
114 inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; }
115 template <typename CidrBlockT = Aws::String>
116 void SetCidrBlock(CidrBlockT&& value) {
117 m_cidrBlockHasBeenSet = true;
118 m_cidrBlock = std::forward<CidrBlockT>(value);
119 }
120 template <typename CidrBlockT = Aws::String>
121 CreateSubnetRequest& WithCidrBlock(CidrBlockT&& value) {
122 SetCidrBlock(std::forward<CidrBlockT>(value));
123 return *this;
124 }
126
128
132 inline const Aws::String& GetIpv6CidrBlock() const { return m_ipv6CidrBlock; }
133 inline bool Ipv6CidrBlockHasBeenSet() const { return m_ipv6CidrBlockHasBeenSet; }
134 template <typename Ipv6CidrBlockT = Aws::String>
135 void SetIpv6CidrBlock(Ipv6CidrBlockT&& value) {
136 m_ipv6CidrBlockHasBeenSet = true;
137 m_ipv6CidrBlock = std::forward<Ipv6CidrBlockT>(value);
138 }
139 template <typename Ipv6CidrBlockT = Aws::String>
140 CreateSubnetRequest& WithIpv6CidrBlock(Ipv6CidrBlockT&& value) {
141 SetIpv6CidrBlock(std::forward<Ipv6CidrBlockT>(value));
142 return *this;
143 }
145
147
151 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
152 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
153 template <typename OutpostArnT = Aws::String>
154 void SetOutpostArn(OutpostArnT&& value) {
155 m_outpostArnHasBeenSet = true;
156 m_outpostArn = std::forward<OutpostArnT>(value);
157 }
158 template <typename OutpostArnT = Aws::String>
159 CreateSubnetRequest& WithOutpostArn(OutpostArnT&& value) {
160 SetOutpostArn(std::forward<OutpostArnT>(value));
161 return *this;
162 }
164
166
169 inline const Aws::String& GetVpcId() const { return m_vpcId; }
170 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
171 template <typename VpcIdT = Aws::String>
172 void SetVpcId(VpcIdT&& value) {
173 m_vpcIdHasBeenSet = true;
174 m_vpcId = std::forward<VpcIdT>(value);
175 }
176 template <typename VpcIdT = Aws::String>
178 SetVpcId(std::forward<VpcIdT>(value));
179 return *this;
180 }
182
184
187 inline bool GetIpv6Native() const { return m_ipv6Native; }
188 inline bool Ipv6NativeHasBeenSet() const { return m_ipv6NativeHasBeenSet; }
189 inline void SetIpv6Native(bool value) {
190 m_ipv6NativeHasBeenSet = true;
191 m_ipv6Native = value;
192 }
194 SetIpv6Native(value);
195 return *this;
196 }
198
200
203 inline const Aws::String& GetIpv4IpamPoolId() const { return m_ipv4IpamPoolId; }
204 inline bool Ipv4IpamPoolIdHasBeenSet() const { return m_ipv4IpamPoolIdHasBeenSet; }
205 template <typename Ipv4IpamPoolIdT = Aws::String>
206 void SetIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) {
207 m_ipv4IpamPoolIdHasBeenSet = true;
208 m_ipv4IpamPoolId = std::forward<Ipv4IpamPoolIdT>(value);
209 }
210 template <typename Ipv4IpamPoolIdT = Aws::String>
211 CreateSubnetRequest& WithIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) {
212 SetIpv4IpamPoolId(std::forward<Ipv4IpamPoolIdT>(value));
213 return *this;
214 }
216
218
221 inline int GetIpv4NetmaskLength() const { return m_ipv4NetmaskLength; }
222 inline bool Ipv4NetmaskLengthHasBeenSet() const { return m_ipv4NetmaskLengthHasBeenSet; }
223 inline void SetIpv4NetmaskLength(int value) {
224 m_ipv4NetmaskLengthHasBeenSet = true;
225 m_ipv4NetmaskLength = value;
226 }
229 return *this;
230 }
232
234
237 inline const Aws::String& GetIpv6IpamPoolId() const { return m_ipv6IpamPoolId; }
238 inline bool Ipv6IpamPoolIdHasBeenSet() const { return m_ipv6IpamPoolIdHasBeenSet; }
239 template <typename Ipv6IpamPoolIdT = Aws::String>
240 void SetIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) {
241 m_ipv6IpamPoolIdHasBeenSet = true;
242 m_ipv6IpamPoolId = std::forward<Ipv6IpamPoolIdT>(value);
243 }
244 template <typename Ipv6IpamPoolIdT = Aws::String>
245 CreateSubnetRequest& WithIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) {
246 SetIpv6IpamPoolId(std::forward<Ipv6IpamPoolIdT>(value));
247 return *this;
248 }
250
252
255 inline int GetIpv6NetmaskLength() const { return m_ipv6NetmaskLength; }
256 inline bool Ipv6NetmaskLengthHasBeenSet() const { return m_ipv6NetmaskLengthHasBeenSet; }
257 inline void SetIpv6NetmaskLength(int value) {
258 m_ipv6NetmaskLengthHasBeenSet = true;
259 m_ipv6NetmaskLength = value;
260 }
263 return *this;
264 }
266
268
274 inline bool GetDryRun() const { return m_dryRun; }
275 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
276 inline void SetDryRun(bool value) {
277 m_dryRunHasBeenSet = true;
278 m_dryRun = value;
279 }
280 inline CreateSubnetRequest& WithDryRun(bool value) {
281 SetDryRun(value);
282 return *this;
283 }
285 private:
286 Aws::Vector<TagSpecification> m_tagSpecifications;
287
288 Aws::String m_availabilityZone;
289
290 Aws::String m_availabilityZoneId;
291
292 Aws::String m_cidrBlock;
293
294 Aws::String m_ipv6CidrBlock;
295
296 Aws::String m_outpostArn;
297
298 Aws::String m_vpcId;
299
300 bool m_ipv6Native{false};
301
302 Aws::String m_ipv4IpamPoolId;
303
304 int m_ipv4NetmaskLength{0};
305
306 Aws::String m_ipv6IpamPoolId;
307
308 int m_ipv6NetmaskLength{0};
309
310 bool m_dryRun{false};
311 bool m_tagSpecificationsHasBeenSet = false;
312 bool m_availabilityZoneHasBeenSet = false;
313 bool m_availabilityZoneIdHasBeenSet = false;
314 bool m_cidrBlockHasBeenSet = false;
315 bool m_ipv6CidrBlockHasBeenSet = false;
316 bool m_outpostArnHasBeenSet = false;
317 bool m_vpcIdHasBeenSet = false;
318 bool m_ipv6NativeHasBeenSet = false;
319 bool m_ipv4IpamPoolIdHasBeenSet = false;
320 bool m_ipv4NetmaskLengthHasBeenSet = false;
321 bool m_ipv6IpamPoolIdHasBeenSet = false;
322 bool m_ipv6NetmaskLengthHasBeenSet = false;
323 bool m_dryRunHasBeenSet = false;
324};
325
326} // namespace Model
327} // namespace EC2
328} // namespace Aws
CreateSubnetRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
CreateSubnetRequest & WithTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API CreateSubnetRequest()=default
CreateSubnetRequest & WithIpv4IpamPoolId(Ipv4IpamPoolIdT &&value)
CreateSubnetRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
CreateSubnetRequest & WithVpcId(VpcIdT &&value)
const Aws::String & GetOutpostArn() const
const Aws::String & GetIpv6CidrBlock() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateSubnetRequest & WithIpv6CidrBlock(Ipv6CidrBlockT &&value)
const Aws::String & GetCidrBlock() const
virtual const char * GetServiceRequestName() const override
CreateSubnetRequest & WithOutpostArn(OutpostArnT &&value)
CreateSubnetRequest & WithIpv4NetmaskLength(int value)
void SetIpv6CidrBlock(Ipv6CidrBlockT &&value)
CreateSubnetRequest & WithCidrBlock(CidrBlockT &&value)
void SetIpv4IpamPoolId(Ipv4IpamPoolIdT &&value)
CreateSubnetRequest & WithIpv6Native(bool value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetIpv6IpamPoolId(Ipv6IpamPoolIdT &&value)
const Aws::String & GetIpv4IpamPoolId() const
CreateSubnetRequest & WithIpv6NetmaskLength(int value)
CreateSubnetRequest & WithDryRun(bool value)
const Aws::String & GetAvailabilityZoneId() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateSubnetRequest & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
CreateSubnetRequest & WithIpv6IpamPoolId(Ipv6IpamPoolIdT &&value)
const Aws::String & GetIpv6IpamPoolId() const
void SetTagSpecifications(TagSpecificationsT &&value)
const Aws::String & GetAvailabilityZone() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector