AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateVpcRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/Tenancy.h>
12#include <aws/ec2/model/TagSpecification.h>
13#include <utility>
14
15namespace Aws
16{
17namespace EC2
18{
19namespace Model
20{
21
25 {
26 public:
27 AWS_EC2_API CreateVpcRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateVpc"; }
34
35 AWS_EC2_API Aws::String SerializePayload() const override;
36
37 protected:
38 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
39
40 public:
41
43
49 inline const Aws::String& GetCidrBlock() const { return m_cidrBlock; }
50 inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; }
51 template<typename CidrBlockT = Aws::String>
52 void SetCidrBlock(CidrBlockT&& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = std::forward<CidrBlockT>(value); }
53 template<typename CidrBlockT = Aws::String>
54 CreateVpcRequest& WithCidrBlock(CidrBlockT&& value) { SetCidrBlock(std::forward<CidrBlockT>(value)); return *this;}
56
58
62 inline const Aws::String& GetIpv6Pool() const { return m_ipv6Pool; }
63 inline bool Ipv6PoolHasBeenSet() const { return m_ipv6PoolHasBeenSet; }
64 template<typename Ipv6PoolT = Aws::String>
65 void SetIpv6Pool(Ipv6PoolT&& value) { m_ipv6PoolHasBeenSet = true; m_ipv6Pool = std::forward<Ipv6PoolT>(value); }
66 template<typename Ipv6PoolT = Aws::String>
67 CreateVpcRequest& WithIpv6Pool(Ipv6PoolT&& value) { SetIpv6Pool(std::forward<Ipv6PoolT>(value)); return *this;}
69
71
76 inline const Aws::String& GetIpv6CidrBlock() const { return m_ipv6CidrBlock; }
77 inline bool Ipv6CidrBlockHasBeenSet() const { return m_ipv6CidrBlockHasBeenSet; }
78 template<typename Ipv6CidrBlockT = Aws::String>
79 void SetIpv6CidrBlock(Ipv6CidrBlockT&& value) { m_ipv6CidrBlockHasBeenSet = true; m_ipv6CidrBlock = std::forward<Ipv6CidrBlockT>(value); }
80 template<typename Ipv6CidrBlockT = Aws::String>
81 CreateVpcRequest& WithIpv6CidrBlock(Ipv6CidrBlockT&& value) { SetIpv6CidrBlock(std::forward<Ipv6CidrBlockT>(value)); return *this;}
83
85
91 inline const Aws::String& GetIpv4IpamPoolId() const { return m_ipv4IpamPoolId; }
92 inline bool Ipv4IpamPoolIdHasBeenSet() const { return m_ipv4IpamPoolIdHasBeenSet; }
93 template<typename Ipv4IpamPoolIdT = Aws::String>
94 void SetIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) { m_ipv4IpamPoolIdHasBeenSet = true; m_ipv4IpamPoolId = std::forward<Ipv4IpamPoolIdT>(value); }
95 template<typename Ipv4IpamPoolIdT = Aws::String>
96 CreateVpcRequest& WithIpv4IpamPoolId(Ipv4IpamPoolIdT&& value) { SetIpv4IpamPoolId(std::forward<Ipv4IpamPoolIdT>(value)); return *this;}
98
100
106 inline int GetIpv4NetmaskLength() const { return m_ipv4NetmaskLength; }
107 inline bool Ipv4NetmaskLengthHasBeenSet() const { return m_ipv4NetmaskLengthHasBeenSet; }
108 inline void SetIpv4NetmaskLength(int value) { m_ipv4NetmaskLengthHasBeenSet = true; m_ipv4NetmaskLength = value; }
109 inline CreateVpcRequest& WithIpv4NetmaskLength(int value) { SetIpv4NetmaskLength(value); return *this;}
111
113
122 inline const Aws::String& GetIpv6IpamPoolId() const { return m_ipv6IpamPoolId; }
123 inline bool Ipv6IpamPoolIdHasBeenSet() const { return m_ipv6IpamPoolIdHasBeenSet; }
124 template<typename Ipv6IpamPoolIdT = Aws::String>
125 void SetIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) { m_ipv6IpamPoolIdHasBeenSet = true; m_ipv6IpamPoolId = std::forward<Ipv6IpamPoolIdT>(value); }
126 template<typename Ipv6IpamPoolIdT = Aws::String>
127 CreateVpcRequest& WithIpv6IpamPoolId(Ipv6IpamPoolIdT&& value) { SetIpv6IpamPoolId(std::forward<Ipv6IpamPoolIdT>(value)); return *this;}
129
131
137 inline int GetIpv6NetmaskLength() const { return m_ipv6NetmaskLength; }
138 inline bool Ipv6NetmaskLengthHasBeenSet() const { return m_ipv6NetmaskLengthHasBeenSet; }
139 inline void SetIpv6NetmaskLength(int value) { m_ipv6NetmaskLengthHasBeenSet = true; m_ipv6NetmaskLength = value; }
140 inline CreateVpcRequest& WithIpv6NetmaskLength(int value) { SetIpv6NetmaskLength(value); return *this;}
142
144
150 inline const Aws::String& GetIpv6CidrBlockNetworkBorderGroup() const { return m_ipv6CidrBlockNetworkBorderGroup; }
151 inline bool Ipv6CidrBlockNetworkBorderGroupHasBeenSet() const { return m_ipv6CidrBlockNetworkBorderGroupHasBeenSet; }
152 template<typename Ipv6CidrBlockNetworkBorderGroupT = Aws::String>
153 void SetIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT&& value) { m_ipv6CidrBlockNetworkBorderGroupHasBeenSet = true; m_ipv6CidrBlockNetworkBorderGroup = std::forward<Ipv6CidrBlockNetworkBorderGroupT>(value); }
154 template<typename Ipv6CidrBlockNetworkBorderGroupT = Aws::String>
155 CreateVpcRequest& WithIpv6CidrBlockNetworkBorderGroup(Ipv6CidrBlockNetworkBorderGroupT&& value) { SetIpv6CidrBlockNetworkBorderGroup(std::forward<Ipv6CidrBlockNetworkBorderGroupT>(value)); return *this;}
157
159
162 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
163 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
164 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
165 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
166 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
167 CreateVpcRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
168 template<typename TagSpecificationsT = TagSpecification>
169 CreateVpcRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
171
173
179 inline bool GetDryRun() const { return m_dryRun; }
180 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
181 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
182 inline CreateVpcRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
184
186
197 inline Tenancy GetInstanceTenancy() const { return m_instanceTenancy; }
198 inline bool InstanceTenancyHasBeenSet() const { return m_instanceTenancyHasBeenSet; }
199 inline void SetInstanceTenancy(Tenancy value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
200 inline CreateVpcRequest& WithInstanceTenancy(Tenancy value) { SetInstanceTenancy(value); return *this;}
202
204
209 inline bool GetAmazonProvidedIpv6CidrBlock() const { return m_amazonProvidedIpv6CidrBlock; }
210 inline bool AmazonProvidedIpv6CidrBlockHasBeenSet() const { return m_amazonProvidedIpv6CidrBlockHasBeenSet; }
211 inline void SetAmazonProvidedIpv6CidrBlock(bool value) { m_amazonProvidedIpv6CidrBlockHasBeenSet = true; m_amazonProvidedIpv6CidrBlock = value; }
214 private:
215
216 Aws::String m_cidrBlock;
217 bool m_cidrBlockHasBeenSet = false;
218
219 Aws::String m_ipv6Pool;
220 bool m_ipv6PoolHasBeenSet = false;
221
222 Aws::String m_ipv6CidrBlock;
223 bool m_ipv6CidrBlockHasBeenSet = false;
224
225 Aws::String m_ipv4IpamPoolId;
226 bool m_ipv4IpamPoolIdHasBeenSet = false;
227
228 int m_ipv4NetmaskLength{0};
229 bool m_ipv4NetmaskLengthHasBeenSet = false;
230
231 Aws::String m_ipv6IpamPoolId;
232 bool m_ipv6IpamPoolIdHasBeenSet = false;
233
234 int m_ipv6NetmaskLength{0};
235 bool m_ipv6NetmaskLengthHasBeenSet = false;
236
237 Aws::String m_ipv6CidrBlockNetworkBorderGroup;
238 bool m_ipv6CidrBlockNetworkBorderGroupHasBeenSet = false;
239
240 Aws::Vector<TagSpecification> m_tagSpecifications;
241 bool m_tagSpecificationsHasBeenSet = false;
242
243 bool m_dryRun{false};
244 bool m_dryRunHasBeenSet = false;
245
246 Tenancy m_instanceTenancy{Tenancy::NOT_SET};
247 bool m_instanceTenancyHasBeenSet = false;
248
249 bool m_amazonProvidedIpv6CidrBlock{false};
250 bool m_amazonProvidedIpv6CidrBlockHasBeenSet = false;
251 };
252
253} // namespace Model
254} // namespace EC2
255} // 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 & 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)
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
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