/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace ElasticsearchService { namespace Model { /** *

Container for the parameters to the * CreateOutboundCrossClusterSearchConnection * operation.

See Also:

AWS * API Reference

*/ class CreateOutboundCrossClusterSearchConnectionRequest : public ElasticsearchServiceRequest { public: AWS_ELASTICSEARCHSERVICE_API CreateOutboundCrossClusterSearchConnectionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateOutboundCrossClusterSearchConnection"; } AWS_ELASTICSEARCHSERVICE_API Aws::String SerializePayload() const override; /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline const DomainInformation& GetSourceDomainInfo() const{ return m_sourceDomainInfo; } /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline bool SourceDomainInfoHasBeenSet() const { return m_sourceDomainInfoHasBeenSet; } /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline void SetSourceDomainInfo(const DomainInformation& value) { m_sourceDomainInfoHasBeenSet = true; m_sourceDomainInfo = value; } /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline void SetSourceDomainInfo(DomainInformation&& value) { m_sourceDomainInfoHasBeenSet = true; m_sourceDomainInfo = std::move(value); } /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithSourceDomainInfo(const DomainInformation& value) { SetSourceDomainInfo(value); return *this;} /** *

Specifies the DomainInformation for the source * Elasticsearch domain.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithSourceDomainInfo(DomainInformation&& value) { SetSourceDomainInfo(std::move(value)); return *this;} /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline const DomainInformation& GetDestinationDomainInfo() const{ return m_destinationDomainInfo; } /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline bool DestinationDomainInfoHasBeenSet() const { return m_destinationDomainInfoHasBeenSet; } /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline void SetDestinationDomainInfo(const DomainInformation& value) { m_destinationDomainInfoHasBeenSet = true; m_destinationDomainInfo = value; } /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline void SetDestinationDomainInfo(DomainInformation&& value) { m_destinationDomainInfoHasBeenSet = true; m_destinationDomainInfo = std::move(value); } /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithDestinationDomainInfo(const DomainInformation& value) { SetDestinationDomainInfo(value); return *this;} /** *

Specifies the DomainInformation for the destination * Elasticsearch domain.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithDestinationDomainInfo(DomainInformation&& value) { SetDestinationDomainInfo(std::move(value)); return *this;} /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline const Aws::String& GetConnectionAlias() const{ return m_connectionAlias; } /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline bool ConnectionAliasHasBeenSet() const { return m_connectionAliasHasBeenSet; } /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline void SetConnectionAlias(const Aws::String& value) { m_connectionAliasHasBeenSet = true; m_connectionAlias = value; } /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline void SetConnectionAlias(Aws::String&& value) { m_connectionAliasHasBeenSet = true; m_connectionAlias = std::move(value); } /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline void SetConnectionAlias(const char* value) { m_connectionAliasHasBeenSet = true; m_connectionAlias.assign(value); } /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithConnectionAlias(const Aws::String& value) { SetConnectionAlias(value); return *this;} /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithConnectionAlias(Aws::String&& value) { SetConnectionAlias(std::move(value)); return *this;} /** *

Specifies the connection alias that will be used by the customer for this * connection.

*/ inline CreateOutboundCrossClusterSearchConnectionRequest& WithConnectionAlias(const char* value) { SetConnectionAlias(value); return *this;} private: DomainInformation m_sourceDomainInfo; bool m_sourceDomainInfoHasBeenSet = false; DomainInformation m_destinationDomainInfo; bool m_destinationDomainInfoHasBeenSet = false; Aws::String m_connectionAlias; bool m_connectionAliasHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws