AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateVpcEndpointRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/ec2/model/VpcEndpointType.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/IpAddressType.h>
13#include <aws/ec2/model/DnsOptionsSpecification.h>
14#include <aws/ec2/model/TagSpecification.h>
15#include <aws/ec2/model/SubnetConfiguration.h>
16#include <utility>
17
18namespace Aws
19{
20namespace EC2
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_EC2_API CreateVpcEndpointRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateVpcEndpoint"; }
37
38 AWS_EC2_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
52 inline bool GetDryRun() const { return m_dryRun; }
53 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
54 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
55 inline CreateVpcEndpointRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
57
59
62 inline VpcEndpointType GetVpcEndpointType() const { return m_vpcEndpointType; }
63 inline bool VpcEndpointTypeHasBeenSet() const { return m_vpcEndpointTypeHasBeenSet; }
64 inline void SetVpcEndpointType(VpcEndpointType value) { m_vpcEndpointTypeHasBeenSet = true; m_vpcEndpointType = value; }
67
69
72 inline const Aws::String& GetVpcId() const { return m_vpcId; }
73 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
74 template<typename VpcIdT = Aws::String>
75 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
76 template<typename VpcIdT = Aws::String>
77 CreateVpcEndpointRequest& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
79
81
84 inline const Aws::String& GetServiceName() const { return m_serviceName; }
85 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
86 template<typename ServiceNameT = Aws::String>
87 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::forward<ServiceNameT>(value); }
88 template<typename ServiceNameT = Aws::String>
89 CreateVpcEndpointRequest& WithServiceName(ServiceNameT&& value) { SetServiceName(std::forward<ServiceNameT>(value)); return *this;}
91
93
99 inline const Aws::String& GetPolicyDocument() const { return m_policyDocument; }
100 inline bool PolicyDocumentHasBeenSet() const { return m_policyDocumentHasBeenSet; }
101 template<typename PolicyDocumentT = Aws::String>
102 void SetPolicyDocument(PolicyDocumentT&& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = std::forward<PolicyDocumentT>(value); }
103 template<typename PolicyDocumentT = Aws::String>
104 CreateVpcEndpointRequest& WithPolicyDocument(PolicyDocumentT&& value) { SetPolicyDocument(std::forward<PolicyDocumentT>(value)); return *this;}
106
108
111 inline const Aws::Vector<Aws::String>& GetRouteTableIds() const { return m_routeTableIds; }
112 inline bool RouteTableIdsHasBeenSet() const { return m_routeTableIdsHasBeenSet; }
113 template<typename RouteTableIdsT = Aws::Vector<Aws::String>>
114 void SetRouteTableIds(RouteTableIdsT&& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds = std::forward<RouteTableIdsT>(value); }
115 template<typename RouteTableIdsT = Aws::Vector<Aws::String>>
116 CreateVpcEndpointRequest& WithRouteTableIds(RouteTableIdsT&& value) { SetRouteTableIds(std::forward<RouteTableIdsT>(value)); return *this;}
117 template<typename RouteTableIdsT = Aws::String>
118 CreateVpcEndpointRequest& AddRouteTableIds(RouteTableIdsT&& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.emplace_back(std::forward<RouteTableIdsT>(value)); return *this; }
120
122
127 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
128 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
129 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
130 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::forward<SubnetIdsT>(value); }
131 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
132 CreateVpcEndpointRequest& WithSubnetIds(SubnetIdsT&& value) { SetSubnetIds(std::forward<SubnetIdsT>(value)); return *this;}
133 template<typename SubnetIdsT = Aws::String>
134 CreateVpcEndpointRequest& AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value)); return *this; }
136
138
143 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
144 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
145 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
146 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
147 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
148 CreateVpcEndpointRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
149 template<typename SecurityGroupIdsT = Aws::String>
150 CreateVpcEndpointRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
152
154
157 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
158 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
159 inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
162
164
167 inline const DnsOptionsSpecification& GetDnsOptions() const { return m_dnsOptions; }
168 inline bool DnsOptionsHasBeenSet() const { return m_dnsOptionsHasBeenSet; }
169 template<typename DnsOptionsT = DnsOptionsSpecification>
170 void SetDnsOptions(DnsOptionsT&& value) { m_dnsOptionsHasBeenSet = true; m_dnsOptions = std::forward<DnsOptionsT>(value); }
171 template<typename DnsOptionsT = DnsOptionsSpecification>
172 CreateVpcEndpointRequest& WithDnsOptions(DnsOptionsT&& value) { SetDnsOptions(std::forward<DnsOptionsT>(value)); return *this;}
174
176
182 inline const Aws::String& GetClientToken() const { return m_clientToken; }
183 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
184 template<typename ClientTokenT = Aws::String>
185 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
186 template<typename ClientTokenT = Aws::String>
187 CreateVpcEndpointRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
189
191
204 inline bool GetPrivateDnsEnabled() const { return m_privateDnsEnabled; }
205 inline bool PrivateDnsEnabledHasBeenSet() const { return m_privateDnsEnabledHasBeenSet; }
206 inline void SetPrivateDnsEnabled(bool value) { m_privateDnsEnabledHasBeenSet = true; m_privateDnsEnabled = value; }
207 inline CreateVpcEndpointRequest& WithPrivateDnsEnabled(bool value) { SetPrivateDnsEnabled(value); return *this;}
209
211
214 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
215 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
216 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
217 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
218 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
219 CreateVpcEndpointRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
220 template<typename TagSpecificationsT = TagSpecification>
221 CreateVpcEndpointRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
223
225
228 inline const Aws::Vector<SubnetConfiguration>& GetSubnetConfigurations() const { return m_subnetConfigurations; }
229 inline bool SubnetConfigurationsHasBeenSet() const { return m_subnetConfigurationsHasBeenSet; }
230 template<typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
231 void SetSubnetConfigurations(SubnetConfigurationsT&& value) { m_subnetConfigurationsHasBeenSet = true; m_subnetConfigurations = std::forward<SubnetConfigurationsT>(value); }
232 template<typename SubnetConfigurationsT = Aws::Vector<SubnetConfiguration>>
233 CreateVpcEndpointRequest& WithSubnetConfigurations(SubnetConfigurationsT&& value) { SetSubnetConfigurations(std::forward<SubnetConfigurationsT>(value)); return *this;}
234 template<typename SubnetConfigurationsT = SubnetConfiguration>
235 CreateVpcEndpointRequest& AddSubnetConfigurations(SubnetConfigurationsT&& value) { m_subnetConfigurationsHasBeenSet = true; m_subnetConfigurations.emplace_back(std::forward<SubnetConfigurationsT>(value)); return *this; }
237
239
243 inline const Aws::String& GetServiceNetworkArn() const { return m_serviceNetworkArn; }
244 inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; }
245 template<typename ServiceNetworkArnT = Aws::String>
246 void SetServiceNetworkArn(ServiceNetworkArnT&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::forward<ServiceNetworkArnT>(value); }
247 template<typename ServiceNetworkArnT = Aws::String>
248 CreateVpcEndpointRequest& WithServiceNetworkArn(ServiceNetworkArnT&& value) { SetServiceNetworkArn(std::forward<ServiceNetworkArnT>(value)); return *this;}
250
252
256 inline const Aws::String& GetResourceConfigurationArn() const { return m_resourceConfigurationArn; }
257 inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; }
258 template<typename ResourceConfigurationArnT = Aws::String>
259 void SetResourceConfigurationArn(ResourceConfigurationArnT&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::forward<ResourceConfigurationArnT>(value); }
260 template<typename ResourceConfigurationArnT = Aws::String>
261 CreateVpcEndpointRequest& WithResourceConfigurationArn(ResourceConfigurationArnT&& value) { SetResourceConfigurationArn(std::forward<ResourceConfigurationArnT>(value)); return *this;}
263
265
269 inline const Aws::String& GetServiceRegion() const { return m_serviceRegion; }
270 inline bool ServiceRegionHasBeenSet() const { return m_serviceRegionHasBeenSet; }
271 template<typename ServiceRegionT = Aws::String>
272 void SetServiceRegion(ServiceRegionT&& value) { m_serviceRegionHasBeenSet = true; m_serviceRegion = std::forward<ServiceRegionT>(value); }
273 template<typename ServiceRegionT = Aws::String>
274 CreateVpcEndpointRequest& WithServiceRegion(ServiceRegionT&& value) { SetServiceRegion(std::forward<ServiceRegionT>(value)); return *this;}
276 private:
277
278 bool m_dryRun{false};
279 bool m_dryRunHasBeenSet = false;
280
281 VpcEndpointType m_vpcEndpointType{VpcEndpointType::NOT_SET};
282 bool m_vpcEndpointTypeHasBeenSet = false;
283
284 Aws::String m_vpcId;
285 bool m_vpcIdHasBeenSet = false;
286
287 Aws::String m_serviceName;
288 bool m_serviceNameHasBeenSet = false;
289
290 Aws::String m_policyDocument;
291 bool m_policyDocumentHasBeenSet = false;
292
293 Aws::Vector<Aws::String> m_routeTableIds;
294 bool m_routeTableIdsHasBeenSet = false;
295
296 Aws::Vector<Aws::String> m_subnetIds;
297 bool m_subnetIdsHasBeenSet = false;
298
299 Aws::Vector<Aws::String> m_securityGroupIds;
300 bool m_securityGroupIdsHasBeenSet = false;
301
302 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
303 bool m_ipAddressTypeHasBeenSet = false;
304
305 DnsOptionsSpecification m_dnsOptions;
306 bool m_dnsOptionsHasBeenSet = false;
307
308 Aws::String m_clientToken;
309 bool m_clientTokenHasBeenSet = false;
310
311 bool m_privateDnsEnabled{false};
312 bool m_privateDnsEnabledHasBeenSet = false;
313
314 Aws::Vector<TagSpecification> m_tagSpecifications;
315 bool m_tagSpecificationsHasBeenSet = false;
316
317 Aws::Vector<SubnetConfiguration> m_subnetConfigurations;
318 bool m_subnetConfigurationsHasBeenSet = false;
319
320 Aws::String m_serviceNetworkArn;
321 bool m_serviceNetworkArnHasBeenSet = false;
322
323 Aws::String m_resourceConfigurationArn;
324 bool m_resourceConfigurationArnHasBeenSet = false;
325
326 Aws::String m_serviceRegion;
327 bool m_serviceRegionHasBeenSet = false;
328 };
329
330} // namespace Model
331} // namespace EC2
332} // 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