7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/ClientConnectOptions.h>
13#include <aws/ec2/model/ClientLoginBannerOptions.h>
14#include <aws/ec2/model/ClientRouteEnforcementOptions.h>
15#include <aws/ec2/model/ClientVpnAuthenticationRequest.h>
16#include <aws/ec2/model/ConnectionLogOptions.h>
17#include <aws/ec2/model/EndpointIpAddressType.h>
18#include <aws/ec2/model/SelfServicePortal.h>
19#include <aws/ec2/model/TagSpecification.h>
20#include <aws/ec2/model/TrafficIpAddressType.h>
21#include <aws/ec2/model/TransitGatewayConfigurationInputStructure.h>
22#include <aws/ec2/model/TransportProtocol.h>
59 template <
typename ClientC
idrBlockT = Aws::String>
61 m_clientCidrBlockHasBeenSet =
true;
62 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
64 template <
typename ClientC
idrBlockT = Aws::String>
79 template <
typename ServerCertificateArnT = Aws::String>
81 m_serverCertificateArnHasBeenSet =
true;
82 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
84 template <
typename ServerCertificateArnT = Aws::String>
98 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
100 m_authenticationOptionsHasBeenSet =
true;
101 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
103 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
108 template <
typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
110 m_authenticationOptionsHasBeenSet =
true;
111 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
127 template <
typename ConnectionLogOptionsT = ConnectionLogOptions>
129 m_connectionLogOptionsHasBeenSet =
true;
130 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
132 template <
typename ConnectionLogOptionsT = ConnectionLogOptions>
147 template <
typename DnsServersT = Aws::Vector<Aws::String>>
149 m_dnsServersHasBeenSet =
true;
150 m_dnsServers = std::forward<DnsServersT>(value);
152 template <
typename DnsServersT = Aws::Vector<Aws::String>>
157 template <
typename DnsServersT = Aws::String>
159 m_dnsServersHasBeenSet =
true;
160 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
173 m_transportProtocolHasBeenSet =
true;
174 m_transportProtocol = value;
191 m_vpnPortHasBeenSet =
true;
206 template <
typename DescriptionT = Aws::String>
208 m_descriptionHasBeenSet =
true;
209 m_description = std::forward<DescriptionT>(value);
211 template <
typename DescriptionT = Aws::String>
229 m_splitTunnelHasBeenSet =
true;
230 m_splitTunnel = value;
248 m_dryRunHasBeenSet =
true;
266 template <
typename ClientTokenT = Aws::String>
268 m_clientTokenHasBeenSet =
true;
269 m_clientToken = std::forward<ClientTokenT>(value);
271 template <
typename ClientTokenT = Aws::String>
284 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
286 m_tagSpecificationsHasBeenSet =
true;
287 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
289 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
294 template <
typename TagSpecificationsT = TagSpecification>
296 m_tagSpecificationsHasBeenSet =
true;
297 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
309 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
311 m_securityGroupIdsHasBeenSet =
true;
312 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
314 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
319 template <
typename SecurityGroupIdsT = Aws::String>
321 m_securityGroupIdsHasBeenSet =
true;
322 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
335 template <
typename VpcIdT = Aws::String>
337 m_vpcIdHasBeenSet =
true;
338 m_vpcId = std::forward<VpcIdT>(value);
340 template <
typename VpcIdT = Aws::String>
342 SetVpcId(std::forward<VpcIdT>(value));
355 m_selfServicePortalHasBeenSet =
true;
356 m_selfServicePortal = value;
371 template <
typename ClientConnectOptionsT = ClientConnectOptions>
373 m_clientConnectOptionsHasBeenSet =
true;
374 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
376 template <
typename ClientConnectOptionsT = ClientConnectOptions>
391 m_sessionTimeoutHoursHasBeenSet =
true;
392 m_sessionTimeoutHours = value;
407 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
409 m_clientLoginBannerOptionsHasBeenSet =
true;
410 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
412 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
433 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
435 m_clientRouteEnforcementOptionsHasBeenSet =
true;
436 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
438 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
456 m_disconnectOnSessionTimeoutHasBeenSet =
true;
457 m_disconnectOnSessionTimeout = value;
476 m_endpointIpAddressTypeHasBeenSet =
true;
477 m_endpointIpAddressType = value;
496 m_trafficIpAddressTypeHasBeenSet =
true;
497 m_trafficIpAddressType = value;
514 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
516 m_transitGatewayConfigurationHasBeenSet =
true;
517 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
519 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
542 bool m_splitTunnel{
false};
544 bool m_dryRun{
false};
556 ClientConnectOptions m_clientConnectOptions;
558 int m_sessionTimeoutHours{0};
560 ClientLoginBannerOptions m_clientLoginBannerOptions;
562 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
564 bool m_disconnectOnSessionTimeout{
false};
570 TransitGatewayConfigurationInputStructure m_transitGatewayConfiguration;
571 bool m_clientCidrBlockHasBeenSet =
false;
572 bool m_serverCertificateArnHasBeenSet =
false;
573 bool m_authenticationOptionsHasBeenSet =
false;
574 bool m_connectionLogOptionsHasBeenSet =
false;
575 bool m_dnsServersHasBeenSet =
false;
576 bool m_transportProtocolHasBeenSet =
false;
577 bool m_vpnPortHasBeenSet =
false;
578 bool m_descriptionHasBeenSet =
false;
579 bool m_splitTunnelHasBeenSet =
false;
580 bool m_dryRunHasBeenSet =
false;
581 bool m_clientTokenHasBeenSet =
true;
582 bool m_tagSpecificationsHasBeenSet =
false;
583 bool m_securityGroupIdsHasBeenSet =
false;
584 bool m_vpcIdHasBeenSet =
false;
585 bool m_selfServicePortalHasBeenSet =
false;
586 bool m_clientConnectOptionsHasBeenSet =
false;
587 bool m_sessionTimeoutHoursHasBeenSet =
false;
588 bool m_clientLoginBannerOptionsHasBeenSet =
false;
589 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
590 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
591 bool m_endpointIpAddressTypeHasBeenSet =
false;
592 bool m_trafficIpAddressTypeHasBeenSet =
false;
593 bool m_transitGatewayConfigurationHasBeenSet =
false;
bool AuthenticationOptionsHasBeenSet() const
const Aws::String & GetVpcId() const
const Aws::Vector< Aws::String > & GetDnsServers() const
const Aws::String & GetServerCertificateArn() const
CreateClientVpnEndpointRequest & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpnPort(int value)
void SetClientToken(ClientTokenT &&value)
CreateClientVpnEndpointRequest & WithAuthenticationOptions(AuthenticationOptionsT &&value)
bool SplitTunnelHasBeenSet() const
bool ConnectionLogOptionsHasBeenSet() const
AWS_EC2_API CreateClientVpnEndpointRequest()=default
bool ClientConnectOptionsHasBeenSet() const
void SetServerCertificateArn(ServerCertificateArnT &&value)
void SetAuthenticationOptions(AuthenticationOptionsT &&value)
bool ClientTokenHasBeenSet() const
void SetTransportProtocol(TransportProtocol value)
void SetTransitGatewayConfiguration(TransitGatewayConfigurationT &&value)
CreateClientVpnEndpointRequest & WithVpcId(VpcIdT &&value)
void SetDescription(DescriptionT &&value)
CreateClientVpnEndpointRequest & WithClientCidrBlock(ClientCidrBlockT &&value)
CreateClientVpnEndpointRequest & WithDryRun(bool value)
const ClientConnectOptions & GetClientConnectOptions() const
bool VpnPortHasBeenSet() const
void SetClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientConnectOptions(ClientConnectOptionsT &&value)
bool ClientRouteEnforcementOptionsHasBeenSet() const
bool DryRunHasBeenSet() const
void SetSelfServicePortal(SelfServicePortal value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
void SetTrafficIpAddressType(TrafficIpAddressType value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const ClientLoginBannerOptions & GetClientLoginBannerOptions() const
CreateClientVpnEndpointRequest & WithConnectionLogOptions(ConnectionLogOptionsT &&value)
CreateClientVpnEndpointRequest & WithDnsServers(DnsServersT &&value)
bool SelfServicePortalHasBeenSet() const
CreateClientVpnEndpointRequest & WithSelfServicePortal(SelfServicePortal value)
CreateClientVpnEndpointRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetConnectionLogOptions(ConnectionLogOptionsT &&value)
const Aws::String & GetDescription() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateClientVpnEndpointRequest & WithServerCertificateArn(ServerCertificateArnT &&value)
void SetDisconnectOnSessionTimeout(bool value)
CreateClientVpnEndpointRequest & AddDnsServers(DnsServersT &&value)
void SetVpcId(VpcIdT &&value)
bool EndpointIpAddressTypeHasBeenSet() const
bool SessionTimeoutHoursHasBeenSet() const
CreateClientVpnEndpointRequest & WithSessionTimeoutHours(int value)
const Aws::Vector< ClientVpnAuthenticationRequest > & GetAuthenticationOptions() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateClientVpnEndpointRequest & AddAuthenticationOptions(AuthenticationOptionsT &&value)
const TransitGatewayConfigurationInputStructure & GetTransitGatewayConfiguration() const
bool GetSplitTunnel() const
void SetClientConnectOptions(ClientConnectOptionsT &&value)
CreateClientVpnEndpointRequest & WithTransitGatewayConfiguration(TransitGatewayConfigurationT &&value)
CreateClientVpnEndpointRequest & WithTransportProtocol(TransportProtocol value)
CreateClientVpnEndpointRequest & WithSplitTunnel(bool value)
CreateClientVpnEndpointRequest & WithDescription(DescriptionT &&value)
const Aws::String & GetClientToken() const
bool TagSpecificationsHasBeenSet() const
CreateClientVpnEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool GetDisconnectOnSessionTimeout() const
void SetTagSpecifications(TagSpecificationsT &&value)
EndpointIpAddressType GetEndpointIpAddressType() const
bool SecurityGroupIdsHasBeenSet() const
CreateClientVpnEndpointRequest & WithEndpointIpAddressType(EndpointIpAddressType value)
CreateClientVpnEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateClientVpnEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
bool VpcIdHasBeenSet() const
SelfServicePortal GetSelfServicePortal() const
virtual const char * GetServiceRequestName() const override
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
bool DnsServersHasBeenSet() const
TransportProtocol GetTransportProtocol() const
void SetEndpointIpAddressType(EndpointIpAddressType value)
void SetVpnPort(int value)
CreateClientVpnEndpointRequest & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
void SetDnsServers(DnsServersT &&value)
CreateClientVpnEndpointRequest & WithTrafficIpAddressType(TrafficIpAddressType value)
void SetClientCidrBlock(ClientCidrBlockT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetClientCidrBlock() const
bool ServerCertificateArnHasBeenSet() const
int GetSessionTimeoutHours() const
bool DisconnectOnSessionTimeoutHasBeenSet() const
bool TrafficIpAddressTypeHasBeenSet() const
TrafficIpAddressType GetTrafficIpAddressType() const
const ConnectionLogOptions & GetConnectionLogOptions() const
bool ClientCidrBlockHasBeenSet() const
const ClientRouteEnforcementOptions & GetClientRouteEnforcementOptions() const
bool DescriptionHasBeenSet() const
void SetDryRun(bool value)
CreateClientVpnEndpointRequest & WithClientToken(ClientTokenT &&value)
bool ClientLoginBannerOptionsHasBeenSet() const
void SetSessionTimeoutHours(int value)
bool TransitGatewayConfigurationHasBeenSet() const
bool TransportProtocolHasBeenSet() const
CreateClientVpnEndpointRequest & WithDisconnectOnSessionTimeout(bool value)
void SetSplitTunnel(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