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/DevicePostureOptions.h>
18#include <aws/ec2/model/EndpointIpAddressType.h>
19#include <aws/ec2/model/SelfServicePortal.h>
20#include <aws/ec2/model/TagSpecification.h>
21#include <aws/ec2/model/TrafficIpAddressType.h>
22#include <aws/ec2/model/TransitGatewayConfigurationInputStructure.h>
23#include <aws/ec2/model/TransportProtocol.h>
60 template <
typename ClientC
idrBlockT = Aws::String>
62 m_clientCidrBlockHasBeenSet =
true;
63 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
65 template <
typename ClientC
idrBlockT = Aws::String>
80 template <
typename ServerCertificateArnT = Aws::String>
82 m_serverCertificateArnHasBeenSet =
true;
83 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
85 template <
typename ServerCertificateArnT = Aws::String>
99 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
101 m_authenticationOptionsHasBeenSet =
true;
102 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
104 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
109 template <
typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
111 m_authenticationOptionsHasBeenSet =
true;
112 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
128 template <
typename ConnectionLogOptionsT = ConnectionLogOptions>
130 m_connectionLogOptionsHasBeenSet =
true;
131 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
133 template <
typename ConnectionLogOptionsT = ConnectionLogOptions>
148 template <
typename DnsServersT = Aws::Vector<Aws::String>>
150 m_dnsServersHasBeenSet =
true;
151 m_dnsServers = std::forward<DnsServersT>(value);
153 template <
typename DnsServersT = Aws::Vector<Aws::String>>
158 template <
typename DnsServersT = Aws::String>
160 m_dnsServersHasBeenSet =
true;
161 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
174 m_transportProtocolHasBeenSet =
true;
175 m_transportProtocol = value;
192 m_vpnPortHasBeenSet =
true;
207 template <
typename DescriptionT = Aws::String>
209 m_descriptionHasBeenSet =
true;
210 m_description = std::forward<DescriptionT>(value);
212 template <
typename DescriptionT = Aws::String>
230 m_splitTunnelHasBeenSet =
true;
231 m_splitTunnel = value;
249 m_dryRunHasBeenSet =
true;
267 template <
typename ClientTokenT = Aws::String>
269 m_clientTokenHasBeenSet =
true;
270 m_clientToken = std::forward<ClientTokenT>(value);
272 template <
typename ClientTokenT = Aws::String>
285 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
287 m_tagSpecificationsHasBeenSet =
true;
288 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
290 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
295 template <
typename TagSpecificationsT = TagSpecification>
297 m_tagSpecificationsHasBeenSet =
true;
298 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
310 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
312 m_securityGroupIdsHasBeenSet =
true;
313 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
315 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
320 template <
typename SecurityGroupIdsT = Aws::String>
322 m_securityGroupIdsHasBeenSet =
true;
323 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
336 template <
typename VpcIdT = Aws::String>
338 m_vpcIdHasBeenSet =
true;
339 m_vpcId = std::forward<VpcIdT>(value);
341 template <
typename VpcIdT = Aws::String>
343 SetVpcId(std::forward<VpcIdT>(value));
356 m_selfServicePortalHasBeenSet =
true;
357 m_selfServicePortal = value;
372 template <
typename ClientConnectOptionsT = ClientConnectOptions>
374 m_clientConnectOptionsHasBeenSet =
true;
375 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
377 template <
typename ClientConnectOptionsT = ClientConnectOptions>
392 m_sessionTimeoutHoursHasBeenSet =
true;
393 m_sessionTimeoutHours = value;
408 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
410 m_clientLoginBannerOptionsHasBeenSet =
true;
411 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
413 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
434 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
436 m_clientRouteEnforcementOptionsHasBeenSet =
true;
437 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
439 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
457 m_disconnectOnSessionTimeoutHasBeenSet =
true;
458 m_disconnectOnSessionTimeout = value;
477 m_endpointIpAddressTypeHasBeenSet =
true;
478 m_endpointIpAddressType = value;
497 m_trafficIpAddressTypeHasBeenSet =
true;
498 m_trafficIpAddressType = value;
515 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
517 m_transitGatewayConfigurationHasBeenSet =
true;
518 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
520 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
535 template <
typename DevicePostureOptionsT = DevicePostureOptions>
537 m_devicePostureOptionsHasBeenSet =
true;
538 m_devicePostureOptions = std::forward<DevicePostureOptionsT>(value);
540 template <
typename DevicePostureOptionsT = DevicePostureOptions>
563 bool m_splitTunnel{
false};
565 bool m_dryRun{
false};
577 ClientConnectOptions m_clientConnectOptions;
579 int m_sessionTimeoutHours{0};
581 ClientLoginBannerOptions m_clientLoginBannerOptions;
583 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
585 bool m_disconnectOnSessionTimeout{
false};
591 TransitGatewayConfigurationInputStructure m_transitGatewayConfiguration;
593 DevicePostureOptions m_devicePostureOptions;
594 bool m_clientCidrBlockHasBeenSet =
false;
595 bool m_serverCertificateArnHasBeenSet =
false;
596 bool m_authenticationOptionsHasBeenSet =
false;
597 bool m_connectionLogOptionsHasBeenSet =
false;
598 bool m_dnsServersHasBeenSet =
false;
599 bool m_transportProtocolHasBeenSet =
false;
600 bool m_vpnPortHasBeenSet =
false;
601 bool m_descriptionHasBeenSet =
false;
602 bool m_splitTunnelHasBeenSet =
false;
603 bool m_dryRunHasBeenSet =
false;
604 bool m_clientTokenHasBeenSet =
true;
605 bool m_tagSpecificationsHasBeenSet =
false;
606 bool m_securityGroupIdsHasBeenSet =
false;
607 bool m_vpcIdHasBeenSet =
false;
608 bool m_selfServicePortalHasBeenSet =
false;
609 bool m_clientConnectOptionsHasBeenSet =
false;
610 bool m_sessionTimeoutHoursHasBeenSet =
false;
611 bool m_clientLoginBannerOptionsHasBeenSet =
false;
612 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
613 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
614 bool m_endpointIpAddressTypeHasBeenSet =
false;
615 bool m_trafficIpAddressTypeHasBeenSet =
false;
616 bool m_transitGatewayConfigurationHasBeenSet =
false;
617 bool m_devicePostureOptionsHasBeenSet =
false;
bool AuthenticationOptionsHasBeenSet() const
const DevicePostureOptions & GetDevicePostureOptions() 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 & WithDevicePostureOptions(DevicePostureOptionsT &&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
void SetDevicePostureOptions(DevicePostureOptionsT &&value)
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
bool DevicePostureOptionsHasBeenSet() 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