AWS SDK for C++

AWS SDK for C++ Version 1.11.644

Loading...
Searching...
No Matches
CreateClientVpnEndpointRequest.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/ConnectionLogOptions.h>
12#include <aws/ec2/model/TransportProtocol.h>
13#include <aws/ec2/model/SelfServicePortal.h>
14#include <aws/ec2/model/ClientConnectOptions.h>
15#include <aws/ec2/model/ClientLoginBannerOptions.h>
16#include <aws/ec2/model/ClientRouteEnforcementOptions.h>
17#include <aws/ec2/model/EndpointIpAddressType.h>
18#include <aws/ec2/model/TrafficIpAddressType.h>
19#include <aws/ec2/model/ClientVpnAuthenticationRequest.h>
20#include <aws/ec2/model/TagSpecification.h>
21#include <utility>
22#include <aws/core/utils/UUID.h>
23
24namespace Aws
25{
26namespace EC2
27{
28namespace Model
29{
30
34 {
35 public:
36 AWS_EC2_API CreateClientVpnEndpointRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "CreateClientVpnEndpoint"; }
43
44 AWS_EC2_API Aws::String SerializePayload() const override;
45
46 protected:
47 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
48
49 public:
50
52
60 inline const Aws::String& GetClientCidrBlock() const { return m_clientCidrBlock; }
61 inline bool ClientCidrBlockHasBeenSet() const { return m_clientCidrBlockHasBeenSet; }
62 template<typename ClientCidrBlockT = Aws::String>
63 void SetClientCidrBlock(ClientCidrBlockT&& value) { m_clientCidrBlockHasBeenSet = true; m_clientCidrBlock = std::forward<ClientCidrBlockT>(value); }
64 template<typename ClientCidrBlockT = Aws::String>
65 CreateClientVpnEndpointRequest& WithClientCidrBlock(ClientCidrBlockT&& value) { SetClientCidrBlock(std::forward<ClientCidrBlockT>(value)); return *this;}
67
69
74 inline const Aws::String& GetServerCertificateArn() const { return m_serverCertificateArn; }
75 inline bool ServerCertificateArnHasBeenSet() const { return m_serverCertificateArnHasBeenSet; }
76 template<typename ServerCertificateArnT = Aws::String>
77 void SetServerCertificateArn(ServerCertificateArnT&& value) { m_serverCertificateArnHasBeenSet = true; m_serverCertificateArn = std::forward<ServerCertificateArnT>(value); }
78 template<typename ServerCertificateArnT = Aws::String>
79 CreateClientVpnEndpointRequest& WithServerCertificateArn(ServerCertificateArnT&& value) { SetServerCertificateArn(std::forward<ServerCertificateArnT>(value)); return *this;}
81
83
87 inline const Aws::Vector<ClientVpnAuthenticationRequest>& GetAuthenticationOptions() const { return m_authenticationOptions; }
88 inline bool AuthenticationOptionsHasBeenSet() const { return m_authenticationOptionsHasBeenSet; }
89 template<typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
90 void SetAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet = true; m_authenticationOptions = std::forward<AuthenticationOptionsT>(value); }
91 template<typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
92 CreateClientVpnEndpointRequest& WithAuthenticationOptions(AuthenticationOptionsT&& value) { SetAuthenticationOptions(std::forward<AuthenticationOptionsT>(value)); return *this;}
93 template<typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
94 CreateClientVpnEndpointRequest& AddAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet = true; m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value)); return *this; }
96
98
106 inline const ConnectionLogOptions& GetConnectionLogOptions() const { return m_connectionLogOptions; }
107 inline bool ConnectionLogOptionsHasBeenSet() const { return m_connectionLogOptionsHasBeenSet; }
108 template<typename ConnectionLogOptionsT = ConnectionLogOptions>
109 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) { m_connectionLogOptionsHasBeenSet = true; m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value); }
110 template<typename ConnectionLogOptionsT = ConnectionLogOptions>
111 CreateClientVpnEndpointRequest& WithConnectionLogOptions(ConnectionLogOptionsT&& value) { SetConnectionLogOptions(std::forward<ConnectionLogOptionsT>(value)); return *this;}
113
115
120 inline const Aws::Vector<Aws::String>& GetDnsServers() const { return m_dnsServers; }
121 inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; }
122 template<typename DnsServersT = Aws::Vector<Aws::String>>
123 void SetDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet = true; m_dnsServers = std::forward<DnsServersT>(value); }
124 template<typename DnsServersT = Aws::Vector<Aws::String>>
125 CreateClientVpnEndpointRequest& WithDnsServers(DnsServersT&& value) { SetDnsServers(std::forward<DnsServersT>(value)); return *this;}
126 template<typename DnsServersT = Aws::String>
127 CreateClientVpnEndpointRequest& AddDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet = true; m_dnsServers.emplace_back(std::forward<DnsServersT>(value)); return *this; }
129
131
135 inline TransportProtocol GetTransportProtocol() const { return m_transportProtocol; }
136 inline bool TransportProtocolHasBeenSet() const { return m_transportProtocolHasBeenSet; }
137 inline void SetTransportProtocol(TransportProtocol value) { m_transportProtocolHasBeenSet = true; m_transportProtocol = value; }
140
142
147 inline int GetVpnPort() const { return m_vpnPort; }
148 inline bool VpnPortHasBeenSet() const { return m_vpnPortHasBeenSet; }
149 inline void SetVpnPort(int value) { m_vpnPortHasBeenSet = true; m_vpnPort = value; }
150 inline CreateClientVpnEndpointRequest& WithVpnPort(int value) { SetVpnPort(value); return *this;}
152
154
157 inline const Aws::String& GetDescription() const { return m_description; }
158 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
159 template<typename DescriptionT = Aws::String>
160 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
161 template<typename DescriptionT = Aws::String>
162 CreateClientVpnEndpointRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
164
166
173 inline bool GetSplitTunnel() const { return m_splitTunnel; }
174 inline bool SplitTunnelHasBeenSet() const { return m_splitTunnelHasBeenSet; }
175 inline void SetSplitTunnel(bool value) { m_splitTunnelHasBeenSet = true; m_splitTunnel = value; }
176 inline CreateClientVpnEndpointRequest& WithSplitTunnel(bool value) { SetSplitTunnel(value); return *this;}
178
180
186 inline bool GetDryRun() const { return m_dryRun; }
187 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
188 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
189 inline CreateClientVpnEndpointRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
191
193
199 inline const Aws::String& GetClientToken() const { return m_clientToken; }
200 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
201 template<typename ClientTokenT = Aws::String>
202 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
203 template<typename ClientTokenT = Aws::String>
204 CreateClientVpnEndpointRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
206
208
211 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
212 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
213 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
214 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
215 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
216 CreateClientVpnEndpointRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
217 template<typename TagSpecificationsT = TagSpecification>
218 CreateClientVpnEndpointRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
220
222
226 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
227 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
228 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
229 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
230 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
231 CreateClientVpnEndpointRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
232 template<typename SecurityGroupIdsT = Aws::String>
233 CreateClientVpnEndpointRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
235
237
242 inline const Aws::String& GetVpcId() const { return m_vpcId; }
243 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
244 template<typename VpcIdT = Aws::String>
245 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
246 template<typename VpcIdT = Aws::String>
247 CreateClientVpnEndpointRequest& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
249
251
255 inline SelfServicePortal GetSelfServicePortal() const { return m_selfServicePortal; }
256 inline bool SelfServicePortalHasBeenSet() const { return m_selfServicePortalHasBeenSet; }
257 inline void SetSelfServicePortal(SelfServicePortal value) { m_selfServicePortalHasBeenSet = true; m_selfServicePortal = value; }
260
262
266 inline const ClientConnectOptions& GetClientConnectOptions() const { return m_clientConnectOptions; }
267 inline bool ClientConnectOptionsHasBeenSet() const { return m_clientConnectOptionsHasBeenSet; }
268 template<typename ClientConnectOptionsT = ClientConnectOptions>
269 void SetClientConnectOptions(ClientConnectOptionsT&& value) { m_clientConnectOptionsHasBeenSet = true; m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value); }
270 template<typename ClientConnectOptionsT = ClientConnectOptions>
271 CreateClientVpnEndpointRequest& WithClientConnectOptions(ClientConnectOptionsT&& value) { SetClientConnectOptions(std::forward<ClientConnectOptionsT>(value)); return *this;}
273
275
279 inline int GetSessionTimeoutHours() const { return m_sessionTimeoutHours; }
280 inline bool SessionTimeoutHoursHasBeenSet() const { return m_sessionTimeoutHoursHasBeenSet; }
281 inline void SetSessionTimeoutHours(int value) { m_sessionTimeoutHoursHasBeenSet = true; m_sessionTimeoutHours = value; }
284
286
290 inline const ClientLoginBannerOptions& GetClientLoginBannerOptions() const { return m_clientLoginBannerOptions; }
291 inline bool ClientLoginBannerOptionsHasBeenSet() const { return m_clientLoginBannerOptionsHasBeenSet; }
292 template<typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
293 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { m_clientLoginBannerOptionsHasBeenSet = true; m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value); }
294 template<typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
295 CreateClientVpnEndpointRequest& WithClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { SetClientLoginBannerOptions(std::forward<ClientLoginBannerOptionsT>(value)); return *this;}
297
299
310 inline const ClientRouteEnforcementOptions& GetClientRouteEnforcementOptions() const { return m_clientRouteEnforcementOptions; }
311 inline bool ClientRouteEnforcementOptionsHasBeenSet() const { return m_clientRouteEnforcementOptionsHasBeenSet; }
312 template<typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
313 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { m_clientRouteEnforcementOptionsHasBeenSet = true; m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value); }
314 template<typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
315 CreateClientVpnEndpointRequest& WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { SetClientRouteEnforcementOptions(std::forward<ClientRouteEnforcementOptionsT>(value)); return *this;}
317
319
326 inline bool GetDisconnectOnSessionTimeout() const { return m_disconnectOnSessionTimeout; }
327 inline bool DisconnectOnSessionTimeoutHasBeenSet() const { return m_disconnectOnSessionTimeoutHasBeenSet; }
328 inline void SetDisconnectOnSessionTimeout(bool value) { m_disconnectOnSessionTimeoutHasBeenSet = true; m_disconnectOnSessionTimeout = value; }
331
333
340 inline EndpointIpAddressType GetEndpointIpAddressType() const { return m_endpointIpAddressType; }
341 inline bool EndpointIpAddressTypeHasBeenSet() const { return m_endpointIpAddressTypeHasBeenSet; }
342 inline void SetEndpointIpAddressType(EndpointIpAddressType value) { m_endpointIpAddressTypeHasBeenSet = true; m_endpointIpAddressType = value; }
345
347
354 inline TrafficIpAddressType GetTrafficIpAddressType() const { return m_trafficIpAddressType; }
355 inline bool TrafficIpAddressTypeHasBeenSet() const { return m_trafficIpAddressTypeHasBeenSet; }
356 inline void SetTrafficIpAddressType(TrafficIpAddressType value) { m_trafficIpAddressTypeHasBeenSet = true; m_trafficIpAddressType = value; }
359 private:
360
361 Aws::String m_clientCidrBlock;
362 bool m_clientCidrBlockHasBeenSet = false;
363
364 Aws::String m_serverCertificateArn;
365 bool m_serverCertificateArnHasBeenSet = false;
366
367 Aws::Vector<ClientVpnAuthenticationRequest> m_authenticationOptions;
368 bool m_authenticationOptionsHasBeenSet = false;
369
370 ConnectionLogOptions m_connectionLogOptions;
371 bool m_connectionLogOptionsHasBeenSet = false;
372
373 Aws::Vector<Aws::String> m_dnsServers;
374 bool m_dnsServersHasBeenSet = false;
375
377 bool m_transportProtocolHasBeenSet = false;
378
379 int m_vpnPort{0};
380 bool m_vpnPortHasBeenSet = false;
381
382 Aws::String m_description;
383 bool m_descriptionHasBeenSet = false;
384
385 bool m_splitTunnel{false};
386 bool m_splitTunnelHasBeenSet = false;
387
388 bool m_dryRun{false};
389 bool m_dryRunHasBeenSet = false;
390
392 bool m_clientTokenHasBeenSet = true;
393
394 Aws::Vector<TagSpecification> m_tagSpecifications;
395 bool m_tagSpecificationsHasBeenSet = false;
396
397 Aws::Vector<Aws::String> m_securityGroupIds;
398 bool m_securityGroupIdsHasBeenSet = false;
399
400 Aws::String m_vpcId;
401 bool m_vpcIdHasBeenSet = false;
402
404 bool m_selfServicePortalHasBeenSet = false;
405
406 ClientConnectOptions m_clientConnectOptions;
407 bool m_clientConnectOptionsHasBeenSet = false;
408
409 int m_sessionTimeoutHours{0};
410 bool m_sessionTimeoutHoursHasBeenSet = false;
411
412 ClientLoginBannerOptions m_clientLoginBannerOptions;
413 bool m_clientLoginBannerOptionsHasBeenSet = false;
414
415 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
416 bool m_clientRouteEnforcementOptionsHasBeenSet = false;
417
418 bool m_disconnectOnSessionTimeout{false};
419 bool m_disconnectOnSessionTimeoutHasBeenSet = false;
420
422 bool m_endpointIpAddressTypeHasBeenSet = false;
423
425 bool m_trafficIpAddressTypeHasBeenSet = false;
426 };
427
428} // namespace Model
429} // namespace EC2
430} // namespace Aws
const Aws::Vector< Aws::String > & GetDnsServers() const
CreateClientVpnEndpointRequest & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpnPort(int value)
CreateClientVpnEndpointRequest & WithAuthenticationOptions(AuthenticationOptionsT &&value)
void SetAuthenticationOptions(AuthenticationOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpcId(VpcIdT &&value)
CreateClientVpnEndpointRequest & WithClientCidrBlock(ClientCidrBlockT &&value)
CreateClientVpnEndpointRequest & WithDryRun(bool value)
void SetClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientConnectOptions(ClientConnectOptionsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const ClientLoginBannerOptions & GetClientLoginBannerOptions() const
CreateClientVpnEndpointRequest & WithConnectionLogOptions(ConnectionLogOptionsT &&value)
CreateClientVpnEndpointRequest & WithDnsServers(DnsServersT &&value)
CreateClientVpnEndpointRequest & WithSelfServicePortal(SelfServicePortal value)
CreateClientVpnEndpointRequest & AddTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateClientVpnEndpointRequest & WithServerCertificateArn(ServerCertificateArnT &&value)
CreateClientVpnEndpointRequest & AddDnsServers(DnsServersT &&value)
CreateClientVpnEndpointRequest & WithSessionTimeoutHours(int value)
const Aws::Vector< ClientVpnAuthenticationRequest > & GetAuthenticationOptions() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateClientVpnEndpointRequest & AddAuthenticationOptions(AuthenticationOptionsT &&value)
CreateClientVpnEndpointRequest & WithTransportProtocol(TransportProtocol value)
CreateClientVpnEndpointRequest & WithSplitTunnel(bool value)
CreateClientVpnEndpointRequest & WithDescription(DescriptionT &&value)
CreateClientVpnEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateClientVpnEndpointRequest & WithEndpointIpAddressType(EndpointIpAddressType value)
CreateClientVpnEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateClientVpnEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
CreateClientVpnEndpointRequest & WithTrafficIpAddressType(TrafficIpAddressType value)
const ClientRouteEnforcementOptions & GetClientRouteEnforcementOptions() const
CreateClientVpnEndpointRequest & WithClientToken(ClientTokenT &&value)
CreateClientVpnEndpointRequest & WithDisconnectOnSessionTimeout(bool value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector