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/DevicePostureResponseOptions.h>
18#include <aws/ec2/model/EndpointIpAddressType.h>
19#include <aws/ec2/model/Tag.h>
20#include <aws/ec2/model/TrafficIpAddressType.h>
21#include <aws/ec2/model/TransitGatewayConfigurationDescribeEndpointStructure.h>
22#include <aws/ec2/model/TransportProtocol.h>
23#include <aws/ec2/model/VpnProtocol.h>
56 template <
typename ClientVpnEndpo
intIdT = Aws::String>
58 m_clientVpnEndpointIdHasBeenSet =
true;
59 m_clientVpnEndpointId = std::forward<ClientVpnEndpointIdT>(value);
61 template <
typename ClientVpnEndpo
intIdT = Aws::String>
74 template <
typename DescriptionT = Aws::String>
76 m_descriptionHasBeenSet =
true;
77 m_description = std::forward<DescriptionT>(value);
79 template <
typename DescriptionT = Aws::String>
92 template <
typename StatusT = ClientVpnEndpo
intStatus>
94 m_statusHasBeenSet =
true;
95 m_status = std::forward<StatusT>(value);
97 template <
typename StatusT = ClientVpnEndpo
intStatus>
110 template <
typename CreationTimeT = Aws::String>
112 m_creationTimeHasBeenSet =
true;
113 m_creationTime = std::forward<CreationTimeT>(value);
115 template <
typename CreationTimeT = Aws::String>
128 template <
typename DeletionTimeT = Aws::String>
130 m_deletionTimeHasBeenSet =
true;
131 m_deletionTime = std::forward<DeletionTimeT>(value);
133 template <
typename DeletionTimeT = Aws::String>
147 template <
typename DnsNameT = Aws::String>
149 m_dnsNameHasBeenSet =
true;
150 m_dnsName = std::forward<DnsNameT>(value);
152 template <
typename DnsNameT = Aws::String>
166 template <
typename ClientC
idrBlockT = Aws::String>
168 m_clientCidrBlockHasBeenSet =
true;
169 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
171 template <
typename ClientC
idrBlockT = Aws::String>
184 template <
typename DnsServersT = Aws::Vector<Aws::String>>
186 m_dnsServersHasBeenSet =
true;
187 m_dnsServers = std::forward<DnsServersT>(value);
189 template <
typename DnsServersT = Aws::Vector<Aws::String>>
194 template <
typename DnsServersT = Aws::String>
196 m_dnsServersHasBeenSet =
true;
197 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
212 m_splitTunnelHasBeenSet =
true;
213 m_splitTunnel = value;
228 m_vpnProtocolHasBeenSet =
true;
229 m_vpnProtocol = value;
244 m_transportProtocolHasBeenSet =
true;
245 m_transportProtocol = value;
260 m_vpnPortHasBeenSet =
true;
275 template <
typename ServerCertificateArnT = Aws::String>
277 m_serverCertificateArnHasBeenSet =
true;
278 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
280 template <
typename ServerCertificateArnT = Aws::String>
294 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
296 m_authenticationOptionsHasBeenSet =
true;
297 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
299 template <
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
304 template <
typename AuthenticationOptionsT = ClientVpnAuthentication>
306 m_authenticationOptionsHasBeenSet =
true;
307 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
319 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
321 m_connectionLogOptionsHasBeenSet =
true;
322 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
324 template <
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
337 template <
typename TagsT = Aws::Vector<Tag>>
339 m_tagsHasBeenSet =
true;
340 m_tags = std::forward<TagsT>(value);
342 template <
typename TagsT = Aws::Vector<Tag>>
344 SetTags(std::forward<TagsT>(value));
347 template <
typename TagsT = Tag>
349 m_tagsHasBeenSet =
true;
350 m_tags.emplace_back(std::forward<TagsT>(value));
361 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
363 m_securityGroupIdsHasBeenSet =
true;
364 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
366 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
371 template <
typename SecurityGroupIdsT = Aws::String>
373 m_securityGroupIdsHasBeenSet =
true;
374 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
385 template <
typename VpcIdT = Aws::String>
387 m_vpcIdHasBeenSet =
true;
388 m_vpcId = std::forward<VpcIdT>(value);
390 template <
typename VpcIdT = Aws::String>
392 SetVpcId(std::forward<VpcIdT>(value));
403 template <
typename SelfServicePortalUrlT = Aws::String>
405 m_selfServicePortalUrlHasBeenSet =
true;
406 m_selfServicePortalUrl = std::forward<SelfServicePortalUrlT>(value);
408 template <
typename SelfServicePortalUrlT = Aws::String>
422 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
424 m_clientConnectOptionsHasBeenSet =
true;
425 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
427 template <
typename ClientConnectOptionsT = ClientConnectResponseOptions>
442 m_sessionTimeoutHoursHasBeenSet =
true;
443 m_sessionTimeoutHours = value;
458 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
460 m_clientLoginBannerOptionsHasBeenSet =
true;
461 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
463 template <
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
484 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
486 m_clientRouteEnforcementOptionsHasBeenSet =
true;
487 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
489 template <
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
506 m_disconnectOnSessionTimeoutHasBeenSet =
true;
507 m_disconnectOnSessionTimeout = value;
525 m_endpointIpAddressTypeHasBeenSet =
true;
526 m_endpointIpAddressType = value;
544 m_trafficIpAddressTypeHasBeenSet =
true;
545 m_trafficIpAddressType = value;
558 return m_transitGatewayConfiguration;
561 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationDescribeEndpo
intStructure>
563 m_transitGatewayConfigurationHasBeenSet =
true;
564 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
566 template <
typename TransitGatewayConfigurationT = TransitGatewayConfigurationDescribeEndpo
intStructure>
580 template <
typename DevicePostureOptionsT = DevicePostureResponseOptions>
582 m_devicePostureOptionsHasBeenSet =
true;
583 m_devicePostureOptions = std::forward<DevicePostureOptionsT>(value);
585 template <
typename DevicePostureOptionsT = DevicePostureResponseOptions>
608 bool m_splitTunnel{
false};
620 ConnectionLogResponseOptions m_connectionLogOptions;
630 ClientConnectResponseOptions m_clientConnectOptions;
632 int m_sessionTimeoutHours{0};
634 ClientLoginBannerResponseOptions m_clientLoginBannerOptions;
636 ClientRouteEnforcementResponseOptions m_clientRouteEnforcementOptions;
638 bool m_disconnectOnSessionTimeout{
false};
644 TransitGatewayConfigurationDescribeEndpointStructure m_transitGatewayConfiguration;
646 DevicePostureResponseOptions m_devicePostureOptions;
647 bool m_clientVpnEndpointIdHasBeenSet =
false;
648 bool m_descriptionHasBeenSet =
false;
649 bool m_statusHasBeenSet =
false;
650 bool m_creationTimeHasBeenSet =
false;
651 bool m_deletionTimeHasBeenSet =
false;
652 bool m_dnsNameHasBeenSet =
false;
653 bool m_clientCidrBlockHasBeenSet =
false;
654 bool m_dnsServersHasBeenSet =
false;
655 bool m_splitTunnelHasBeenSet =
false;
656 bool m_vpnProtocolHasBeenSet =
false;
657 bool m_transportProtocolHasBeenSet =
false;
658 bool m_vpnPortHasBeenSet =
false;
659 bool m_serverCertificateArnHasBeenSet =
false;
660 bool m_authenticationOptionsHasBeenSet =
false;
661 bool m_connectionLogOptionsHasBeenSet =
false;
662 bool m_tagsHasBeenSet =
false;
663 bool m_securityGroupIdsHasBeenSet =
false;
664 bool m_vpcIdHasBeenSet =
false;
665 bool m_selfServicePortalUrlHasBeenSet =
false;
666 bool m_clientConnectOptionsHasBeenSet =
false;
667 bool m_sessionTimeoutHoursHasBeenSet =
false;
668 bool m_clientLoginBannerOptionsHasBeenSet =
false;
669 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
670 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
671 bool m_endpointIpAddressTypeHasBeenSet =
false;
672 bool m_trafficIpAddressTypeHasBeenSet =
false;
673 bool m_transitGatewayConfigurationHasBeenSet =
false;
674 bool m_devicePostureOptionsHasBeenSet =
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)
const DevicePostureResponseOptions & GetDevicePostureOptions() const
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)
ClientVpnEndpoint & WithDevicePostureOptions(DevicePostureOptionsT &&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
void SetDevicePostureOptions(DevicePostureOptionsT &&value)
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)
bool DevicePostureOptionsHasBeenSet() const
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