AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateVpcRequest.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#include <aws/ec2/model/Tenancy.h>
13#include <aws/ec2/model/VpcEncryptionControlConfiguration.h>
14
15#include <utility>
16
17namespace Aws {
18namespace EC2 {
19namespace Model {
20
24 public:
25 AWS_EC2_API CreateVpcRequest() = 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 "CreateVpc"; }
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
46 inline const Aws::String& GetCidrBlock() const { return m_cidrBlock; }
47 inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; }
48 template <typename CidrBlockT = Aws::String>
49 void SetCidrBlock(CidrBlockT&& value) {
50 m_cidrBlockHasBeenSet = true;
51 m_cidrBlock = std::forward<CidrBlockT>(value);
52 }
53 template <typename CidrBlockT = Aws::String>
54 CreateVpcRequest& WithCidrBlock(CidrBlockT&& value) {
55 SetCidrBlock(std::forward<CidrBlockT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::String& GetIpv6Pool() const { return m_ipv6Pool; }
66 inline bool Ipv6PoolHasBeenSet() const { return m_ipv6PoolHasBeenSet; }
67 template <typename Ipv6PoolT = Aws::String>
68 void SetIpv6Pool(Ipv6PoolT&& value) {
69 m_ipv6PoolHasBeenSet = true;
70 m_ipv6Pool = std::forward<Ipv6PoolT>(value);
71 }
72 template <typename Ipv6PoolT = Aws::String>
73 CreateVpcRequest& WithIpv6Pool(Ipv6PoolT&& value) {
74 SetIpv6Pool(std::forward<Ipv6PoolT>(value));
75 return *this;
76 }
78
80
85 inline const Aws::String& GetIpv6CidrBlock() const { return m_ipv6CidrBlock; }
86 inline bool Ipv6CidrBlockHasBeenSet() const { return m_ipv6CidrBlockHasBeenSet; }
87 template <typename Ipv6CidrBlockT = Aws::String>
88 void SetIpv6CidrBlock(Ipv6CidrBlockT&& value) {
89 m_ipv6CidrBlockHasBeenSet = true;
90 m_ipv6CidrBlock = std::forward<Ipv6CidrBlockT>(value);
91 }
92 template <typename Ipv6CidrBlockT = Aws::String>
93 CreateVpcRequest& WithIpv6CidrBlock(Ipv6CidrBlockT&& value) {
94 SetIpv6CidrBlock(std::forward<Ipv6CidrBlockT>(value));
95 return *this;
96 }
98
100
106 inline const Aws::String& GetIpv4IpamPoolId() const { return m_ipv4IpamPoolId; }
107 inline bool Ipv4IpamPoolIdHasBeenSet() const { return m_ipv4IpamPoolIdHasBeenSet; }
108 template <typename Ipv4IpamPoolIdT = Aws::String>
109 void SetIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) {
110 m_ipv4IpamPoolIdHasBeenSet = true;
111 m_ipv4IpamPoolId = std::forward<Ipv4IpamPoolIdT>(value);
112 }
113 template <typename Ipv4IpamPoolIdT = Aws::String>
114 CreateVpcRequest& WithIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) {
115 SetIpv4IpamPoolId(std::forward<Ipv4IpamPoolIdT>(value));
116 return *this;
117 }
119
121
127 inline int GetIpv4NetmaskLength() const { return m_ipv4NetmaskLength; }
128 inline bool Ipv4NetmaskLengthHasBeenSet() const { return m_ipv4NetmaskLengthHasBeenSet; }
129 inline void SetIpv4NetmaskLength(int value) {
130 m_ipv4NetmaskLengthHasBeenSet = true;
131 m_ipv4NetmaskLength = value;
132 }
135 return *this;
136 }
138
140
149 inline const Aws::String& GetIpv6IpamPoolId() const { return m_ipv6IpamPoolId; }
150 inline bool Ipv6IpamPoolIdHasBeenSet() const { return m_ipv6IpamPoolIdHasBeenSet; }
151 template <typename Ipv6IpamPoolIdT = Aws::String>
152 void SetIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) {
153 m_ipv6IpamPoolIdHasBeenSet = true;
154 m_ipv6IpamPoolId = std::forward<Ipv6IpamPoolIdT>(value);
155 }
156 template <typename Ipv6IpamPoolIdT = Aws::String>
157 CreateVpcRequest& WithIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) {
158 SetIpv6IpamPoolId(std::forward<Ipv6IpamPoolIdT>(value));
159 return *this;
160 }
162
164
170 inline int GetIpv6NetmaskLength() const { return m_ipv6NetmaskLength; }
171 inline bool Ipv6NetmaskLengthHasBeenSet() const { return m_ipv6NetmaskLengthHasBeenSet; }
172 inline void SetIpv6NetmaskLength(int value) {
173 m_ipv6NetmaskLengthHasBeenSet = true;
174 m_ipv6NetmaskLength = value;
175 }
178 return *this;
179 }
181
183
189 inline const Aws::String& GetIpv6CidrBlockNetworkBorderGroup() const { return m_ipv6CidrBlockNetworkBorderGroup; }
190 inline bool Ipv6CidrBlockNetworkBorderGroupHasBeenSet() const { return m_ipv6CidrBlockNetworkBorderGroupHasBeenSet; }
191 template <typename Ipv6CidrBlockNetworkBorderGroupT = Aws::String>
192 void SetIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT&& value) {
193 m_ipv6CidrBlockNetworkBorderGroupHasBeenSet = true;
194 m_ipv6CidrBlockNetworkBorderGroup = std::forward<Ipv6CidrBlockNetworkBorderGroupT>(value);
195 }
196 template <typename Ipv6CidrBlockNetworkBorderGroupT = Aws::String>
197 CreateVpcRequest& WithIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT&& value) {
198 SetIpv6CidrBlockNetworkBorderGroup(std::forward<Ipv6CidrBlockNetworkBorderGroupT>(value));
199 return *this;
200 }
202
204
212 inline const VpcEncryptionControlConfiguration& GetVpcEncryptionControl() const { return m_vpcEncryptionControl; }
213 inline bool VpcEncryptionControlHasBeenSet() const { return m_vpcEncryptionControlHasBeenSet; }
214 template <typename VpcEncryptionControlT = VpcEncryptionControlConfiguration>
215 void SetVpcEncryptionControl(VpcEncryptionControlT&& value) {
216 m_vpcEncryptionControlHasBeenSet = true;
217 m_vpcEncryptionControl = std::forward<VpcEncryptionControlT>(value);
218 }
219 template <typename VpcEncryptionControlT = VpcEncryptionControlConfiguration>
220 CreateVpcRequest& WithVpcEncryptionControl(VpcEncryptionControlT&& value) {
221 SetVpcEncryptionControl(std::forward<VpcEncryptionControlT>(value));
222 return *this;
223 }
225
227
230 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
231 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
232 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
233 void SetTagSpecifications(TagSpecificationsT&& value) {
234 m_tagSpecificationsHasBeenSet = true;
235 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
236 }
237 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
238 CreateVpcRequest& WithTagSpecifications(TagSpecificationsT&& value) {
239 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
240 return *this;
241 }
242 template <typename TagSpecificationsT = TagSpecification>
243 CreateVpcRequest& AddTagSpecifications(TagSpecificationsT&& value) {
244 m_tagSpecificationsHasBeenSet = true;
245 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
246 return *this;
247 }
249
251
257 inline bool GetDryRun() const { return m_dryRun; }
258 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
259 inline void SetDryRun(bool value) {
260 m_dryRunHasBeenSet = true;
261 m_dryRun = value;
262 }
263 inline CreateVpcRequest& WithDryRun(bool value) {
264 SetDryRun(value);
265 return *this;
266 }
268
270
281 inline Tenancy GetInstanceTenancy() const { return m_instanceTenancy; }
282 inline bool InstanceTenancyHasBeenSet() const { return m_instanceTenancyHasBeenSet; }
283 inline void SetInstanceTenancy(Tenancy value) {
284 m_instanceTenancyHasBeenSet = true;
285 m_instanceTenancy = value;
286 }
288 SetInstanceTenancy(value);
289 return *this;
290 }
292
294
299 inline bool GetAmazonProvidedIpv6CidrBlock() const { return m_amazonProvidedIpv6CidrBlock; }
300 inline bool AmazonProvidedIpv6CidrBlockHasBeenSet() const { return m_amazonProvidedIpv6CidrBlockHasBeenSet; }
301 inline void SetAmazonProvidedIpv6CidrBlock(bool value) {
302 m_amazonProvidedIpv6CidrBlockHasBeenSet = true;
303 m_amazonProvidedIpv6CidrBlock = value;
304 }
307 return *this;
308 }
310 private:
311 Aws::String m_cidrBlock;
312
313 Aws::String m_ipv6Pool;
314
315 Aws::String m_ipv6CidrBlock;
316
317 Aws::String m_ipv4IpamPoolId;
318
319 int m_ipv4NetmaskLength{0};
320
321 Aws::String m_ipv6IpamPoolId;
322
323 int m_ipv6NetmaskLength{0};
324
325 Aws::String m_ipv6CidrBlockNetworkBorderGroup;
326
327 VpcEncryptionControlConfiguration m_vpcEncryptionControl;
328
329 Aws::Vector<TagSpecification> m_tagSpecifications;
330
331 bool m_dryRun{false};
332
333 Tenancy m_instanceTenancy{Tenancy::NOT_SET};
334
335 bool m_amazonProvidedIpv6CidrBlock{false};
336 bool m_cidrBlockHasBeenSet = false;
337 bool m_ipv6PoolHasBeenSet = false;
338 bool m_ipv6CidrBlockHasBeenSet = false;
339 bool m_ipv4IpamPoolIdHasBeenSet = false;
340 bool m_ipv4NetmaskLengthHasBeenSet = false;
341 bool m_ipv6IpamPoolIdHasBeenSet = false;
342 bool m_ipv6NetmaskLengthHasBeenSet = false;
343 bool m_ipv6CidrBlockNetworkBorderGroupHasBeenSet = false;
344 bool m_vpcEncryptionControlHasBeenSet = false;
345 bool m_tagSpecificationsHasBeenSet = false;
346 bool m_dryRunHasBeenSet = false;
347 bool m_instanceTenancyHasBeenSet = false;
348 bool m_amazonProvidedIpv6CidrBlockHasBeenSet = false;
349};
350
351} // namespace Model
352} // namespace EC2
353} // namespace Aws
void SetCidrBlock(CidrBlockT &&value)
void SetAmazonProvidedIpv6CidrBlock(bool value)
const Aws::String & GetIpv6CidrBlockNetworkBorderGroup() const
void SetIpv4IpamPoolId(Ipv4IpamPoolIdT &&value)
const Aws::String & GetIpv4IpamPoolId() const
CreateVpcRequest & WithIpv6CidrBlock(Ipv6CidrBlockT &&value)
CreateVpcRequest & WithVpcEncryptionControl(VpcEncryptionControlT &&value)
CreateVpcRequest & WithCidrBlock(CidrBlockT &&value)
CreateVpcRequest & WithIpv6NetmaskLength(int value)
CreateVpcRequest & WithIpv4NetmaskLength(int value)
const Aws::String & GetIpv6Pool() const
CreateVpcRequest & WithIpv6Pool(Ipv6PoolT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateVpcRequest & AddTagSpecifications(TagSpecificationsT &&value)
const VpcEncryptionControlConfiguration & GetVpcEncryptionControl() const
CreateVpcRequest & WithIpv6IpamPoolId(Ipv6IpamPoolIdT &&value)
const Aws::String & GetIpv6CidrBlock() const
void SetIpv6CidrBlock(Ipv6CidrBlockT &&value)
CreateVpcRequest & WithDryRun(bool value)
void SetIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT &&value)
const Aws::String & GetIpv6IpamPoolId() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateVpcRequest & WithAmazonProvidedIpv6CidrBlock(bool value)
AWS_EC2_API CreateVpcRequest()=default
void SetTagSpecifications(TagSpecificationsT &&value)
const Aws::String & GetCidrBlock() const
AWS_EC2_API Aws::String SerializePayload() const override
void SetIpv6Pool(Ipv6PoolT &&value)
CreateVpcRequest & WithInstanceTenancy(Tenancy value)
virtual const char * GetServiceRequestName() const override
void SetVpcEncryptionControl(VpcEncryptionControlT &&value)
CreateVpcRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateVpcRequest & WithIpv4IpamPoolId(Ipv4IpamPoolIdT &&value)
void SetIpv6IpamPoolId(Ipv6IpamPoolIdT &&value)
CreateVpcRequest & WithIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector