/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a client connection.

See Also:

AWS * API Reference

*/ class ClientVpnConnection { public: AWS_EC2_API ClientVpnConnection(); AWS_EC2_API ClientVpnConnection(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API ClientVpnConnection& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline const Aws::String& GetClientVpnEndpointId() const{ return m_clientVpnEndpointId; } /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline bool ClientVpnEndpointIdHasBeenSet() const { return m_clientVpnEndpointIdHasBeenSet; } /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline void SetClientVpnEndpointId(const Aws::String& value) { m_clientVpnEndpointIdHasBeenSet = true; m_clientVpnEndpointId = value; } /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline void SetClientVpnEndpointId(Aws::String&& value) { m_clientVpnEndpointIdHasBeenSet = true; m_clientVpnEndpointId = std::move(value); } /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline void SetClientVpnEndpointId(const char* value) { m_clientVpnEndpointIdHasBeenSet = true; m_clientVpnEndpointId.assign(value); } /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline ClientVpnConnection& WithClientVpnEndpointId(const Aws::String& value) { SetClientVpnEndpointId(value); return *this;} /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline ClientVpnConnection& WithClientVpnEndpointId(Aws::String&& value) { SetClientVpnEndpointId(std::move(value)); return *this;} /** *

The ID of the Client VPN endpoint to which the client is connected.

*/ inline ClientVpnConnection& WithClientVpnEndpointId(const char* value) { SetClientVpnEndpointId(value); return *this;} /** *

The current date and time.

*/ inline const Aws::String& GetTimestamp() const{ return m_timestamp; } /** *

The current date and time.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The current date and time.

*/ inline void SetTimestamp(const Aws::String& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The current date and time.

*/ inline void SetTimestamp(Aws::String&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The current date and time.

*/ inline void SetTimestamp(const char* value) { m_timestampHasBeenSet = true; m_timestamp.assign(value); } /** *

The current date and time.

*/ inline ClientVpnConnection& WithTimestamp(const Aws::String& value) { SetTimestamp(value); return *this;} /** *

The current date and time.

*/ inline ClientVpnConnection& WithTimestamp(Aws::String&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The current date and time.

*/ inline ClientVpnConnection& WithTimestamp(const char* value) { SetTimestamp(value); return *this;} /** *

The ID of the client connection.

*/ inline const Aws::String& GetConnectionId() const{ return m_connectionId; } /** *

The ID of the client connection.

*/ inline bool ConnectionIdHasBeenSet() const { return m_connectionIdHasBeenSet; } /** *

The ID of the client connection.

*/ inline void SetConnectionId(const Aws::String& value) { m_connectionIdHasBeenSet = true; m_connectionId = value; } /** *

The ID of the client connection.

*/ inline void SetConnectionId(Aws::String&& value) { m_connectionIdHasBeenSet = true; m_connectionId = std::move(value); } /** *

The ID of the client connection.

*/ inline void SetConnectionId(const char* value) { m_connectionIdHasBeenSet = true; m_connectionId.assign(value); } /** *

The ID of the client connection.

*/ inline ClientVpnConnection& WithConnectionId(const Aws::String& value) { SetConnectionId(value); return *this;} /** *

The ID of the client connection.

*/ inline ClientVpnConnection& WithConnectionId(Aws::String&& value) { SetConnectionId(std::move(value)); return *this;} /** *

The ID of the client connection.

*/ inline ClientVpnConnection& WithConnectionId(const char* value) { SetConnectionId(value); return *this;} /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline ClientVpnConnection& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline ClientVpnConnection& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

The username of the client who established the client connection. This * information is only provided if Active Directory client authentication is * used.

*/ inline ClientVpnConnection& WithUsername(const char* value) { SetUsername(value); return *this;} /** *

The date and time the client connection was established.

*/ inline const Aws::String& GetConnectionEstablishedTime() const{ return m_connectionEstablishedTime; } /** *

The date and time the client connection was established.

*/ inline bool ConnectionEstablishedTimeHasBeenSet() const { return m_connectionEstablishedTimeHasBeenSet; } /** *

The date and time the client connection was established.

*/ inline void SetConnectionEstablishedTime(const Aws::String& value) { m_connectionEstablishedTimeHasBeenSet = true; m_connectionEstablishedTime = value; } /** *

The date and time the client connection was established.

*/ inline void SetConnectionEstablishedTime(Aws::String&& value) { m_connectionEstablishedTimeHasBeenSet = true; m_connectionEstablishedTime = std::move(value); } /** *

The date and time the client connection was established.

*/ inline void SetConnectionEstablishedTime(const char* value) { m_connectionEstablishedTimeHasBeenSet = true; m_connectionEstablishedTime.assign(value); } /** *

The date and time the client connection was established.

*/ inline ClientVpnConnection& WithConnectionEstablishedTime(const Aws::String& value) { SetConnectionEstablishedTime(value); return *this;} /** *

The date and time the client connection was established.

*/ inline ClientVpnConnection& WithConnectionEstablishedTime(Aws::String&& value) { SetConnectionEstablishedTime(std::move(value)); return *this;} /** *

The date and time the client connection was established.

*/ inline ClientVpnConnection& WithConnectionEstablishedTime(const char* value) { SetConnectionEstablishedTime(value); return *this;} /** *

The number of bytes sent by the client.

*/ inline const Aws::String& GetIngressBytes() const{ return m_ingressBytes; } /** *

The number of bytes sent by the client.

*/ inline bool IngressBytesHasBeenSet() const { return m_ingressBytesHasBeenSet; } /** *

The number of bytes sent by the client.

*/ inline void SetIngressBytes(const Aws::String& value) { m_ingressBytesHasBeenSet = true; m_ingressBytes = value; } /** *

The number of bytes sent by the client.

*/ inline void SetIngressBytes(Aws::String&& value) { m_ingressBytesHasBeenSet = true; m_ingressBytes = std::move(value); } /** *

The number of bytes sent by the client.

*/ inline void SetIngressBytes(const char* value) { m_ingressBytesHasBeenSet = true; m_ingressBytes.assign(value); } /** *

The number of bytes sent by the client.

*/ inline ClientVpnConnection& WithIngressBytes(const Aws::String& value) { SetIngressBytes(value); return *this;} /** *

The number of bytes sent by the client.

*/ inline ClientVpnConnection& WithIngressBytes(Aws::String&& value) { SetIngressBytes(std::move(value)); return *this;} /** *

The number of bytes sent by the client.

*/ inline ClientVpnConnection& WithIngressBytes(const char* value) { SetIngressBytes(value); return *this;} /** *

The number of bytes received by the client.

*/ inline const Aws::String& GetEgressBytes() const{ return m_egressBytes; } /** *

The number of bytes received by the client.

*/ inline bool EgressBytesHasBeenSet() const { return m_egressBytesHasBeenSet; } /** *

The number of bytes received by the client.

*/ inline void SetEgressBytes(const Aws::String& value) { m_egressBytesHasBeenSet = true; m_egressBytes = value; } /** *

The number of bytes received by the client.

*/ inline void SetEgressBytes(Aws::String&& value) { m_egressBytesHasBeenSet = true; m_egressBytes = std::move(value); } /** *

The number of bytes received by the client.

*/ inline void SetEgressBytes(const char* value) { m_egressBytesHasBeenSet = true; m_egressBytes.assign(value); } /** *

The number of bytes received by the client.

*/ inline ClientVpnConnection& WithEgressBytes(const Aws::String& value) { SetEgressBytes(value); return *this;} /** *

The number of bytes received by the client.

*/ inline ClientVpnConnection& WithEgressBytes(Aws::String&& value) { SetEgressBytes(std::move(value)); return *this;} /** *

The number of bytes received by the client.

*/ inline ClientVpnConnection& WithEgressBytes(const char* value) { SetEgressBytes(value); return *this;} /** *

The number of packets sent by the client.

*/ inline const Aws::String& GetIngressPackets() const{ return m_ingressPackets; } /** *

The number of packets sent by the client.

*/ inline bool IngressPacketsHasBeenSet() const { return m_ingressPacketsHasBeenSet; } /** *

The number of packets sent by the client.

*/ inline void SetIngressPackets(const Aws::String& value) { m_ingressPacketsHasBeenSet = true; m_ingressPackets = value; } /** *

The number of packets sent by the client.

*/ inline void SetIngressPackets(Aws::String&& value) { m_ingressPacketsHasBeenSet = true; m_ingressPackets = std::move(value); } /** *

The number of packets sent by the client.

*/ inline void SetIngressPackets(const char* value) { m_ingressPacketsHasBeenSet = true; m_ingressPackets.assign(value); } /** *

The number of packets sent by the client.

*/ inline ClientVpnConnection& WithIngressPackets(const Aws::String& value) { SetIngressPackets(value); return *this;} /** *

The number of packets sent by the client.

*/ inline ClientVpnConnection& WithIngressPackets(Aws::String&& value) { SetIngressPackets(std::move(value)); return *this;} /** *

The number of packets sent by the client.

*/ inline ClientVpnConnection& WithIngressPackets(const char* value) { SetIngressPackets(value); return *this;} /** *

The number of packets received by the client.

*/ inline const Aws::String& GetEgressPackets() const{ return m_egressPackets; } /** *

The number of packets received by the client.

*/ inline bool EgressPacketsHasBeenSet() const { return m_egressPacketsHasBeenSet; } /** *

The number of packets received by the client.

*/ inline void SetEgressPackets(const Aws::String& value) { m_egressPacketsHasBeenSet = true; m_egressPackets = value; } /** *

The number of packets received by the client.

*/ inline void SetEgressPackets(Aws::String&& value) { m_egressPacketsHasBeenSet = true; m_egressPackets = std::move(value); } /** *

The number of packets received by the client.

*/ inline void SetEgressPackets(const char* value) { m_egressPacketsHasBeenSet = true; m_egressPackets.assign(value); } /** *

The number of packets received by the client.

*/ inline ClientVpnConnection& WithEgressPackets(const Aws::String& value) { SetEgressPackets(value); return *this;} /** *

The number of packets received by the client.

*/ inline ClientVpnConnection& WithEgressPackets(Aws::String&& value) { SetEgressPackets(std::move(value)); return *this;} /** *

The number of packets received by the client.

*/ inline ClientVpnConnection& WithEgressPackets(const char* value) { SetEgressPackets(value); return *this;} /** *

The IP address of the client.

*/ inline const Aws::String& GetClientIp() const{ return m_clientIp; } /** *

The IP address of the client.

*/ inline bool ClientIpHasBeenSet() const { return m_clientIpHasBeenSet; } /** *

The IP address of the client.

*/ inline void SetClientIp(const Aws::String& value) { m_clientIpHasBeenSet = true; m_clientIp = value; } /** *

The IP address of the client.

*/ inline void SetClientIp(Aws::String&& value) { m_clientIpHasBeenSet = true; m_clientIp = std::move(value); } /** *

The IP address of the client.

*/ inline void SetClientIp(const char* value) { m_clientIpHasBeenSet = true; m_clientIp.assign(value); } /** *

The IP address of the client.

*/ inline ClientVpnConnection& WithClientIp(const Aws::String& value) { SetClientIp(value); return *this;} /** *

The IP address of the client.

*/ inline ClientVpnConnection& WithClientIp(Aws::String&& value) { SetClientIp(std::move(value)); return *this;} /** *

The IP address of the client.

*/ inline ClientVpnConnection& WithClientIp(const char* value) { SetClientIp(value); return *this;} /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline const Aws::String& GetCommonName() const{ return m_commonName; } /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline bool CommonNameHasBeenSet() const { return m_commonNameHasBeenSet; } /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline void SetCommonName(const Aws::String& value) { m_commonNameHasBeenSet = true; m_commonName = value; } /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline void SetCommonName(Aws::String&& value) { m_commonNameHasBeenSet = true; m_commonName = std::move(value); } /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline void SetCommonName(const char* value) { m_commonNameHasBeenSet = true; m_commonName.assign(value); } /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline ClientVpnConnection& WithCommonName(const Aws::String& value) { SetCommonName(value); return *this;} /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline ClientVpnConnection& WithCommonName(Aws::String&& value) { SetCommonName(std::move(value)); return *this;} /** *

The common name associated with the client. This is either the name of the * client certificate, or the Active Directory user name.

*/ inline ClientVpnConnection& WithCommonName(const char* value) { SetCommonName(value); return *this;} /** *

The current state of the client connection.

*/ inline const ClientVpnConnectionStatus& GetStatus() const{ return m_status; } /** *

The current state of the client connection.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current state of the client connection.

*/ inline void SetStatus(const ClientVpnConnectionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current state of the client connection.

*/ inline void SetStatus(ClientVpnConnectionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current state of the client connection.

*/ inline ClientVpnConnection& WithStatus(const ClientVpnConnectionStatus& value) { SetStatus(value); return *this;} /** *

The current state of the client connection.

*/ inline ClientVpnConnection& WithStatus(ClientVpnConnectionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The date and time the client connection was terminated.

*/ inline const Aws::String& GetConnectionEndTime() const{ return m_connectionEndTime; } /** *

The date and time the client connection was terminated.

*/ inline bool ConnectionEndTimeHasBeenSet() const { return m_connectionEndTimeHasBeenSet; } /** *

The date and time the client connection was terminated.

*/ inline void SetConnectionEndTime(const Aws::String& value) { m_connectionEndTimeHasBeenSet = true; m_connectionEndTime = value; } /** *

The date and time the client connection was terminated.

*/ inline void SetConnectionEndTime(Aws::String&& value) { m_connectionEndTimeHasBeenSet = true; m_connectionEndTime = std::move(value); } /** *

The date and time the client connection was terminated.

*/ inline void SetConnectionEndTime(const char* value) { m_connectionEndTimeHasBeenSet = true; m_connectionEndTime.assign(value); } /** *

The date and time the client connection was terminated.

*/ inline ClientVpnConnection& WithConnectionEndTime(const Aws::String& value) { SetConnectionEndTime(value); return *this;} /** *

The date and time the client connection was terminated.

*/ inline ClientVpnConnection& WithConnectionEndTime(Aws::String&& value) { SetConnectionEndTime(std::move(value)); return *this;} /** *

The date and time the client connection was terminated.

*/ inline ClientVpnConnection& WithConnectionEndTime(const char* value) { SetConnectionEndTime(value); return *this;} /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline const Aws::Vector& GetPostureComplianceStatuses() const{ return m_postureComplianceStatuses; } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline bool PostureComplianceStatusesHasBeenSet() const { return m_postureComplianceStatusesHasBeenSet; } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline void SetPostureComplianceStatuses(const Aws::Vector& value) { m_postureComplianceStatusesHasBeenSet = true; m_postureComplianceStatuses = value; } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline void SetPostureComplianceStatuses(Aws::Vector&& value) { m_postureComplianceStatusesHasBeenSet = true; m_postureComplianceStatuses = std::move(value); } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline ClientVpnConnection& WithPostureComplianceStatuses(const Aws::Vector& value) { SetPostureComplianceStatuses(value); return *this;} /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline ClientVpnConnection& WithPostureComplianceStatuses(Aws::Vector&& value) { SetPostureComplianceStatuses(std::move(value)); return *this;} /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline ClientVpnConnection& AddPostureComplianceStatuses(const Aws::String& value) { m_postureComplianceStatusesHasBeenSet = true; m_postureComplianceStatuses.push_back(value); return *this; } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline ClientVpnConnection& AddPostureComplianceStatuses(Aws::String&& value) { m_postureComplianceStatusesHasBeenSet = true; m_postureComplianceStatuses.push_back(std::move(value)); return *this; } /** *

The statuses returned by the client connect handler for posture compliance, * if applicable.

*/ inline ClientVpnConnection& AddPostureComplianceStatuses(const char* value) { m_postureComplianceStatusesHasBeenSet = true; m_postureComplianceStatuses.push_back(value); return *this; } private: Aws::String m_clientVpnEndpointId; bool m_clientVpnEndpointIdHasBeenSet = false; Aws::String m_timestamp; bool m_timestampHasBeenSet = false; Aws::String m_connectionId; bool m_connectionIdHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_connectionEstablishedTime; bool m_connectionEstablishedTimeHasBeenSet = false; Aws::String m_ingressBytes; bool m_ingressBytesHasBeenSet = false; Aws::String m_egressBytes; bool m_egressBytesHasBeenSet = false; Aws::String m_ingressPackets; bool m_ingressPacketsHasBeenSet = false; Aws::String m_egressPackets; bool m_egressPacketsHasBeenSet = false; Aws::String m_clientIp; bool m_clientIpHasBeenSet = false; Aws::String m_commonName; bool m_commonNameHasBeenSet = false; ClientVpnConnectionStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_connectionEndTime; bool m_connectionEndTimeHasBeenSet = false; Aws::Vector m_postureComplianceStatuses; bool m_postureComplianceStatusesHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws