1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/es/ElasticsearchService_EXPORTS.h> 8 #include <aws/es/model/DomainInformation.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/es/model/InboundCrossClusterSearchConnectionStatus.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace ElasticsearchService 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Specifies details of an inbound connection.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/InboundCrossClusterSearchConnection">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_ELASTICSEARCHSERVICE_API InboundCrossClusterSearchConnection 34 { 35 public: 36 InboundCrossClusterSearchConnection(); 37 InboundCrossClusterSearchConnection(Aws::Utils::Json::JsonView jsonValue); 38 InboundCrossClusterSearchConnection& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 44 * Elasticsearch domain.</p> 45 */ GetSourceDomainInfo()46 inline const DomainInformation& GetSourceDomainInfo() const{ return m_sourceDomainInfo; } 47 48 /** 49 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 50 * Elasticsearch domain.</p> 51 */ SourceDomainInfoHasBeenSet()52 inline bool SourceDomainInfoHasBeenSet() const { return m_sourceDomainInfoHasBeenSet; } 53 54 /** 55 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 56 * Elasticsearch domain.</p> 57 */ SetSourceDomainInfo(const DomainInformation & value)58 inline void SetSourceDomainInfo(const DomainInformation& value) { m_sourceDomainInfoHasBeenSet = true; m_sourceDomainInfo = value; } 59 60 /** 61 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 62 * Elasticsearch domain.</p> 63 */ SetSourceDomainInfo(DomainInformation && value)64 inline void SetSourceDomainInfo(DomainInformation&& value) { m_sourceDomainInfoHasBeenSet = true; m_sourceDomainInfo = std::move(value); } 65 66 /** 67 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 68 * Elasticsearch domain.</p> 69 */ WithSourceDomainInfo(const DomainInformation & value)70 inline InboundCrossClusterSearchConnection& WithSourceDomainInfo(const DomainInformation& value) { SetSourceDomainInfo(value); return *this;} 71 72 /** 73 * <p>Specifies the <code><a>DomainInformation</a></code> for the source 74 * Elasticsearch domain.</p> 75 */ WithSourceDomainInfo(DomainInformation && value)76 inline InboundCrossClusterSearchConnection& WithSourceDomainInfo(DomainInformation&& value) { SetSourceDomainInfo(std::move(value)); return *this;} 77 78 79 /** 80 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 81 * Elasticsearch domain.</p> 82 */ GetDestinationDomainInfo()83 inline const DomainInformation& GetDestinationDomainInfo() const{ return m_destinationDomainInfo; } 84 85 /** 86 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 87 * Elasticsearch domain.</p> 88 */ DestinationDomainInfoHasBeenSet()89 inline bool DestinationDomainInfoHasBeenSet() const { return m_destinationDomainInfoHasBeenSet; } 90 91 /** 92 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 93 * Elasticsearch domain.</p> 94 */ SetDestinationDomainInfo(const DomainInformation & value)95 inline void SetDestinationDomainInfo(const DomainInformation& value) { m_destinationDomainInfoHasBeenSet = true; m_destinationDomainInfo = value; } 96 97 /** 98 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 99 * Elasticsearch domain.</p> 100 */ SetDestinationDomainInfo(DomainInformation && value)101 inline void SetDestinationDomainInfo(DomainInformation&& value) { m_destinationDomainInfoHasBeenSet = true; m_destinationDomainInfo = std::move(value); } 102 103 /** 104 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 105 * Elasticsearch domain.</p> 106 */ WithDestinationDomainInfo(const DomainInformation & value)107 inline InboundCrossClusterSearchConnection& WithDestinationDomainInfo(const DomainInformation& value) { SetDestinationDomainInfo(value); return *this;} 108 109 /** 110 * <p>Specifies the <code><a>DomainInformation</a></code> for the destination 111 * Elasticsearch domain.</p> 112 */ WithDestinationDomainInfo(DomainInformation && value)113 inline InboundCrossClusterSearchConnection& WithDestinationDomainInfo(DomainInformation&& value) { SetDestinationDomainInfo(std::move(value)); return *this;} 114 115 116 /** 117 * <p>Specifies the connection id for the inbound cross-cluster search 118 * connection.</p> 119 */ GetCrossClusterSearchConnectionId()120 inline const Aws::String& GetCrossClusterSearchConnectionId() const{ return m_crossClusterSearchConnectionId; } 121 122 /** 123 * <p>Specifies the connection id for the inbound cross-cluster search 124 * connection.</p> 125 */ CrossClusterSearchConnectionIdHasBeenSet()126 inline bool CrossClusterSearchConnectionIdHasBeenSet() const { return m_crossClusterSearchConnectionIdHasBeenSet; } 127 128 /** 129 * <p>Specifies the connection id for the inbound cross-cluster search 130 * connection.</p> 131 */ SetCrossClusterSearchConnectionId(const Aws::String & value)132 inline void SetCrossClusterSearchConnectionId(const Aws::String& value) { m_crossClusterSearchConnectionIdHasBeenSet = true; m_crossClusterSearchConnectionId = value; } 133 134 /** 135 * <p>Specifies the connection id for the inbound cross-cluster search 136 * connection.</p> 137 */ SetCrossClusterSearchConnectionId(Aws::String && value)138 inline void SetCrossClusterSearchConnectionId(Aws::String&& value) { m_crossClusterSearchConnectionIdHasBeenSet = true; m_crossClusterSearchConnectionId = std::move(value); } 139 140 /** 141 * <p>Specifies the connection id for the inbound cross-cluster search 142 * connection.</p> 143 */ SetCrossClusterSearchConnectionId(const char * value)144 inline void SetCrossClusterSearchConnectionId(const char* value) { m_crossClusterSearchConnectionIdHasBeenSet = true; m_crossClusterSearchConnectionId.assign(value); } 145 146 /** 147 * <p>Specifies the connection id for the inbound cross-cluster search 148 * connection.</p> 149 */ WithCrossClusterSearchConnectionId(const Aws::String & value)150 inline InboundCrossClusterSearchConnection& WithCrossClusterSearchConnectionId(const Aws::String& value) { SetCrossClusterSearchConnectionId(value); return *this;} 151 152 /** 153 * <p>Specifies the connection id for the inbound cross-cluster search 154 * connection.</p> 155 */ WithCrossClusterSearchConnectionId(Aws::String && value)156 inline InboundCrossClusterSearchConnection& WithCrossClusterSearchConnectionId(Aws::String&& value) { SetCrossClusterSearchConnectionId(std::move(value)); return *this;} 157 158 /** 159 * <p>Specifies the connection id for the inbound cross-cluster search 160 * connection.</p> 161 */ WithCrossClusterSearchConnectionId(const char * value)162 inline InboundCrossClusterSearchConnection& WithCrossClusterSearchConnectionId(const char* value) { SetCrossClusterSearchConnectionId(value); return *this;} 163 164 165 /** 166 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 167 * for the outbound connection.</p> 168 */ GetConnectionStatus()169 inline const InboundCrossClusterSearchConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } 170 171 /** 172 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 173 * for the outbound connection.</p> 174 */ ConnectionStatusHasBeenSet()175 inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } 176 177 /** 178 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 179 * for the outbound connection.</p> 180 */ SetConnectionStatus(const InboundCrossClusterSearchConnectionStatus & value)181 inline void SetConnectionStatus(const InboundCrossClusterSearchConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } 182 183 /** 184 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 185 * for the outbound connection.</p> 186 */ SetConnectionStatus(InboundCrossClusterSearchConnectionStatus && value)187 inline void SetConnectionStatus(InboundCrossClusterSearchConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } 188 189 /** 190 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 191 * for the outbound connection.</p> 192 */ WithConnectionStatus(const InboundCrossClusterSearchConnectionStatus & value)193 inline InboundCrossClusterSearchConnection& WithConnectionStatus(const InboundCrossClusterSearchConnectionStatus& value) { SetConnectionStatus(value); return *this;} 194 195 /** 196 * <p>Specifies the <code><a>InboundCrossClusterSearchConnectionStatus</a></code> 197 * for the outbound connection.</p> 198 */ WithConnectionStatus(InboundCrossClusterSearchConnectionStatus && value)199 inline InboundCrossClusterSearchConnection& WithConnectionStatus(InboundCrossClusterSearchConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} 200 201 private: 202 203 DomainInformation m_sourceDomainInfo; 204 bool m_sourceDomainInfoHasBeenSet; 205 206 DomainInformation m_destinationDomainInfo; 207 bool m_destinationDomainInfoHasBeenSet; 208 209 Aws::String m_crossClusterSearchConnectionId; 210 bool m_crossClusterSearchConnectionIdHasBeenSet; 211 212 InboundCrossClusterSearchConnectionStatus m_connectionStatus; 213 bool m_connectionStatusHasBeenSet; 214 }; 215 216 } // namespace Model 217 } // namespace ElasticsearchService 218 } // namespace Aws 219