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

Information about a connection.

See Also:

AWS * API Reference

*/ class ConnectionDetails { public: AWS_OUTPOSTS_API ConnectionDetails(); AWS_OUTPOSTS_API ConnectionDetails(Aws::Utils::Json::JsonView jsonValue); AWS_OUTPOSTS_API ConnectionDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OUTPOSTS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The public key of the client.

*/ inline const Aws::String& GetClientPublicKey() const{ return m_clientPublicKey; } /** *

The public key of the client.

*/ inline bool ClientPublicKeyHasBeenSet() const { return m_clientPublicKeyHasBeenSet; } /** *

The public key of the client.

*/ inline void SetClientPublicKey(const Aws::String& value) { m_clientPublicKeyHasBeenSet = true; m_clientPublicKey = value; } /** *

The public key of the client.

*/ inline void SetClientPublicKey(Aws::String&& value) { m_clientPublicKeyHasBeenSet = true; m_clientPublicKey = std::move(value); } /** *

The public key of the client.

*/ inline void SetClientPublicKey(const char* value) { m_clientPublicKeyHasBeenSet = true; m_clientPublicKey.assign(value); } /** *

The public key of the client.

*/ inline ConnectionDetails& WithClientPublicKey(const Aws::String& value) { SetClientPublicKey(value); return *this;} /** *

The public key of the client.

*/ inline ConnectionDetails& WithClientPublicKey(Aws::String&& value) { SetClientPublicKey(std::move(value)); return *this;} /** *

The public key of the client.

*/ inline ConnectionDetails& WithClientPublicKey(const char* value) { SetClientPublicKey(value); return *this;} /** *

The public key of the server.

*/ inline const Aws::String& GetServerPublicKey() const{ return m_serverPublicKey; } /** *

The public key of the server.

*/ inline bool ServerPublicKeyHasBeenSet() const { return m_serverPublicKeyHasBeenSet; } /** *

The public key of the server.

*/ inline void SetServerPublicKey(const Aws::String& value) { m_serverPublicKeyHasBeenSet = true; m_serverPublicKey = value; } /** *

The public key of the server.

*/ inline void SetServerPublicKey(Aws::String&& value) { m_serverPublicKeyHasBeenSet = true; m_serverPublicKey = std::move(value); } /** *

The public key of the server.

*/ inline void SetServerPublicKey(const char* value) { m_serverPublicKeyHasBeenSet = true; m_serverPublicKey.assign(value); } /** *

The public key of the server.

*/ inline ConnectionDetails& WithServerPublicKey(const Aws::String& value) { SetServerPublicKey(value); return *this;} /** *

The public key of the server.

*/ inline ConnectionDetails& WithServerPublicKey(Aws::String&& value) { SetServerPublicKey(std::move(value)); return *this;} /** *

The public key of the server.

*/ inline ConnectionDetails& WithServerPublicKey(const char* value) { SetServerPublicKey(value); return *this;} /** *

The endpoint for the server.

*/ inline const Aws::String& GetServerEndpoint() const{ return m_serverEndpoint; } /** *

The endpoint for the server.

*/ inline bool ServerEndpointHasBeenSet() const { return m_serverEndpointHasBeenSet; } /** *

The endpoint for the server.

*/ inline void SetServerEndpoint(const Aws::String& value) { m_serverEndpointHasBeenSet = true; m_serverEndpoint = value; } /** *

The endpoint for the server.

*/ inline void SetServerEndpoint(Aws::String&& value) { m_serverEndpointHasBeenSet = true; m_serverEndpoint = std::move(value); } /** *

The endpoint for the server.

*/ inline void SetServerEndpoint(const char* value) { m_serverEndpointHasBeenSet = true; m_serverEndpoint.assign(value); } /** *

The endpoint for the server.

*/ inline ConnectionDetails& WithServerEndpoint(const Aws::String& value) { SetServerEndpoint(value); return *this;} /** *

The endpoint for the server.

*/ inline ConnectionDetails& WithServerEndpoint(Aws::String&& value) { SetServerEndpoint(std::move(value)); return *this;} /** *

The endpoint for the server.

*/ inline ConnectionDetails& WithServerEndpoint(const char* value) { SetServerEndpoint(value); return *this;} /** *

The client tunnel address.

*/ inline const Aws::String& GetClientTunnelAddress() const{ return m_clientTunnelAddress; } /** *

The client tunnel address.

*/ inline bool ClientTunnelAddressHasBeenSet() const { return m_clientTunnelAddressHasBeenSet; } /** *

The client tunnel address.

*/ inline void SetClientTunnelAddress(const Aws::String& value) { m_clientTunnelAddressHasBeenSet = true; m_clientTunnelAddress = value; } /** *

The client tunnel address.

*/ inline void SetClientTunnelAddress(Aws::String&& value) { m_clientTunnelAddressHasBeenSet = true; m_clientTunnelAddress = std::move(value); } /** *

The client tunnel address.

*/ inline void SetClientTunnelAddress(const char* value) { m_clientTunnelAddressHasBeenSet = true; m_clientTunnelAddress.assign(value); } /** *

The client tunnel address.

*/ inline ConnectionDetails& WithClientTunnelAddress(const Aws::String& value) { SetClientTunnelAddress(value); return *this;} /** *

The client tunnel address.

*/ inline ConnectionDetails& WithClientTunnelAddress(Aws::String&& value) { SetClientTunnelAddress(std::move(value)); return *this;} /** *

The client tunnel address.

*/ inline ConnectionDetails& WithClientTunnelAddress(const char* value) { SetClientTunnelAddress(value); return *this;} /** *

The server tunnel address.

*/ inline const Aws::String& GetServerTunnelAddress() const{ return m_serverTunnelAddress; } /** *

The server tunnel address.

*/ inline bool ServerTunnelAddressHasBeenSet() const { return m_serverTunnelAddressHasBeenSet; } /** *

The server tunnel address.

*/ inline void SetServerTunnelAddress(const Aws::String& value) { m_serverTunnelAddressHasBeenSet = true; m_serverTunnelAddress = value; } /** *

The server tunnel address.

*/ inline void SetServerTunnelAddress(Aws::String&& value) { m_serverTunnelAddressHasBeenSet = true; m_serverTunnelAddress = std::move(value); } /** *

The server tunnel address.

*/ inline void SetServerTunnelAddress(const char* value) { m_serverTunnelAddressHasBeenSet = true; m_serverTunnelAddress.assign(value); } /** *

The server tunnel address.

*/ inline ConnectionDetails& WithServerTunnelAddress(const Aws::String& value) { SetServerTunnelAddress(value); return *this;} /** *

The server tunnel address.

*/ inline ConnectionDetails& WithServerTunnelAddress(Aws::String&& value) { SetServerTunnelAddress(std::move(value)); return *this;} /** *

The server tunnel address.

*/ inline ConnectionDetails& WithServerTunnelAddress(const char* value) { SetServerTunnelAddress(value); return *this;} /** *

The allowed IP addresses.

*/ inline const Aws::Vector& GetAllowedIps() const{ return m_allowedIps; } /** *

The allowed IP addresses.

*/ inline bool AllowedIpsHasBeenSet() const { return m_allowedIpsHasBeenSet; } /** *

The allowed IP addresses.

*/ inline void SetAllowedIps(const Aws::Vector& value) { m_allowedIpsHasBeenSet = true; m_allowedIps = value; } /** *

The allowed IP addresses.

*/ inline void SetAllowedIps(Aws::Vector&& value) { m_allowedIpsHasBeenSet = true; m_allowedIps = std::move(value); } /** *

The allowed IP addresses.

*/ inline ConnectionDetails& WithAllowedIps(const Aws::Vector& value) { SetAllowedIps(value); return *this;} /** *

The allowed IP addresses.

*/ inline ConnectionDetails& WithAllowedIps(Aws::Vector&& value) { SetAllowedIps(std::move(value)); return *this;} /** *

The allowed IP addresses.

*/ inline ConnectionDetails& AddAllowedIps(const Aws::String& value) { m_allowedIpsHasBeenSet = true; m_allowedIps.push_back(value); return *this; } /** *

The allowed IP addresses.

*/ inline ConnectionDetails& AddAllowedIps(Aws::String&& value) { m_allowedIpsHasBeenSet = true; m_allowedIps.push_back(std::move(value)); return *this; } /** *

The allowed IP addresses.

*/ inline ConnectionDetails& AddAllowedIps(const char* value) { m_allowedIpsHasBeenSet = true; m_allowedIps.push_back(value); return *this; } private: Aws::String m_clientPublicKey; bool m_clientPublicKeyHasBeenSet = false; Aws::String m_serverPublicKey; bool m_serverPublicKeyHasBeenSet = false; Aws::String m_serverEndpoint; bool m_serverEndpointHasBeenSet = false; Aws::String m_clientTunnelAddress; bool m_clientTunnelAddressHasBeenSet = false; Aws::String m_serverTunnelAddress; bool m_serverTunnelAddressHasBeenSet = false; Aws::Vector m_allowedIps; bool m_allowedIpsHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws