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/TransitGatewayConfigurationDescribeEndpointStructure.h>
21#include <aws/ec2/model/TransportProtocol.h>
22#include <aws/ec2/model/VpnProtocol.h>
55 template <
typename ClientVpnEndpo
intIdT = Aws::String>
57 m_clientVpnEndpointIdHasBeenSet =
true;
58 m_clientVpnEndpointId = std::forward<ClientVpnEndpointIdT>(value);
60 template <
typename ClientVpnEndpo
intIdT = Aws::String>
73 template <
typename DescriptionT = Aws::String>
75 m_descriptionHasBeenSet =
true;
76 m_description = std::forward<DescriptionT>(value);
78 template <
typename DescriptionT = Aws::String>
91 template <
typename StatusT = ClientVpnEndpo
intStatus>
93 m_statusHasBeenSet =
true;
94 m_status = std::forward<StatusT>(value);
96 template <
typename StatusT = ClientVpnEndpo
intStatus>
109 template <
typename CreationTimeT = Aws::String>
111 m_creationTimeHasBeenSet =
true;
112 m_creationTime = std::forward<CreationTimeT>(value);
114 template <
typename CreationTimeT = Aws::String>
127 template <
typename DeletionTimeT = Aws::String>
129 m_deletionTimeHasBeenSet =
true;
130 m_deletionTime = std::forward<DeletionTimeT>(value);
132 template <
typename DeletionTimeT = Aws::String>
146 template <
typename DnsNameT = Aws::String>
148 m_dnsNameHasBeenSet =
true;
149 m_dnsName = std::forward<DnsNameT>(value);
151 template <
typename DnsNameT = Aws::String>
165 template <
typename ClientC
idrBlockT = Aws::String>
167 m_clientCidrBlockHasBeenSet =
true;
168 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
170 template <
typename ClientC
idrBlockT = Aws::String>
183 template <
typename DnsServersT = Aws::Vector<Aws::String>>
185 m_dnsServersHasBeenSet =
true;
186 m_dnsServers = std::forward<DnsServersT>(value);
188 template <
typename DnsServersT = Aws::Vector<Aws::String>>
193 template <
typename DnsServersT = Aws::String>
195 m_dnsServersHasBeenSet =
true;
196 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
211 m_splitTunnelHasBeenSet =
true;
212 m_splitTunnel = value;
227 m_vpnProtocolHasBeenSet =
true;
228 m_vpnProtocol = value;
243 m_transportProtocolHasBeenSet =
true;
244 m_transportProtocol = value;
259 m_vpnPortHasBeenSet =
true;
274 template <
typename ServerCertificateArnT = Aws::String>
276 m_serverCertificateArnHasBeenSet =
true;
277 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
279 template <
typename ServerCertificateArnT = Aws::String>
293 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
295 m_authenticationOptionsHasBeenSet =
true;
296 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
298 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
303 template <
typename AuthenticationOptionsT = ClientVpnAuthentication>
305 m_authenticationOptionsHasBeenSet =
true;
306 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
318 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
320 m_connectionLogOptionsHasBeenSet =
true;
321 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
323 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
336 template <
typename TagsT = Aws::Vector<Tag>>
338 m_tagsHasBeenSet =
true;
339 m_tags = std::forward<TagsT>(value);
341 template <
typename TagsT = Aws::Vector<Tag>>
343 SetTags(std::forward<TagsT>(value));
346 template <
typename TagsT = Tag>
348 m_tagsHasBeenSet =
true;
349 m_tags.emplace_back(std::forward<TagsT>(value));
360 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
362 m_securityGroupIdsHasBeenSet =
true;
363 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
365 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
370 template <
typename SecurityGroupIdsT = Aws::String>
372 m_securityGroupIdsHasBeenSet =
true;
373 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
384 template <
typename VpcIdT = Aws::String>
386 m_vpcIdHasBeenSet =
true;
387 m_vpcId = std::forward<VpcIdT>(value);
389 template <
typename VpcIdT = Aws::String>
391 SetVpcId(std::forward<VpcIdT>(value));
402 template <
typename SelfServicePortalUrlT = Aws::String>
404 m_selfServicePortalUrlHasBeenSet =
true;
405 m_selfServicePortalUrl = std::forward<SelfServicePortalUrlT>(value);
407 template <
typename SelfServicePortalUrlT = Aws::String>
421 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
423 m_clientConnectOptionsHasBeenSet =
true;
424 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
426 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
441 m_sessionTimeoutHoursHasBeenSet =
true;
442 m_sessionTimeoutHours = value;
457 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
459 m_clientLoginBannerOptionsHasBeenSet =
true;
460 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
462 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
483 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
485 m_clientRouteEnforcementOptionsHasBeenSet =
true;
486 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
488 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
505 m_disconnectOnSessionTimeoutHasBeenSet =
true;
506 m_disconnectOnSessionTimeout = value;
524 m_endpointIpAddressTypeHasBeenSet =
true;
525 m_endpointIpAddressType = value;
543 m_trafficIpAddressTypeHasBeenSet =
true;
544 m_trafficIpAddressType = value;
557 return m_transitGatewayConfiguration;
560 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationDescribeEndpo
intStructure>
562 m_transitGatewayConfigurationHasBeenSet =
true;
563 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
565 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationDescribeEndpo
intStructure>
588 bool m_splitTunnel{
false};
600 ConnectionLogResponseOptions m_connectionLogOptions;
610 ClientConnectResponseOptions m_clientConnectOptions;
612 int m_sessionTimeoutHours{0};
614 ClientLoginBannerResponseOptions m_clientLoginBannerOptions;
616 ClientRouteEnforcementResponseOptions m_clientRouteEnforcementOptions;
618 bool m_disconnectOnSessionTimeout{
false};
624 TransitGatewayConfigurationDescribeEndpointStructure m_transitGatewayConfiguration;
625 bool m_clientVpnEndpointIdHasBeenSet =
false;
626 bool m_descriptionHasBeenSet =
false;
627 bool m_statusHasBeenSet =
false;
628 bool m_creationTimeHasBeenSet =
false;
629 bool m_deletionTimeHasBeenSet =
false;
630 bool m_dnsNameHasBeenSet =
false;
631 bool m_clientCidrBlockHasBeenSet =
false;
632 bool m_dnsServersHasBeenSet =
false;
633 bool m_splitTunnelHasBeenSet =
false;
634 bool m_vpnProtocolHasBeenSet =
false;
635 bool m_transportProtocolHasBeenSet =
false;
636 bool m_vpnPortHasBeenSet =
false;
637 bool m_serverCertificateArnHasBeenSet =
false;
638 bool m_authenticationOptionsHasBeenSet =
false;
639 bool m_connectionLogOptionsHasBeenSet =
false;
640 bool m_tagsHasBeenSet =
false;
641 bool m_securityGroupIdsHasBeenSet =
false;
642 bool m_vpcIdHasBeenSet =
false;
643 bool m_selfServicePortalUrlHasBeenSet =
false;
644 bool m_clientConnectOptionsHasBeenSet =
false;
645 bool m_sessionTimeoutHoursHasBeenSet =
false;
646 bool m_clientLoginBannerOptionsHasBeenSet =
false;
647 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
648 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
649 bool m_endpointIpAddressTypeHasBeenSet =
false;
650 bool m_trafficIpAddressTypeHasBeenSet =
false;
651 bool m_transitGatewayConfigurationHasBeenSet =
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 SetTransitGatewayConfiguration(TransitGatewayConfigurationT &&value)
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
bool TransitGatewayConfigurationHasBeenSet() 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
const TransitGatewayConfigurationDescribeEndpointStructure & GetTransitGatewayConfiguration() 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 & WithTransitGatewayConfiguration(TransitGatewayConfigurationT &&value)
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