7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ClientConnectResponseOptions.h>
12#include <aws/ec2/model/ClientLoginBannerResponseOptions.h>
13#include <aws/ec2/model/ClientRouteEnforcementResponseOptions.h>
14#include <aws/ec2/model/ClientVpnAuthentication.h>
15#include <aws/ec2/model/ClientVpnEndpointStatus.h>
16#include <aws/ec2/model/ConnectionLogResponseOptions.h>
17#include <aws/ec2/model/EndpointIpAddressType.h>
18#include <aws/ec2/model/Tag.h>
19#include <aws/ec2/model/TrafficIpAddressType.h>
20#include <aws/ec2/model/TransportProtocol.h>
21#include <aws/ec2/model/VpnProtocol.h>
54 template <
typename ClientVpnEndpo
intIdT = Aws::String>
56 m_clientVpnEndpointIdHasBeenSet =
true;
57 m_clientVpnEndpointId = std::forward<ClientVpnEndpointIdT>(value);
59 template <
typename ClientVpnEndpo
intIdT = Aws::String>
72 template <
typename DescriptionT = Aws::String>
74 m_descriptionHasBeenSet =
true;
75 m_description = std::forward<DescriptionT>(value);
77 template <
typename DescriptionT = Aws::String>
90 template <
typename StatusT = ClientVpnEndpo
intStatus>
92 m_statusHasBeenSet =
true;
93 m_status = std::forward<StatusT>(value);
95 template <
typename StatusT = ClientVpnEndpo
intStatus>
108 template <
typename CreationTimeT = Aws::String>
110 m_creationTimeHasBeenSet =
true;
111 m_creationTime = std::forward<CreationTimeT>(value);
113 template <
typename CreationTimeT = Aws::String>
126 template <
typename DeletionTimeT = Aws::String>
128 m_deletionTimeHasBeenSet =
true;
129 m_deletionTime = std::forward<DeletionTimeT>(value);
131 template <
typename DeletionTimeT = Aws::String>
145 template <
typename DnsNameT = Aws::String>
147 m_dnsNameHasBeenSet =
true;
148 m_dnsName = std::forward<DnsNameT>(value);
150 template <
typename DnsNameT = Aws::String>
164 template <
typename ClientC
idrBlockT = Aws::String>
166 m_clientCidrBlockHasBeenSet =
true;
167 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
169 template <
typename ClientC
idrBlockT = Aws::String>
182 template <
typename DnsServersT = Aws::Vector<Aws::String>>
184 m_dnsServersHasBeenSet =
true;
185 m_dnsServers = std::forward<DnsServersT>(value);
187 template <
typename DnsServersT = Aws::Vector<Aws::String>>
192 template <
typename DnsServersT = Aws::String>
194 m_dnsServersHasBeenSet =
true;
195 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
210 m_splitTunnelHasBeenSet =
true;
211 m_splitTunnel = value;
226 m_vpnProtocolHasBeenSet =
true;
227 m_vpnProtocol = value;
242 m_transportProtocolHasBeenSet =
true;
243 m_transportProtocol = value;
258 m_vpnPortHasBeenSet =
true;
273 template <
typename ServerCertificateArnT = Aws::String>
275 m_serverCertificateArnHasBeenSet =
true;
276 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
278 template <
typename ServerCertificateArnT = Aws::String>
292 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
294 m_authenticationOptionsHasBeenSet =
true;
295 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
297 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
302 template <
typename AuthenticationOptionsT = ClientVpnAuthentication>
304 m_authenticationOptionsHasBeenSet =
true;
305 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
317 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
319 m_connectionLogOptionsHasBeenSet =
true;
320 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
322 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
335 template <
typename TagsT = Aws::Vector<Tag>>
337 m_tagsHasBeenSet =
true;
338 m_tags = std::forward<TagsT>(value);
340 template <
typename TagsT = Aws::Vector<Tag>>
342 SetTags(std::forward<TagsT>(value));
345 template <
typename TagsT = Tag>
347 m_tagsHasBeenSet =
true;
348 m_tags.emplace_back(std::forward<TagsT>(value));
359 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
361 m_securityGroupIdsHasBeenSet =
true;
362 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
364 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
369 template <
typename SecurityGroupIdsT = Aws::String>
371 m_securityGroupIdsHasBeenSet =
true;
372 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
383 template <
typename VpcIdT = Aws::String>
385 m_vpcIdHasBeenSet =
true;
386 m_vpcId = std::forward<VpcIdT>(value);
388 template <
typename VpcIdT = Aws::String>
390 SetVpcId(std::forward<VpcIdT>(value));
401 template <
typename SelfServicePortalUrlT = Aws::String>
403 m_selfServicePortalUrlHasBeenSet =
true;
404 m_selfServicePortalUrl = std::forward<SelfServicePortalUrlT>(value);
406 template <
typename SelfServicePortalUrlT = Aws::String>
420 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
422 m_clientConnectOptionsHasBeenSet =
true;
423 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
425 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
440 m_sessionTimeoutHoursHasBeenSet =
true;
441 m_sessionTimeoutHours = value;
456 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
458 m_clientLoginBannerOptionsHasBeenSet =
true;
459 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
461 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
482 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
484 m_clientRouteEnforcementOptionsHasBeenSet =
true;
485 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
487 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
504 m_disconnectOnSessionTimeoutHasBeenSet =
true;
505 m_disconnectOnSessionTimeout = value;
523 m_endpointIpAddressTypeHasBeenSet =
true;
524 m_endpointIpAddressType = value;
542 m_trafficIpAddressTypeHasBeenSet =
true;
543 m_trafficIpAddressType = value;
567 bool m_splitTunnel{
false};
579 ConnectionLogResponseOptions m_connectionLogOptions;
589 ClientConnectResponseOptions m_clientConnectOptions;
591 int m_sessionTimeoutHours{0};
593 ClientLoginBannerResponseOptions m_clientLoginBannerOptions;
595 ClientRouteEnforcementResponseOptions m_clientRouteEnforcementOptions;
597 bool m_disconnectOnSessionTimeout{
false};
602 bool m_clientVpnEndpointIdHasBeenSet =
false;
603 bool m_descriptionHasBeenSet =
false;
604 bool m_statusHasBeenSet =
false;
605 bool m_creationTimeHasBeenSet =
false;
606 bool m_deletionTimeHasBeenSet =
false;
607 bool m_dnsNameHasBeenSet =
false;
608 bool m_clientCidrBlockHasBeenSet =
false;
609 bool m_dnsServersHasBeenSet =
false;
610 bool m_splitTunnelHasBeenSet =
false;
611 bool m_vpnProtocolHasBeenSet =
false;
612 bool m_transportProtocolHasBeenSet =
false;
613 bool m_vpnPortHasBeenSet =
false;
614 bool m_serverCertificateArnHasBeenSet =
false;
615 bool m_authenticationOptionsHasBeenSet =
false;
616 bool m_connectionLogOptionsHasBeenSet =
false;
617 bool m_tagsHasBeenSet =
false;
618 bool m_securityGroupIdsHasBeenSet =
false;
619 bool m_vpcIdHasBeenSet =
false;
620 bool m_selfServicePortalUrlHasBeenSet =
false;
621 bool m_clientConnectOptionsHasBeenSet =
false;
622 bool m_sessionTimeoutHoursHasBeenSet =
false;
623 bool m_clientLoginBannerOptionsHasBeenSet =
false;
624 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
625 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
626 bool m_endpointIpAddressTypeHasBeenSet =
false;
627 bool m_trafficIpAddressTypeHasBeenSet =
false;
ClientVpnEndpoint & WithDnsServers(DnsServersT &&value)
AWS_EC2_API ClientVpnEndpoint(const Aws::Utils::Xml::XmlNode &xmlNode)
ClientVpnEndpoint & WithAuthenticationOptions(AuthenticationOptionsT &&value)
const Aws::String & GetDnsName() const
ClientVpnEndpoint & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool DisconnectOnSessionTimeoutHasBeenSet() const
bool DnsServersHasBeenSet() const
void SetSelfServicePortalUrl(SelfServicePortalUrlT &&value)
void SetEndpointIpAddressType(EndpointIpAddressType value)
void SetVpcId(VpcIdT &&value)
void SetCreationTime(CreationTimeT &&value)
ClientVpnEndpoint & WithSessionTimeoutHours(int value)
EndpointIpAddressType GetEndpointIpAddressType() const
const Aws::String & GetClientVpnEndpointId() const
bool TrafficIpAddressTypeHasBeenSet() const
bool VpnProtocolHasBeenSet() const
bool SelfServicePortalUrlHasBeenSet() const
void SetTransportProtocol(TransportProtocol value)
void SetDnsServers(DnsServersT &&value)
ClientVpnEndpoint & WithDescription(DescriptionT &&value)
bool ClientVpnEndpointIdHasBeenSet() const
void SetVpnPort(int value)
ClientVpnEndpoint & AddAuthenticationOptions(AuthenticationOptionsT &&value)
const ClientConnectResponseOptions & GetClientConnectOptions() const
ClientVpnEndpoint & WithSelfServicePortalUrl(SelfServicePortalUrlT &&value)
bool ClientCidrBlockHasBeenSet() const
ClientVpnEndpoint & WithDnsName(DnsNameT &&value)
void SetSessionTimeoutHours(int value)
ClientVpnEndpoint & WithServerCertificateArn(ServerCertificateArnT &&value)
bool EndpointIpAddressTypeHasBeenSet() const
bool GetSplitTunnel() const
ClientVpnEndpoint & AddDnsServers(DnsServersT &&value)
bool ClientRouteEnforcementOptionsHasBeenSet() const
bool DeletionTimeHasBeenSet() const
bool ClientLoginBannerOptionsHasBeenSet() const
VpnProtocol GetVpnProtocol() const
const ClientLoginBannerResponseOptions & GetClientLoginBannerOptions() const
ClientVpnEndpoint & WithConnectionLogOptions(ConnectionLogOptionsT &&value)
const ConnectionLogResponseOptions & GetConnectionLogOptions() const
void SetVpnProtocol(VpnProtocol value)
ClientVpnEndpoint & AddTags(TagsT &&value)
const Aws::String & GetClientCidrBlock() const
const Aws::String & GetVpcId() const
ClientVpnEndpoint & WithCreationTime(CreationTimeT &&value)
const Aws::Vector< ClientVpnAuthentication > & GetAuthenticationOptions() const
TrafficIpAddressType GetTrafficIpAddressType() const
ClientVpnEndpoint & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetDisconnectOnSessionTimeout(bool value)
ClientVpnEndpoint & WithTransportProtocol(TransportProtocol value)
void SetAuthenticationOptions(AuthenticationOptionsT &&value)
void SetDeletionTime(DeletionTimeT &&value)
void SetClientCidrBlock(ClientCidrBlockT &&value)
bool GetDisconnectOnSessionTimeout() const
void SetSplitTunnel(bool value)
int GetSessionTimeoutHours() const
ClientVpnEndpoint & WithStatus(StatusT &&value)
bool ServerCertificateArnHasBeenSet() const
ClientVpnEndpoint & WithVpnPort(int value)
ClientVpnEndpoint & WithDeletionTime(DeletionTimeT &&value)
ClientVpnEndpoint & WithClientVpnEndpointId(ClientVpnEndpointIdT &&value)
bool AuthenticationOptionsHasBeenSet() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool DescriptionHasBeenSet() const
const ClientVpnEndpointStatus & GetStatus() const
bool ConnectionLogOptionsHasBeenSet() const
ClientVpnEndpoint & WithClientConnectOptions(ClientConnectOptionsT &&value)
AWS_EC2_API ClientVpnEndpoint()=default
const Aws::String & GetCreationTime() const
const ClientRouteEnforcementResponseOptions & GetClientRouteEnforcementOptions() const
ClientVpnEndpoint & WithTags(TagsT &&value)
bool VpcIdHasBeenSet() const
bool SessionTimeoutHoursHasBeenSet() const
TransportProtocol GetTransportProtocol() const
const Aws::String & GetDescription() const
void SetClientVpnEndpointId(ClientVpnEndpointIdT &&value)
void SetDnsName(DnsNameT &&value)
const Aws::Vector< Aws::String > & GetDnsServers() const
bool VpnPortHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ClientVpnEndpoint & WithDisconnectOnSessionTimeout(bool value)
void SetConnectionLogOptions(ConnectionLogOptionsT &&value)
bool CreationTimeHasBeenSet() const
ClientVpnEndpoint & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
bool DnsNameHasBeenSet() const
ClientVpnEndpoint & WithClientCidrBlock(ClientCidrBlockT &&value)
ClientVpnEndpoint & WithVpcId(VpcIdT &&value)
ClientVpnEndpoint & WithSplitTunnel(bool value)
const Aws::Vector< Tag > & GetTags() const
ClientVpnEndpoint & WithEndpointIpAddressType(EndpointIpAddressType value)
bool TagsHasBeenSet() const
ClientVpnEndpoint & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
const Aws::String & GetSelfServicePortalUrl() const
bool ClientConnectOptionsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetStatus(StatusT &&value)
bool TransportProtocolHasBeenSet() const
bool StatusHasBeenSet() const
void SetDescription(DescriptionT &&value)
bool SplitTunnelHasBeenSet() const
void SetServerCertificateArn(ServerCertificateArnT &&value)
ClientVpnEndpoint & WithVpnProtocol(VpnProtocol value)
void SetClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::String & GetServerCertificateArn() const
void SetTags(TagsT &&value)
const Aws::String & GetDeletionTime() const
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
AWS_EC2_API ClientVpnEndpoint & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ClientVpnEndpoint & WithTrafficIpAddressType(TrafficIpAddressType value)
void SetTrafficIpAddressType(TrafficIpAddressType value)
void SetClientConnectOptions(ClientConnectOptionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream