AWS SDK for C++

AWS SDK for C++ Version 1.11.906

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
68 inline VpcEndpointType GetVpcEndpointType() const { return m_vpcEndpointType; }
69 inline bool VpcEndpointTypeHasBeenSet() const { return m_vpcEndpointTypeHasBeenSet; }
71 m_vpcEndpointTypeHasBeenSet = true;
72 m_vpcEndpointType = value;
73 }
75 SetVpcEndpointType(value);
76 return *this;
77 }
79
81
84 inline const Aws::String& GetVpcId() const { return m_vpcId; }
85 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
86 template <typename VpcIdT = Aws::String>
87 void SetVpcId(VpcIdT&& value) {
88 m_vpcIdHasBeenSet = true;
89 m_vpcId = std::forward<VpcIdT>(value);
90 }
91 template <typename VpcIdT = Aws::String>
93 SetVpcId(std::forward<VpcIdT>(value));
94 return *this;
95 }
97
99
102 inline const Aws::String& GetServiceName() const { return m_serviceName; }
103 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
104 template <typename ServiceNameT = Aws::String>
105 void SetServiceName(ServiceNameT&& value) {
106 m_serviceNameHasBeenSet = true;
107 m_serviceName = std::forward<ServiceNameT>(value);
108 }
109 template <typename ServiceNameT = Aws::String>
111 SetServiceName(std::forward<ServiceNameT>(value));
112 return *this;
113 }
115
117
123 inline const Aws::String& GetPolicyDocument() const { return m_policyDocument; }
124 inline bool PolicyDocumentHasBeenSet() const { return m_policyDocumentHasBeenSet; }
125 template <typename PolicyDocumentT = Aws::String>
126 void SetPolicyDocument(PolicyDocumentT&& value) {
127 m_policyDocumentHasBeenSet = true;
128 m_policyDocument = std::forward<PolicyDocumentT>(value);
129 }
130 template <typename PolicyDocumentT = Aws::String>
132 SetPolicyDocument(std::forward<PolicyDocumentT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::Vector<Aws::String>& GetRouteTableIds() const { return m_routeTableIds; }
142 inline bool RouteTableIdsHasBeenSet() const { return m_routeTableIdsHasBeenSet; }
143 template <typename RouteTableIdsT = Aws::Vector<Aws::String>>
144 void SetRouteTableIds(RouteTableIdsT&& value) {
145 m_routeTableIdsHasBeenSet = true;
146 m_routeTableIds = std::forward<RouteTableIdsT>(value);
147 }
148 template <typename RouteTableIdsT = Aws::Vector<Aws::String>>
150 SetRouteTableIds(std::forward<RouteTableIdsT>(value));
151 return *this;
152 }
153 template <typename RouteTableIdsT = Aws::String>
155 m_routeTableIdsHasBeenSet = true;
156 m_routeTableIds.emplace_back(std::forward<RouteTableIdsT>(value));
157 return *this;
158 }
160
162
171 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
172 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
173 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
174 void SetSubnetIds(SubnetIdsT&& value) {
175 m_subnetIdsHasBeenSet = true;
176 m_subnetIds = std::forward<SubnetIdsT>(value);
177 }
178 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
180 SetSubnetIds(std::forward<SubnetIdsT>(value));
181 return *this;
182 }
183 template <typename SubnetIdsT = Aws::String>
185 m_subnetIdsHasBeenSet = true;
186 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
187 return *this;
188 }
190
192
197 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
198 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
199 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
200 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
201 m_securityGroupIdsHasBeenSet = true;
202 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
203 }
204 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
205 CreateVpcEndpointRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
206 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
207 return *this;
208 }
209 template <typename SecurityGroupIdsT = Aws::String>
210 CreateVpcEndpointRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
211 m_securityGroupIdsHasBeenSet = true;
212 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
213 return *this;
214 }
216
218
221 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
222 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
223 inline void SetIpAddressType(IpAddressType value) {
224 m_ipAddressTypeHasBeenSet = true;
225 m_ipAddressType = value;
226 }
228 SetIpAddressType(value);
229 return *this;
230 }
232
234
237 inline const DnsOptionsSpecification& GetDnsOptions() const { return m_dnsOptions; }
238 inline bool DnsOptionsHasBeenSet() const { return m_dnsOptionsHasBeenSet; }
239 template <typename DnsOptionsT = DnsOptionsSpecification>
240 void SetDnsOptions(DnsOptionsT&& value) {
241 m_dnsOptionsHasBeenSet = true;
242 m_dnsOptions = std::forward<DnsOptionsT>(value);
243 }
244 template <typename DnsOptionsT = DnsOptionsSpecification>
246 SetDnsOptions(std::forward<DnsOptionsT>(value));
247 return *this;
248 }
250
252
258 inline const Aws::String& GetClientToken() const { return m_clientToken; }
259 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
260 template <typename ClientTokenT = Aws::String>
261 void SetClientToken(ClientTokenT&& value) {
262 m_clientTokenHasBeenSet = true;
263 m_clientToken = std::forward<ClientTokenT>(value);
264 }
265 template <typename ClientTokenT = Aws::String>
267 SetClientToken(std::forward<ClientTokenT>(value));
268 return *this;
269 }
271
273
286 inline bool GetPrivateDnsEnabled() const { return m_privateDnsEnabled; }
287 inline bool PrivateDnsEnabledHasBeenSet() const { return m_privateDnsEnabledHasBeenSet; }
288 inline void SetPrivateDnsEnabled(bool value) {
289 m_privateDnsEnabledHasBeenSet = true;
290 m_privateDnsEnabled = value;
291 }
294 return *this;
295 }
297
299
302 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
303 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
304 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
305 void SetTagSpecifications(TagSpecificationsT&& value) {
306 m_tagSpecificationsHasBeenSet = true;
307 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
308 }
309 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
310 CreateVpcEndpointRequest& WithTagSpecifications(TagSpecificationsT&& value) {
311 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
312 return *this;
313 }
314 template <typename TagSpecificationsT = TagSpecification>
315 CreateVpcEndpointRequest& AddTagSpecifications(TagSpecificationsT&& value) {
316 m_tagSpecificationsHasBeenSet = true;
317 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
318 return *this;
319 }
321
323
326 inline const Aws::Vector<SubnetConfiguration>& GetSubnetConfigurations() const { return m_subnetConfigurations; }
327 inline bool SubnetConfigurationsHasBeenSet() const { return m_subnetConfigurationsHasBeenSet; }
328 template <typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
329 void SetSubnetConfigurations(SubnetConfigurationsT&& value) {
330 m_subnetConfigurationsHasBeenSet = true;
331 m_subnetConfigurations = std::forward<SubnetConfigurationsT>(value);
332 }
333 template <typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
334 CreateVpcEndpointRequest& WithSubnetConfigurations(SubnetConfigurationsT&& value) {
335 SetSubnetConfigurations(std::forward<SubnetConfigurationsT>(value));
336 return *this;
337 }
338 template <typename SubnetConfigurationsT = SubnetConfiguration>
339 CreateVpcEndpointRequest& AddSubnetConfigurations(SubnetConfigurationsT&& value) {
340 m_subnetConfigurationsHasBeenSet = true;
341 m_subnetConfigurations.emplace_back(std::forward<SubnetConfigurationsT>(value));
342 return *this;
343 }
345
347
351 inline const Aws::String& GetServiceNetworkArn() const { return m_serviceNetworkArn; }
352 inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; }
353 template <typename ServiceNetworkArnT = Aws::String>
354 void SetServiceNetworkArn(ServiceNetworkArnT&& value) {
355 m_serviceNetworkArnHasBeenSet = true;
356 m_serviceNetworkArn = std::forward<ServiceNetworkArnT>(value);
357 }
358 template <typename ServiceNetworkArnT = Aws::String>
359 CreateVpcEndpointRequest& WithServiceNetworkArn(ServiceNetworkArnT&& value) {
360 SetServiceNetworkArn(std::forward<ServiceNetworkArnT>(value));
361 return *this;
362 }
364
366
382 inline const Aws::String& GetResourceConfigurationArn() const { return m_resourceConfigurationArn; }
383 inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; }
384 template <typename ResourceConfigurationArnT = Aws::String>
385 void SetResourceConfigurationArn(ResourceConfigurationArnT&& value) {
386 m_resourceConfigurationArnHasBeenSet = true;
387 m_resourceConfigurationArn = std::forward<ResourceConfigurationArnT>(value);
388 }
389 template <typename ResourceConfigurationArnT = Aws::String>
390 CreateVpcEndpointRequest& WithResourceConfigurationArn(ResourceConfigurationArnT&& value) {
391 SetResourceConfigurationArn(std::forward<ResourceConfigurationArnT>(value));
392 return *this;
393 }
395
397
401 inline const Aws::String& GetServiceRegion() const { return m_serviceRegion; }
402 inline bool ServiceRegionHasBeenSet() const { return m_serviceRegionHasBeenSet; }
403 template <typename ServiceRegionT = Aws::String>
404 void SetServiceRegion(ServiceRegionT&& value) {
405 m_serviceRegionHasBeenSet = true;
406 m_serviceRegion = std::forward<ServiceRegionT>(value);
407 }
408 template <typename ServiceRegionT = Aws::String>
410 SetServiceRegion(std::forward<ServiceRegionT>(value));
411 return *this;
412 }
414 private:
415 bool m_dryRun{false};
416
417 VpcEndpointType m_vpcEndpointType{VpcEndpointType::NOT_SET};
418
419 Aws::String m_vpcId;
420
421 Aws::String m_serviceName;
422
423 Aws::String m_policyDocument;
424
425 Aws::Vector<Aws::String> m_routeTableIds;
426
427 Aws::Vector<Aws::String> m_subnetIds;
428
429 Aws::Vector<Aws::String> m_securityGroupIds;
430
431 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
432
433 DnsOptionsSpecification m_dnsOptions;
434
435 Aws::String m_clientToken;
436
437 bool m_privateDnsEnabled{false};
438
439 Aws::Vector<TagSpecification> m_tagSpecifications;
440
441 Aws::Vector<SubnetConfiguration> m_subnetConfigurations;
442
443 Aws::String m_serviceNetworkArn;
444
445 Aws::String m_resourceConfigurationArn;
446
447 Aws::String m_serviceRegion;
448 bool m_dryRunHasBeenSet = false;
449 bool m_vpcEndpointTypeHasBeenSet = false;
450 bool m_vpcIdHasBeenSet = false;
451 bool m_serviceNameHasBeenSet = false;
452 bool m_policyDocumentHasBeenSet = false;
453 bool m_routeTableIdsHasBeenSet = false;
454 bool m_subnetIdsHasBeenSet = false;
455 bool m_securityGroupIdsHasBeenSet = false;
456 bool m_ipAddressTypeHasBeenSet = false;
457 bool m_dnsOptionsHasBeenSet = false;
458 bool m_clientTokenHasBeenSet = false;
459 bool m_privateDnsEnabledHasBeenSet = false;
460 bool m_tagSpecificationsHasBeenSet = false;
461 bool m_subnetConfigurationsHasBeenSet = false;
462 bool m_serviceNetworkArnHasBeenSet = false;
463 bool m_resourceConfigurationArnHasBeenSet = false;
464 bool m_serviceRegionHasBeenSet = false;
465};
466
467} // namespace Model
468} // namespace EC2
469} // 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