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/ClientVpnAuthenticationRequest.h>
18#include <aws/ec2/model/TagSpecification.h>
20#include <aws/core/utils/UUID.h>
60 template<
typename ClientC
idrBlockT = Aws::String>
61 void SetClientCidrBlock(ClientCidrBlockT&& value) { m_clientCidrBlockHasBeenSet =
true; m_clientCidrBlock = std::forward<ClientCidrBlockT>(value); }
62 template<
typename ClientC
idrBlockT = Aws::String>
74 template<
typename ServerCertificateArnT = Aws::String>
75 void SetServerCertificateArn(ServerCertificateArnT&& value) { m_serverCertificateArnHasBeenSet =
true; m_serverCertificateArn = std::forward<ServerCertificateArnT>(value); }
76 template<
typename ServerCertificateArnT = Aws::String>
87 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
88 void SetAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet =
true; m_authenticationOptions = std::forward<AuthenticationOptionsT>(value); }
89 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
91 template<
typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
106 template<
typename ConnectionLogOptionsT = ConnectionLogOptions>
107 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) { m_connectionLogOptionsHasBeenSet =
true; m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value); }
108 template<
typename ConnectionLogOptionsT = ConnectionLogOptions>
120 template<
typename DnsServersT = Aws::Vector<Aws::String>>
121 void SetDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet =
true; m_dnsServers = std::forward<DnsServersT>(value); }
122 template<
typename DnsServersT = Aws::Vector<Aws::String>>
124 template<
typename DnsServersT = Aws::String>
147 inline void SetVpnPort(
int value) { m_vpnPortHasBeenSet =
true; m_vpnPort = value; }
157 template<
typename DescriptionT = Aws::String>
158 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
159 template<
typename DescriptionT = Aws::String>
173 inline void SetSplitTunnel(
bool value) { m_splitTunnelHasBeenSet =
true; m_splitTunnel = value; }
186 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
199 template<
typename ClientTokenT = Aws::String>
200 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
201 template<
typename ClientTokenT = Aws::String>
211 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
212 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
213 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
215 template<
typename TagSpecificationsT = TagSpecification>
226 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
227 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
228 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
230 template<
typename SecurityGroupIdsT = Aws::String>
242 template<
typename VpcIdT = Aws::String>
243 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
244 template<
typename VpcIdT = Aws::String>
266 template<
typename ClientConnectOptionsT = ClientConnectOptions>
267 void SetClientConnectOptions(ClientConnectOptionsT&& value) { m_clientConnectOptionsHasBeenSet =
true; m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value); }
268 template<
typename ClientConnectOptionsT = ClientConnectOptions>
290 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
291 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { m_clientLoginBannerOptionsHasBeenSet =
true; m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value); }
292 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
310 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
311 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { m_clientRouteEnforcementOptionsHasBeenSet =
true; m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value); }
312 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
332 bool m_clientCidrBlockHasBeenSet =
false;
335 bool m_serverCertificateArnHasBeenSet =
false;
338 bool m_authenticationOptionsHasBeenSet =
false;
341 bool m_connectionLogOptionsHasBeenSet =
false;
344 bool m_dnsServersHasBeenSet =
false;
347 bool m_transportProtocolHasBeenSet =
false;
350 bool m_vpnPortHasBeenSet =
false;
353 bool m_descriptionHasBeenSet =
false;
355 bool m_splitTunnel{
false};
356 bool m_splitTunnelHasBeenSet =
false;
358 bool m_dryRun{
false};
359 bool m_dryRunHasBeenSet =
false;
362 bool m_clientTokenHasBeenSet =
true;
365 bool m_tagSpecificationsHasBeenSet =
false;
368 bool m_securityGroupIdsHasBeenSet =
false;
371 bool m_vpcIdHasBeenSet =
false;
374 bool m_selfServicePortalHasBeenSet =
false;
376 ClientConnectOptions m_clientConnectOptions;
377 bool m_clientConnectOptionsHasBeenSet =
false;
379 int m_sessionTimeoutHours{0};
380 bool m_sessionTimeoutHoursHasBeenSet =
false;
382 ClientLoginBannerOptions m_clientLoginBannerOptions;
383 bool m_clientLoginBannerOptionsHasBeenSet =
false;
385 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
386 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
388 bool m_disconnectOnSessionTimeout{
false};
389 bool m_disconnectOnSessionTimeoutHasBeenSet =
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)
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
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 SessionTimeoutHoursHasBeenSet() const
CreateClientVpnEndpointRequest & WithSessionTimeoutHours(int value)
const Aws::Vector< ClientVpnAuthenticationRequest > & GetAuthenticationOptions() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateClientVpnEndpointRequest & AddAuthenticationOptions(AuthenticationOptionsT &&value)
bool GetSplitTunnel() const
void SetClientConnectOptions(ClientConnectOptionsT &&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)
bool SecurityGroupIdsHasBeenSet() const
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 SetVpnPort(int value)
CreateClientVpnEndpointRequest & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
void SetDnsServers(DnsServersT &&value)
void SetClientCidrBlock(ClientCidrBlockT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetClientCidrBlock() const
bool ServerCertificateArnHasBeenSet() const
int GetSessionTimeoutHours() const
bool DisconnectOnSessionTimeoutHasBeenSet() 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 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