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/ESPartitionInstanceType.h> 9 #include <aws/es/model/ZoneAwarenessConfig.h> 10 #include <aws/es/model/ESWarmPartitionInstanceType.h> 11 #include <aws/es/model/ColdStorageOptions.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace ElasticsearchService 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Specifies the configuration for the domain cluster, such as the type and 31 * number of instances.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchClusterConfig">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_ELASTICSEARCHSERVICE_API ElasticsearchClusterConfig 36 { 37 public: 38 ElasticsearchClusterConfig(); 39 ElasticsearchClusterConfig(Aws::Utils::Json::JsonView jsonValue); 40 ElasticsearchClusterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 46 * not supported for data instances.</p> 47 */ GetInstanceType()48 inline const ESPartitionInstanceType& GetInstanceType() const{ return m_instanceType; } 49 50 /** 51 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 52 * not supported for data instances.</p> 53 */ InstanceTypeHasBeenSet()54 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } 55 56 /** 57 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 58 * not supported for data instances.</p> 59 */ SetInstanceType(const ESPartitionInstanceType & value)60 inline void SetInstanceType(const ESPartitionInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } 61 62 /** 63 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 64 * not supported for data instances.</p> 65 */ SetInstanceType(ESPartitionInstanceType && value)66 inline void SetInstanceType(ESPartitionInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } 67 68 /** 69 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 70 * not supported for data instances.</p> 71 */ WithInstanceType(const ESPartitionInstanceType & value)72 inline ElasticsearchClusterConfig& WithInstanceType(const ESPartitionInstanceType& value) { SetInstanceType(value); return *this;} 73 74 /** 75 * <p>The instance type for an Elasticsearch cluster. UltraWarm instance types are 76 * not supported for data instances.</p> 77 */ WithInstanceType(ESPartitionInstanceType && value)78 inline ElasticsearchClusterConfig& WithInstanceType(ESPartitionInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} 79 80 81 /** 82 * <p>The number of instances in the specified domain cluster.</p> 83 */ GetInstanceCount()84 inline int GetInstanceCount() const{ return m_instanceCount; } 85 86 /** 87 * <p>The number of instances in the specified domain cluster.</p> 88 */ InstanceCountHasBeenSet()89 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } 90 91 /** 92 * <p>The number of instances in the specified domain cluster.</p> 93 */ SetInstanceCount(int value)94 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } 95 96 /** 97 * <p>The number of instances in the specified domain cluster.</p> 98 */ WithInstanceCount(int value)99 inline ElasticsearchClusterConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} 100 101 102 /** 103 * <p>A boolean value to indicate whether a dedicated master node is enabled. See 104 * <a 105 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes" 106 * target="_blank">About Dedicated Master Nodes</a> for more information.</p> 107 */ GetDedicatedMasterEnabled()108 inline bool GetDedicatedMasterEnabled() const{ return m_dedicatedMasterEnabled; } 109 110 /** 111 * <p>A boolean value to indicate whether a dedicated master node is enabled. See 112 * <a 113 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes" 114 * target="_blank">About Dedicated Master Nodes</a> for more information.</p> 115 */ DedicatedMasterEnabledHasBeenSet()116 inline bool DedicatedMasterEnabledHasBeenSet() const { return m_dedicatedMasterEnabledHasBeenSet; } 117 118 /** 119 * <p>A boolean value to indicate whether a dedicated master node is enabled. See 120 * <a 121 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes" 122 * target="_blank">About Dedicated Master Nodes</a> for more information.</p> 123 */ SetDedicatedMasterEnabled(bool value)124 inline void SetDedicatedMasterEnabled(bool value) { m_dedicatedMasterEnabledHasBeenSet = true; m_dedicatedMasterEnabled = value; } 125 126 /** 127 * <p>A boolean value to indicate whether a dedicated master node is enabled. See 128 * <a 129 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes" 130 * target="_blank">About Dedicated Master Nodes</a> for more information.</p> 131 */ WithDedicatedMasterEnabled(bool value)132 inline ElasticsearchClusterConfig& WithDedicatedMasterEnabled(bool value) { SetDedicatedMasterEnabled(value); return *this;} 133 134 135 /** 136 * <p>A boolean value to indicate whether zone awareness is enabled. See <a 137 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness" 138 * target="_blank">About Zone Awareness</a> for more information.</p> 139 */ GetZoneAwarenessEnabled()140 inline bool GetZoneAwarenessEnabled() const{ return m_zoneAwarenessEnabled; } 141 142 /** 143 * <p>A boolean value to indicate whether zone awareness is enabled. See <a 144 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness" 145 * target="_blank">About Zone Awareness</a> for more information.</p> 146 */ ZoneAwarenessEnabledHasBeenSet()147 inline bool ZoneAwarenessEnabledHasBeenSet() const { return m_zoneAwarenessEnabledHasBeenSet; } 148 149 /** 150 * <p>A boolean value to indicate whether zone awareness is enabled. See <a 151 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness" 152 * target="_blank">About Zone Awareness</a> for more information.</p> 153 */ SetZoneAwarenessEnabled(bool value)154 inline void SetZoneAwarenessEnabled(bool value) { m_zoneAwarenessEnabledHasBeenSet = true; m_zoneAwarenessEnabled = value; } 155 156 /** 157 * <p>A boolean value to indicate whether zone awareness is enabled. See <a 158 * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness" 159 * target="_blank">About Zone Awareness</a> for more information.</p> 160 */ WithZoneAwarenessEnabled(bool value)161 inline ElasticsearchClusterConfig& WithZoneAwarenessEnabled(bool value) { SetZoneAwarenessEnabled(value); return *this;} 162 163 164 /** 165 * <p>Specifies the zone awareness configuration for a domain when zone awareness 166 * is enabled.</p> 167 */ GetZoneAwarenessConfig()168 inline const ZoneAwarenessConfig& GetZoneAwarenessConfig() const{ return m_zoneAwarenessConfig; } 169 170 /** 171 * <p>Specifies the zone awareness configuration for a domain when zone awareness 172 * is enabled.</p> 173 */ ZoneAwarenessConfigHasBeenSet()174 inline bool ZoneAwarenessConfigHasBeenSet() const { return m_zoneAwarenessConfigHasBeenSet; } 175 176 /** 177 * <p>Specifies the zone awareness configuration for a domain when zone awareness 178 * is enabled.</p> 179 */ SetZoneAwarenessConfig(const ZoneAwarenessConfig & value)180 inline void SetZoneAwarenessConfig(const ZoneAwarenessConfig& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = value; } 181 182 /** 183 * <p>Specifies the zone awareness configuration for a domain when zone awareness 184 * is enabled.</p> 185 */ SetZoneAwarenessConfig(ZoneAwarenessConfig && value)186 inline void SetZoneAwarenessConfig(ZoneAwarenessConfig&& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = std::move(value); } 187 188 /** 189 * <p>Specifies the zone awareness configuration for a domain when zone awareness 190 * is enabled.</p> 191 */ WithZoneAwarenessConfig(const ZoneAwarenessConfig & value)192 inline ElasticsearchClusterConfig& WithZoneAwarenessConfig(const ZoneAwarenessConfig& value) { SetZoneAwarenessConfig(value); return *this;} 193 194 /** 195 * <p>Specifies the zone awareness configuration for a domain when zone awareness 196 * is enabled.</p> 197 */ WithZoneAwarenessConfig(ZoneAwarenessConfig && value)198 inline ElasticsearchClusterConfig& WithZoneAwarenessConfig(ZoneAwarenessConfig&& value) { SetZoneAwarenessConfig(std::move(value)); return *this;} 199 200 201 /** 202 * <p>The instance type for a dedicated master node.</p> 203 */ GetDedicatedMasterType()204 inline const ESPartitionInstanceType& GetDedicatedMasterType() const{ return m_dedicatedMasterType; } 205 206 /** 207 * <p>The instance type for a dedicated master node.</p> 208 */ DedicatedMasterTypeHasBeenSet()209 inline bool DedicatedMasterTypeHasBeenSet() const { return m_dedicatedMasterTypeHasBeenSet; } 210 211 /** 212 * <p>The instance type for a dedicated master node.</p> 213 */ SetDedicatedMasterType(const ESPartitionInstanceType & value)214 inline void SetDedicatedMasterType(const ESPartitionInstanceType& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = value; } 215 216 /** 217 * <p>The instance type for a dedicated master node.</p> 218 */ SetDedicatedMasterType(ESPartitionInstanceType && value)219 inline void SetDedicatedMasterType(ESPartitionInstanceType&& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = std::move(value); } 220 221 /** 222 * <p>The instance type for a dedicated master node.</p> 223 */ WithDedicatedMasterType(const ESPartitionInstanceType & value)224 inline ElasticsearchClusterConfig& WithDedicatedMasterType(const ESPartitionInstanceType& value) { SetDedicatedMasterType(value); return *this;} 225 226 /** 227 * <p>The instance type for a dedicated master node.</p> 228 */ WithDedicatedMasterType(ESPartitionInstanceType && value)229 inline ElasticsearchClusterConfig& WithDedicatedMasterType(ESPartitionInstanceType&& value) { SetDedicatedMasterType(std::move(value)); return *this;} 230 231 232 /** 233 * <p>Total number of dedicated master nodes, active and on standby, for the 234 * cluster.</p> 235 */ GetDedicatedMasterCount()236 inline int GetDedicatedMasterCount() const{ return m_dedicatedMasterCount; } 237 238 /** 239 * <p>Total number of dedicated master nodes, active and on standby, for the 240 * cluster.</p> 241 */ DedicatedMasterCountHasBeenSet()242 inline bool DedicatedMasterCountHasBeenSet() const { return m_dedicatedMasterCountHasBeenSet; } 243 244 /** 245 * <p>Total number of dedicated master nodes, active and on standby, for the 246 * cluster.</p> 247 */ SetDedicatedMasterCount(int value)248 inline void SetDedicatedMasterCount(int value) { m_dedicatedMasterCountHasBeenSet = true; m_dedicatedMasterCount = value; } 249 250 /** 251 * <p>Total number of dedicated master nodes, active and on standby, for the 252 * cluster.</p> 253 */ WithDedicatedMasterCount(int value)254 inline ElasticsearchClusterConfig& WithDedicatedMasterCount(int value) { SetDedicatedMasterCount(value); return *this;} 255 256 257 /** 258 * <p>True to enable warm storage.</p> 259 */ GetWarmEnabled()260 inline bool GetWarmEnabled() const{ return m_warmEnabled; } 261 262 /** 263 * <p>True to enable warm storage.</p> 264 */ WarmEnabledHasBeenSet()265 inline bool WarmEnabledHasBeenSet() const { return m_warmEnabledHasBeenSet; } 266 267 /** 268 * <p>True to enable warm storage.</p> 269 */ SetWarmEnabled(bool value)270 inline void SetWarmEnabled(bool value) { m_warmEnabledHasBeenSet = true; m_warmEnabled = value; } 271 272 /** 273 * <p>True to enable warm storage.</p> 274 */ WithWarmEnabled(bool value)275 inline ElasticsearchClusterConfig& WithWarmEnabled(bool value) { SetWarmEnabled(value); return *this;} 276 277 278 /** 279 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 280 */ GetWarmType()281 inline const ESWarmPartitionInstanceType& GetWarmType() const{ return m_warmType; } 282 283 /** 284 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 285 */ WarmTypeHasBeenSet()286 inline bool WarmTypeHasBeenSet() const { return m_warmTypeHasBeenSet; } 287 288 /** 289 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 290 */ SetWarmType(const ESWarmPartitionInstanceType & value)291 inline void SetWarmType(const ESWarmPartitionInstanceType& value) { m_warmTypeHasBeenSet = true; m_warmType = value; } 292 293 /** 294 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 295 */ SetWarmType(ESWarmPartitionInstanceType && value)296 inline void SetWarmType(ESWarmPartitionInstanceType&& value) { m_warmTypeHasBeenSet = true; m_warmType = std::move(value); } 297 298 /** 299 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 300 */ WithWarmType(const ESWarmPartitionInstanceType & value)301 inline ElasticsearchClusterConfig& WithWarmType(const ESWarmPartitionInstanceType& value) { SetWarmType(value); return *this;} 302 303 /** 304 * <p>The instance type for the Elasticsearch cluster's warm nodes.</p> 305 */ WithWarmType(ESWarmPartitionInstanceType && value)306 inline ElasticsearchClusterConfig& WithWarmType(ESWarmPartitionInstanceType&& value) { SetWarmType(std::move(value)); return *this;} 307 308 309 /** 310 * <p>The number of warm nodes in the cluster.</p> 311 */ GetWarmCount()312 inline int GetWarmCount() const{ return m_warmCount; } 313 314 /** 315 * <p>The number of warm nodes in the cluster.</p> 316 */ WarmCountHasBeenSet()317 inline bool WarmCountHasBeenSet() const { return m_warmCountHasBeenSet; } 318 319 /** 320 * <p>The number of warm nodes in the cluster.</p> 321 */ SetWarmCount(int value)322 inline void SetWarmCount(int value) { m_warmCountHasBeenSet = true; m_warmCount = value; } 323 324 /** 325 * <p>The number of warm nodes in the cluster.</p> 326 */ WithWarmCount(int value)327 inline ElasticsearchClusterConfig& WithWarmCount(int value) { SetWarmCount(value); return *this;} 328 329 330 /** 331 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 332 * Domain</p> 333 */ GetColdStorageOptions()334 inline const ColdStorageOptions& GetColdStorageOptions() const{ return m_coldStorageOptions; } 335 336 /** 337 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 338 * Domain</p> 339 */ ColdStorageOptionsHasBeenSet()340 inline bool ColdStorageOptionsHasBeenSet() const { return m_coldStorageOptionsHasBeenSet; } 341 342 /** 343 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 344 * Domain</p> 345 */ SetColdStorageOptions(const ColdStorageOptions & value)346 inline void SetColdStorageOptions(const ColdStorageOptions& value) { m_coldStorageOptionsHasBeenSet = true; m_coldStorageOptions = value; } 347 348 /** 349 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 350 * Domain</p> 351 */ SetColdStorageOptions(ColdStorageOptions && value)352 inline void SetColdStorageOptions(ColdStorageOptions&& value) { m_coldStorageOptionsHasBeenSet = true; m_coldStorageOptions = std::move(value); } 353 354 /** 355 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 356 * Domain</p> 357 */ WithColdStorageOptions(const ColdStorageOptions & value)358 inline ElasticsearchClusterConfig& WithColdStorageOptions(const ColdStorageOptions& value) { SetColdStorageOptions(value); return *this;} 359 360 /** 361 * <p>Specifies the <code>ColdStorageOptions</code> config for Elasticsearch 362 * Domain</p> 363 */ WithColdStorageOptions(ColdStorageOptions && value)364 inline ElasticsearchClusterConfig& WithColdStorageOptions(ColdStorageOptions&& value) { SetColdStorageOptions(std::move(value)); return *this;} 365 366 private: 367 368 ESPartitionInstanceType m_instanceType; 369 bool m_instanceTypeHasBeenSet; 370 371 int m_instanceCount; 372 bool m_instanceCountHasBeenSet; 373 374 bool m_dedicatedMasterEnabled; 375 bool m_dedicatedMasterEnabledHasBeenSet; 376 377 bool m_zoneAwarenessEnabled; 378 bool m_zoneAwarenessEnabledHasBeenSet; 379 380 ZoneAwarenessConfig m_zoneAwarenessConfig; 381 bool m_zoneAwarenessConfigHasBeenSet; 382 383 ESPartitionInstanceType m_dedicatedMasterType; 384 bool m_dedicatedMasterTypeHasBeenSet; 385 386 int m_dedicatedMasterCount; 387 bool m_dedicatedMasterCountHasBeenSet; 388 389 bool m_warmEnabled; 390 bool m_warmEnabledHasBeenSet; 391 392 ESWarmPartitionInstanceType m_warmType; 393 bool m_warmTypeHasBeenSet; 394 395 int m_warmCount; 396 bool m_warmCountHasBeenSet; 397 398 ColdStorageOptions m_coldStorageOptions; 399 bool m_coldStorageOptionsHasBeenSet; 400 }; 401 402 } // namespace Model 403 } // namespace ElasticsearchService 404 } // namespace Aws 405