/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpenSearchService { namespace Model { /** *

Describes an inbound cross-cluster connection for Amazon OpenSearch Service. * For more information, see Cross-cluster * search for Amazon OpenSearch Service.

See Also:

AWS * API Reference

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

Information about the source (local) domain.

*/ inline const DomainInformationContainer& GetLocalDomainInfo() const{ return m_localDomainInfo; } /** *

Information about the source (local) domain.

*/ inline bool LocalDomainInfoHasBeenSet() const { return m_localDomainInfoHasBeenSet; } /** *

Information about the source (local) domain.

*/ inline void SetLocalDomainInfo(const DomainInformationContainer& value) { m_localDomainInfoHasBeenSet = true; m_localDomainInfo = value; } /** *

Information about the source (local) domain.

*/ inline void SetLocalDomainInfo(DomainInformationContainer&& value) { m_localDomainInfoHasBeenSet = true; m_localDomainInfo = std::move(value); } /** *

Information about the source (local) domain.

*/ inline InboundConnection& WithLocalDomainInfo(const DomainInformationContainer& value) { SetLocalDomainInfo(value); return *this;} /** *

Information about the source (local) domain.

*/ inline InboundConnection& WithLocalDomainInfo(DomainInformationContainer&& value) { SetLocalDomainInfo(std::move(value)); return *this;} /** *

Information about the destination (remote) domain.

*/ inline const DomainInformationContainer& GetRemoteDomainInfo() const{ return m_remoteDomainInfo; } /** *

Information about the destination (remote) domain.

*/ inline bool RemoteDomainInfoHasBeenSet() const { return m_remoteDomainInfoHasBeenSet; } /** *

Information about the destination (remote) domain.

*/ inline void SetRemoteDomainInfo(const DomainInformationContainer& value) { m_remoteDomainInfoHasBeenSet = true; m_remoteDomainInfo = value; } /** *

Information about the destination (remote) domain.

*/ inline void SetRemoteDomainInfo(DomainInformationContainer&& value) { m_remoteDomainInfoHasBeenSet = true; m_remoteDomainInfo = std::move(value); } /** *

Information about the destination (remote) domain.

*/ inline InboundConnection& WithRemoteDomainInfo(const DomainInformationContainer& value) { SetRemoteDomainInfo(value); return *this;} /** *

Information about the destination (remote) domain.

*/ inline InboundConnection& WithRemoteDomainInfo(DomainInformationContainer&& value) { SetRemoteDomainInfo(std::move(value)); return *this;} /** *

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The unique identifier of the connection.

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

The current status of the connection.

*/ inline const InboundConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } /** *

The current status of the connection.

*/ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** *

The current status of the connection.

*/ inline void SetConnectionStatus(const InboundConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** *

The current status of the connection.

*/ inline void SetConnectionStatus(InboundConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** *

The current status of the connection.

*/ inline InboundConnection& WithConnectionStatus(const InboundConnectionStatus& value) { SetConnectionStatus(value); return *this;} /** *

The current status of the connection.

*/ inline InboundConnection& WithConnectionStatus(InboundConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} /** *

The connection mode.

*/ inline const ConnectionMode& GetConnectionMode() const{ return m_connectionMode; } /** *

The connection mode.

*/ inline bool ConnectionModeHasBeenSet() const { return m_connectionModeHasBeenSet; } /** *

The connection mode.

*/ inline void SetConnectionMode(const ConnectionMode& value) { m_connectionModeHasBeenSet = true; m_connectionMode = value; } /** *

The connection mode.

*/ inline void SetConnectionMode(ConnectionMode&& value) { m_connectionModeHasBeenSet = true; m_connectionMode = std::move(value); } /** *

The connection mode.

*/ inline InboundConnection& WithConnectionMode(const ConnectionMode& value) { SetConnectionMode(value); return *this;} /** *

The connection mode.

*/ inline InboundConnection& WithConnectionMode(ConnectionMode&& value) { SetConnectionMode(std::move(value)); return *this;} private: DomainInformationContainer m_localDomainInfo; bool m_localDomainInfoHasBeenSet = false; DomainInformationContainer m_remoteDomainInfo; bool m_remoteDomainInfoHasBeenSet = false; Aws::String m_connectionId; bool m_connectionIdHasBeenSet = false; InboundConnectionStatus m_connectionStatus; bool m_connectionStatusHasBeenSet = false; ConnectionMode m_connectionMode; bool m_connectionModeHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws