/** * 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 OpenSearchService { namespace Model { /** *

The connection properties of an outbound connection.

See Also:

* AWS * API Reference

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

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline ConnectionProperties& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline ConnectionProperties& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} /** *

The Endpoint attribute cannot be modified.

*

The endpoint of the remote domain. Applicable for VPC_ENDPOINT connection * mode.

*/ inline ConnectionProperties& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} /** *

The connection properties for cross cluster search.

*/ inline const CrossClusterSearchConnectionProperties& GetCrossClusterSearch() const{ return m_crossClusterSearch; } /** *

The connection properties for cross cluster search.

*/ inline bool CrossClusterSearchHasBeenSet() const { return m_crossClusterSearchHasBeenSet; } /** *

The connection properties for cross cluster search.

*/ inline void SetCrossClusterSearch(const CrossClusterSearchConnectionProperties& value) { m_crossClusterSearchHasBeenSet = true; m_crossClusterSearch = value; } /** *

The connection properties for cross cluster search.

*/ inline void SetCrossClusterSearch(CrossClusterSearchConnectionProperties&& value) { m_crossClusterSearchHasBeenSet = true; m_crossClusterSearch = std::move(value); } /** *

The connection properties for cross cluster search.

*/ inline ConnectionProperties& WithCrossClusterSearch(const CrossClusterSearchConnectionProperties& value) { SetCrossClusterSearch(value); return *this;} /** *

The connection properties for cross cluster search.

*/ inline ConnectionProperties& WithCrossClusterSearch(CrossClusterSearchConnectionProperties&& value) { SetCrossClusterSearch(std::move(value)); return *this;} private: Aws::String m_endpoint; bool m_endpointHasBeenSet = false; CrossClusterSearchConnectionProperties m_crossClusterSearch; bool m_crossClusterSearchHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws