AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateVpcEndpointRequest.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/DnsOptionsSpecification.h>
12#include <aws/ec2/model/IpAddressType.h>
13#include <aws/ec2/model/SubnetConfiguration.h>
14#include <aws/ec2/model/TagSpecification.h>
15#include <aws/ec2/model/VpcEndpointType.h>
16
17#include <utility>
18
19namespace Aws {
20namespace EC2 {
21namespace Model {
22
26 public:
27 AWS_EC2_API CreateVpcEndpointRequest() = 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 "CreateVpcEndpoint"; }
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:
42
48 inline bool GetDryRun() const { return m_dryRun; }
49 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
50 inline void SetDryRun(bool value) {
51 m_dryRunHasBeenSet = true;
52 m_dryRun = value;
53 }
55 SetDryRun(value);
56 return *this;
57 }
59
61
64 inline VpcEndpointType GetVpcEndpointType() const { return m_vpcEndpointType; }
65 inline bool VpcEndpointTypeHasBeenSet() const { return m_vpcEndpointTypeHasBeenSet; }
67 m_vpcEndpointTypeHasBeenSet = true;
68 m_vpcEndpointType = value;
69 }
71 SetVpcEndpointType(value);
72 return *this;
73 }
75
77
80 inline const Aws::String& GetVpcId() const { return m_vpcId; }
81 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
82 template <typename VpcIdT = Aws::String>
83 void SetVpcId(VpcIdT&& value) {
84 m_vpcIdHasBeenSet = true;
85 m_vpcId = std::forward<VpcIdT>(value);
86 }
87 template <typename VpcIdT = Aws::String>
89 SetVpcId(std::forward<VpcIdT>(value));
90 return *this;
91 }
93
95
98 inline const Aws::String& GetServiceName() const { return m_serviceName; }
99 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
100 template <typename ServiceNameT = Aws::String>
101 void SetServiceName(ServiceNameT&& value) {
102 m_serviceNameHasBeenSet = true;
103 m_serviceName = std::forward<ServiceNameT>(value);
104 }
105 template <typename ServiceNameT = Aws::String>
107 SetServiceName(std::forward<ServiceNameT>(value));
108 return *this;
109 }
111
113
119 inline const Aws::String& GetPolicyDocument() const { return m_policyDocument; }
120 inline bool PolicyDocumentHasBeenSet() const { return m_policyDocumentHasBeenSet; }
121 template <typename PolicyDocumentT = Aws::String>
122 void SetPolicyDocument(PolicyDocumentT&& value) {
123 m_policyDocumentHasBeenSet = true;
124 m_policyDocument = std::forward<PolicyDocumentT>(value);
125 }
126 template <typename PolicyDocumentT = Aws::String>
128 SetPolicyDocument(std::forward<PolicyDocumentT>(value));
129 return *this;
130 }
132
134
137 inline const Aws::Vector<Aws::String>& GetRouteTableIds() const { return m_routeTableIds; }
138 inline bool RouteTableIdsHasBeenSet() const { return m_routeTableIdsHasBeenSet; }
139 template <typename RouteTableIdsT = Aws::Vector<Aws::String>>
140 void SetRouteTableIds(RouteTableIdsT&& value) {
141 m_routeTableIdsHasBeenSet = true;
142 m_routeTableIds = std::forward<RouteTableIdsT>(value);
143 }
144 template <typename RouteTableIdsT = Aws::Vector<Aws::String>>
146 SetRouteTableIds(std::forward<RouteTableIdsT>(value));
147 return *this;
148 }
149 template <typename RouteTableIdsT = Aws::String>
151 m_routeTableIdsHasBeenSet = true;
152 m_routeTableIds.emplace_back(std::forward<RouteTableIdsT>(value));
153 return *this;
154 }
156
158
163 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
164 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
165 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
166 void SetSubnetIds(SubnetIdsT&& value) {
167 m_subnetIdsHasBeenSet = true;
168 m_subnetIds = std::forward<SubnetIdsT>(value);
169 }
170 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
172 SetSubnetIds(std::forward<SubnetIdsT>(value));
173 return *this;
174 }
175 template <typename SubnetIdsT = Aws::String>
177 m_subnetIdsHasBeenSet = true;
178 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
179 return *this;
180 }
182
184
189 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
190 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
191 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
192 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
193 m_securityGroupIdsHasBeenSet = true;
194 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
195 }
196 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
197 CreateVpcEndpointRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
198 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
199 return *this;
200 }
201 template <typename SecurityGroupIdsT = Aws::String>
202 CreateVpcEndpointRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
203 m_securityGroupIdsHasBeenSet = true;
204 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
205 return *this;
206 }
208
210
213 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
214 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
215 inline void SetIpAddressType(IpAddressType value) {
216 m_ipAddressTypeHasBeenSet = true;
217 m_ipAddressType = value;
218 }
220 SetIpAddressType(value);
221 return *this;
222 }
224
226
229 inline const DnsOptionsSpecification& GetDnsOptions() const { return m_dnsOptions; }
230 inline bool DnsOptionsHasBeenSet() const { return m_dnsOptionsHasBeenSet; }
231 template <typename DnsOptionsT = DnsOptionsSpecification>
232 void SetDnsOptions(DnsOptionsT&& value) {
233 m_dnsOptionsHasBeenSet = true;
234 m_dnsOptions = std::forward<DnsOptionsT>(value);
235 }
236 template <typename DnsOptionsT = DnsOptionsSpecification>
238 SetDnsOptions(std::forward<DnsOptionsT>(value));
239 return *this;
240 }
242
244
250 inline const Aws::String& GetClientToken() const { return m_clientToken; }
251 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
252 template <typename ClientTokenT = Aws::String>
253 void SetClientToken(ClientTokenT&& value) {
254 m_clientTokenHasBeenSet = true;
255 m_clientToken = std::forward<ClientTokenT>(value);
256 }
257 template <typename ClientTokenT = Aws::String>
259 SetClientToken(std::forward<ClientTokenT>(value));
260 return *this;
261 }
263
265
278 inline bool GetPrivateDnsEnabled() const { return m_privateDnsEnabled; }
279 inline bool PrivateDnsEnabledHasBeenSet() const { return m_privateDnsEnabledHasBeenSet; }
280 inline void SetPrivateDnsEnabled(bool value) {
281 m_privateDnsEnabledHasBeenSet = true;
282 m_privateDnsEnabled = value;
283 }
286 return *this;
287 }
289
291
294 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
295 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
296 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
297 void SetTagSpecifications(TagSpecificationsT&& value) {
298 m_tagSpecificationsHasBeenSet = true;
299 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
300 }
301 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
302 CreateVpcEndpointRequest& WithTagSpecifications(TagSpecificationsT&& value) {
303 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
304 return *this;
305 }
306 template <typename TagSpecificationsT = TagSpecification>
307 CreateVpcEndpointRequest& AddTagSpecifications(TagSpecificationsT&& value) {
308 m_tagSpecificationsHasBeenSet = true;
309 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
310 return *this;
311 }
313
315
318 inline const Aws::Vector<SubnetConfiguration>& GetSubnetConfigurations() const { return m_subnetConfigurations; }
319 inline bool SubnetConfigurationsHasBeenSet() const { return m_subnetConfigurationsHasBeenSet; }
320 template <typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
321 void SetSubnetConfigurations(SubnetConfigurationsT&& value) {
322 m_subnetConfigurationsHasBeenSet = true;
323 m_subnetConfigurations = std::forward<SubnetConfigurationsT>(value);
324 }
325 template <typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
326 CreateVpcEndpointRequest& WithSubnetConfigurations(SubnetConfigurationsT&& value) {
327 SetSubnetConfigurations(std::forward<SubnetConfigurationsT>(value));
328 return *this;
329 }
330 template <typename SubnetConfigurationsT = SubnetConfiguration>
331 CreateVpcEndpointRequest& AddSubnetConfigurations(SubnetConfigurationsT&& value) {
332 m_subnetConfigurationsHasBeenSet = true;
333 m_subnetConfigurations.emplace_back(std::forward<SubnetConfigurationsT>(value));
334 return *this;
335 }
337
339
343 inline const Aws::String& GetServiceNetworkArn() const { return m_serviceNetworkArn; }
344 inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; }
345 template <typename ServiceNetworkArnT = Aws::String>
346 void SetServiceNetworkArn(ServiceNetworkArnT&& value) {
347 m_serviceNetworkArnHasBeenSet = true;
348 m_serviceNetworkArn = std::forward<ServiceNetworkArnT>(value);
349 }
350 template <typename ServiceNetworkArnT = Aws::String>
351 CreateVpcEndpointRequest& WithServiceNetworkArn(ServiceNetworkArnT&& value) {
352 SetServiceNetworkArn(std::forward<ServiceNetworkArnT>(value));
353 return *this;
354 }
356
358
362 inline const Aws::String& GetResourceConfigurationArn() const { return m_resourceConfigurationArn; }
363 inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; }
364 template <typename ResourceConfigurationArnT = Aws::String>
365 void SetResourceConfigurationArn(ResourceConfigurationArnT&& value) {
366 m_resourceConfigurationArnHasBeenSet = true;
367 m_resourceConfigurationArn = std::forward<ResourceConfigurationArnT>(value);
368 }
369 template <typename ResourceConfigurationArnT = Aws::String>
370 CreateVpcEndpointRequest& WithResourceConfigurationArn(ResourceConfigurationArnT&& value) {
371 SetResourceConfigurationArn(std::forward<ResourceConfigurationArnT>(value));
372 return *this;
373 }
375
377
381 inline const Aws::String& GetServiceRegion() const { return m_serviceRegion; }
382 inline bool ServiceRegionHasBeenSet() const { return m_serviceRegionHasBeenSet; }
383 template <typename ServiceRegionT = Aws::String>
384 void SetServiceRegion(ServiceRegionT&& value) {
385 m_serviceRegionHasBeenSet = true;
386 m_serviceRegion = std::forward<ServiceRegionT>(value);
387 }
388 template <typename ServiceRegionT = Aws::String>
390 SetServiceRegion(std::forward<ServiceRegionT>(value));
391 return *this;
392 }
394 private:
395 bool m_dryRun{false};
396
397 VpcEndpointType m_vpcEndpointType{VpcEndpointType::NOT_SET};
398
399 Aws::String m_vpcId;
400
401 Aws::String m_serviceName;
402
403 Aws::String m_policyDocument;
404
405 Aws::Vector<Aws::String> m_routeTableIds;
406
407 Aws::Vector<Aws::String> m_subnetIds;
408
409 Aws::Vector<Aws::String> m_securityGroupIds;
410
411 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
412
413 DnsOptionsSpecification m_dnsOptions;
414
415 Aws::String m_clientToken;
416
417 bool m_privateDnsEnabled{false};
418
419 Aws::Vector<TagSpecification> m_tagSpecifications;
420
421 Aws::Vector<SubnetConfiguration> m_subnetConfigurations;
422
423 Aws::String m_serviceNetworkArn;
424
425 Aws::String m_resourceConfigurationArn;
426
427 Aws::String m_serviceRegion;
428 bool m_dryRunHasBeenSet = false;
429 bool m_vpcEndpointTypeHasBeenSet = false;
430 bool m_vpcIdHasBeenSet = false;
431 bool m_serviceNameHasBeenSet = false;
432 bool m_policyDocumentHasBeenSet = false;
433 bool m_routeTableIdsHasBeenSet = false;
434 bool m_subnetIdsHasBeenSet = false;
435 bool m_securityGroupIdsHasBeenSet = false;
436 bool m_ipAddressTypeHasBeenSet = false;
437 bool m_dnsOptionsHasBeenSet = false;
438 bool m_clientTokenHasBeenSet = false;
439 bool m_privateDnsEnabledHasBeenSet = false;
440 bool m_tagSpecificationsHasBeenSet = false;
441 bool m_subnetConfigurationsHasBeenSet = false;
442 bool m_serviceNetworkArnHasBeenSet = false;
443 bool m_resourceConfigurationArnHasBeenSet = false;
444 bool m_serviceRegionHasBeenSet = false;
445};
446
447} // namespace Model
448} // namespace EC2
449} // namespace Aws
void SetTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateVpcEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
virtual const char * GetServiceRequestName() const override
CreateVpcEndpointRequest & WithDryRun(bool value)
const DnsOptionsSpecification & GetDnsOptions() const
CreateVpcEndpointRequest & WithVpcId(VpcIdT &&value)
AWS_EC2_API CreateVpcEndpointRequest()=default
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
CreateVpcEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
void SetServiceNetworkArn(ServiceNetworkArnT &&value)
CreateVpcEndpointRequest & WithPrivateDnsEnabled(bool value)
CreateVpcEndpointRequest & AddSubnetConfigurations(SubnetConfigurationsT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
CreateVpcEndpointRequest & WithRouteTableIds(RouteTableIdsT &&value)
CreateVpcEndpointRequest & WithSubnetIds(SubnetIdsT &&value)
const Aws::Vector< SubnetConfiguration > & GetSubnetConfigurations() const
CreateVpcEndpointRequest & WithIpAddressType(IpAddressType value)
CreateVpcEndpointRequest & WithDnsOptions(DnsOptionsT &&value)
void SetSubnetConfigurations(SubnetConfigurationsT &&value)
CreateVpcEndpointRequest & WithVpcEndpointType(VpcEndpointType value)
CreateVpcEndpointRequest & WithServiceNetworkArn(ServiceNetworkArnT &&value)
CreateVpcEndpointRequest & WithServiceName(ServiceNameT &&value)
CreateVpcEndpointRequest & WithServiceRegion(ServiceRegionT &&value)
CreateVpcEndpointRequest & WithPolicyDocument(PolicyDocumentT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateVpcEndpointRequest & AddTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< Aws::String > & GetRouteTableIds() const
CreateVpcEndpointRequest & WithSubnetConfigurations(SubnetConfigurationsT &&value)
CreateVpcEndpointRequest & WithResourceConfigurationArn(ResourceConfigurationArnT &&value)
CreateVpcEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
CreateVpcEndpointRequest & AddSubnetIds(SubnetIdsT &&value)
CreateVpcEndpointRequest & WithClientToken(ClientTokenT &&value)
void SetResourceConfigurationArn(ResourceConfigurationArnT &&value)
CreateVpcEndpointRequest & AddRouteTableIds(RouteTableIdsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector