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/securityhub/SecurityHub_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/securityhub/model/AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace SecurityHub 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>details about the configuration of an OpenSearch cluster.</p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainElasticsearchClusterConfigDetails">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SECURITYHUB_API AwsElasticsearchDomainElasticsearchClusterConfigDetails 34 { 35 public: 36 AwsElasticsearchDomainElasticsearchClusterConfigDetails(); 37 AwsElasticsearchDomainElasticsearchClusterConfigDetails(Aws::Utils::Json::JsonView jsonValue); 38 AwsElasticsearchDomainElasticsearchClusterConfigDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The number of instances to use for the master node. If this attribute is 44 * specified, then <code>DedicatedMasterEnabled</code> must be 45 * <code>true</code>.</p> 46 */ GetDedicatedMasterCount()47 inline int GetDedicatedMasterCount() const{ return m_dedicatedMasterCount; } 48 49 /** 50 * <p>The number of instances to use for the master node. If this attribute is 51 * specified, then <code>DedicatedMasterEnabled</code> must be 52 * <code>true</code>.</p> 53 */ DedicatedMasterCountHasBeenSet()54 inline bool DedicatedMasterCountHasBeenSet() const { return m_dedicatedMasterCountHasBeenSet; } 55 56 /** 57 * <p>The number of instances to use for the master node. If this attribute is 58 * specified, then <code>DedicatedMasterEnabled</code> must be 59 * <code>true</code>.</p> 60 */ SetDedicatedMasterCount(int value)61 inline void SetDedicatedMasterCount(int value) { m_dedicatedMasterCountHasBeenSet = true; m_dedicatedMasterCount = value; } 62 63 /** 64 * <p>The number of instances to use for the master node. If this attribute is 65 * specified, then <code>DedicatedMasterEnabled</code> must be 66 * <code>true</code>.</p> 67 */ WithDedicatedMasterCount(int value)68 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterCount(int value) { SetDedicatedMasterCount(value); return *this;} 69 70 71 /** 72 * <p>Whether to use a dedicated master node for the Elasticsearch domain. A 73 * dedicated master node performs cluster management tasks, but doesn't hold data 74 * or respond to data upload requests.</p> 75 */ GetDedicatedMasterEnabled()76 inline bool GetDedicatedMasterEnabled() const{ return m_dedicatedMasterEnabled; } 77 78 /** 79 * <p>Whether to use a dedicated master node for the Elasticsearch domain. A 80 * dedicated master node performs cluster management tasks, but doesn't hold data 81 * or respond to data upload requests.</p> 82 */ DedicatedMasterEnabledHasBeenSet()83 inline bool DedicatedMasterEnabledHasBeenSet() const { return m_dedicatedMasterEnabledHasBeenSet; } 84 85 /** 86 * <p>Whether to use a dedicated master node for the Elasticsearch domain. A 87 * dedicated master node performs cluster management tasks, but doesn't hold data 88 * or respond to data upload requests.</p> 89 */ SetDedicatedMasterEnabled(bool value)90 inline void SetDedicatedMasterEnabled(bool value) { m_dedicatedMasterEnabledHasBeenSet = true; m_dedicatedMasterEnabled = value; } 91 92 /** 93 * <p>Whether to use a dedicated master node for the Elasticsearch domain. A 94 * dedicated master node performs cluster management tasks, but doesn't hold data 95 * or respond to data upload requests.</p> 96 */ WithDedicatedMasterEnabled(bool value)97 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterEnabled(bool value) { SetDedicatedMasterEnabled(value); return *this;} 98 99 100 /** 101 * <p>The hardware configuration of the computer that hosts the dedicated master 102 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 103 * specified, then <code>DedicatedMasterEnabled</code> must be 104 * <code>true</code>.</p> 105 */ GetDedicatedMasterType()106 inline const Aws::String& GetDedicatedMasterType() const{ return m_dedicatedMasterType; } 107 108 /** 109 * <p>The hardware configuration of the computer that hosts the dedicated master 110 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 111 * specified, then <code>DedicatedMasterEnabled</code> must be 112 * <code>true</code>.</p> 113 */ DedicatedMasterTypeHasBeenSet()114 inline bool DedicatedMasterTypeHasBeenSet() const { return m_dedicatedMasterTypeHasBeenSet; } 115 116 /** 117 * <p>The hardware configuration of the computer that hosts the dedicated master 118 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 119 * specified, then <code>DedicatedMasterEnabled</code> must be 120 * <code>true</code>.</p> 121 */ SetDedicatedMasterType(const Aws::String & value)122 inline void SetDedicatedMasterType(const Aws::String& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = value; } 123 124 /** 125 * <p>The hardware configuration of the computer that hosts the dedicated master 126 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 127 * specified, then <code>DedicatedMasterEnabled</code> must be 128 * <code>true</code>.</p> 129 */ SetDedicatedMasterType(Aws::String && value)130 inline void SetDedicatedMasterType(Aws::String&& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = std::move(value); } 131 132 /** 133 * <p>The hardware configuration of the computer that hosts the dedicated master 134 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 135 * specified, then <code>DedicatedMasterEnabled</code> must be 136 * <code>true</code>.</p> 137 */ SetDedicatedMasterType(const char * value)138 inline void SetDedicatedMasterType(const char* value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType.assign(value); } 139 140 /** 141 * <p>The hardware configuration of the computer that hosts the dedicated master 142 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 143 * specified, then <code>DedicatedMasterEnabled</code> must be 144 * <code>true</code>.</p> 145 */ WithDedicatedMasterType(const Aws::String & value)146 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(const Aws::String& value) { SetDedicatedMasterType(value); return *this;} 147 148 /** 149 * <p>The hardware configuration of the computer that hosts the dedicated master 150 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 151 * specified, then <code>DedicatedMasterEnabled</code> must be 152 * <code>true</code>.</p> 153 */ WithDedicatedMasterType(Aws::String && value)154 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(Aws::String&& value) { SetDedicatedMasterType(std::move(value)); return *this;} 155 156 /** 157 * <p>The hardware configuration of the computer that hosts the dedicated master 158 * node. For example, <code>m3.medium.elasticsearch</code>. If this attribute is 159 * specified, then <code>DedicatedMasterEnabled</code> must be 160 * <code>true</code>.</p> 161 */ WithDedicatedMasterType(const char * value)162 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(const char* value) { SetDedicatedMasterType(value); return *this;} 163 164 165 /** 166 * <p>The number of data nodes to use in the Elasticsearch domain.</p> 167 */ GetInstanceCount()168 inline int GetInstanceCount() const{ return m_instanceCount; } 169 170 /** 171 * <p>The number of data nodes to use in the Elasticsearch domain.</p> 172 */ InstanceCountHasBeenSet()173 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } 174 175 /** 176 * <p>The number of data nodes to use in the Elasticsearch domain.</p> 177 */ SetInstanceCount(int value)178 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } 179 180 /** 181 * <p>The number of data nodes to use in the Elasticsearch domain.</p> 182 */ WithInstanceCount(int value)183 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} 184 185 186 /** 187 * <p>The instance type for your data nodes. For example, 188 * <code>m3.medium.elasticsearch</code>.</p> 189 */ GetInstanceType()190 inline const Aws::String& GetInstanceType() const{ return m_instanceType; } 191 192 /** 193 * <p>The instance type for your data nodes. For example, 194 * <code>m3.medium.elasticsearch</code>.</p> 195 */ InstanceTypeHasBeenSet()196 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } 197 198 /** 199 * <p>The instance type for your data nodes. For example, 200 * <code>m3.medium.elasticsearch</code>.</p> 201 */ SetInstanceType(const Aws::String & value)202 inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } 203 204 /** 205 * <p>The instance type for your data nodes. For example, 206 * <code>m3.medium.elasticsearch</code>.</p> 207 */ SetInstanceType(Aws::String && value)208 inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } 209 210 /** 211 * <p>The instance type for your data nodes. For example, 212 * <code>m3.medium.elasticsearch</code>.</p> 213 */ SetInstanceType(const char * value)214 inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } 215 216 /** 217 * <p>The instance type for your data nodes. For example, 218 * <code>m3.medium.elasticsearch</code>.</p> 219 */ WithInstanceType(const Aws::String & value)220 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} 221 222 /** 223 * <p>The instance type for your data nodes. For example, 224 * <code>m3.medium.elasticsearch</code>.</p> 225 */ WithInstanceType(Aws::String && value)226 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} 227 228 /** 229 * <p>The instance type for your data nodes. For example, 230 * <code>m3.medium.elasticsearch</code>.</p> 231 */ WithInstanceType(const char * value)232 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} 233 234 235 /** 236 * <p>Configuration options for zone awareness. Provided if 237 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 238 */ GetZoneAwarenessConfig()239 inline const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& GetZoneAwarenessConfig() const{ return m_zoneAwarenessConfig; } 240 241 /** 242 * <p>Configuration options for zone awareness. Provided if 243 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 244 */ ZoneAwarenessConfigHasBeenSet()245 inline bool ZoneAwarenessConfigHasBeenSet() const { return m_zoneAwarenessConfigHasBeenSet; } 246 247 /** 248 * <p>Configuration options for zone awareness. Provided if 249 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 250 */ SetZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails & value)251 inline void SetZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = value; } 252 253 /** 254 * <p>Configuration options for zone awareness. Provided if 255 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 256 */ SetZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails && value)257 inline void SetZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails&& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = std::move(value); } 258 259 /** 260 * <p>Configuration options for zone awareness. Provided if 261 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 262 */ WithZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails & value)263 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& value) { SetZoneAwarenessConfig(value); return *this;} 264 265 /** 266 * <p>Configuration options for zone awareness. Provided if 267 * <code>ZoneAwarenessEnabled</code> is <code>true</code>.</p> 268 */ WithZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails && value)269 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails&& value) { SetZoneAwarenessConfig(std::move(value)); return *this;} 270 271 272 /** 273 * <p>Whether to enable zone awareness for the Elasticsearch domain. When zone 274 * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index 275 * shards across Availability Zones in the same Region. This prevents data loss and 276 * minimizes downtime if a node or data center fails.</p> 277 */ GetZoneAwarenessEnabled()278 inline bool GetZoneAwarenessEnabled() const{ return m_zoneAwarenessEnabled; } 279 280 /** 281 * <p>Whether to enable zone awareness for the Elasticsearch domain. When zone 282 * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index 283 * shards across Availability Zones in the same Region. This prevents data loss and 284 * minimizes downtime if a node or data center fails.</p> 285 */ ZoneAwarenessEnabledHasBeenSet()286 inline bool ZoneAwarenessEnabledHasBeenSet() const { return m_zoneAwarenessEnabledHasBeenSet; } 287 288 /** 289 * <p>Whether to enable zone awareness for the Elasticsearch domain. When zone 290 * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index 291 * shards across Availability Zones in the same Region. This prevents data loss and 292 * minimizes downtime if a node or data center fails.</p> 293 */ SetZoneAwarenessEnabled(bool value)294 inline void SetZoneAwarenessEnabled(bool value) { m_zoneAwarenessEnabledHasBeenSet = true; m_zoneAwarenessEnabled = value; } 295 296 /** 297 * <p>Whether to enable zone awareness for the Elasticsearch domain. When zone 298 * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index 299 * shards across Availability Zones in the same Region. This prevents data loss and 300 * minimizes downtime if a node or data center fails.</p> 301 */ WithZoneAwarenessEnabled(bool value)302 inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessEnabled(bool value) { SetZoneAwarenessEnabled(value); return *this;} 303 304 private: 305 306 int m_dedicatedMasterCount; 307 bool m_dedicatedMasterCountHasBeenSet; 308 309 bool m_dedicatedMasterEnabled; 310 bool m_dedicatedMasterEnabledHasBeenSet; 311 312 Aws::String m_dedicatedMasterType; 313 bool m_dedicatedMasterTypeHasBeenSet; 314 315 int m_instanceCount; 316 bool m_instanceCountHasBeenSet; 317 318 Aws::String m_instanceType; 319 bool m_instanceTypeHasBeenSet; 320 321 AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails m_zoneAwarenessConfig; 322 bool m_zoneAwarenessConfigHasBeenSet; 323 324 bool m_zoneAwarenessEnabled; 325 bool m_zoneAwarenessEnabledHasBeenSet; 326 }; 327 328 } // namespace Model 329 } // namespace SecurityHub 330 } // namespace Aws 331