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/ElasticsearchVersionStatus.h>
9 #include <aws/es/model/ElasticsearchClusterConfigStatus.h>
10 #include <aws/es/model/EBSOptionsStatus.h>
11 #include <aws/es/model/AccessPoliciesStatus.h>
12 #include <aws/es/model/SnapshotOptionsStatus.h>
13 #include <aws/es/model/VPCDerivedInfoStatus.h>
14 #include <aws/es/model/CognitoOptionsStatus.h>
15 #include <aws/es/model/EncryptionAtRestOptionsStatus.h>
16 #include <aws/es/model/NodeToNodeEncryptionOptionsStatus.h>
17 #include <aws/es/model/AdvancedOptionsStatus.h>
18 #include <aws/es/model/LogPublishingOptionsStatus.h>
19 #include <aws/es/model/DomainEndpointOptionsStatus.h>
20 #include <aws/es/model/AdvancedSecurityOptionsStatus.h>
21 #include <aws/es/model/AutoTuneOptionsStatus.h>
22 #include <utility>
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Json
29 {
30   class JsonValue;
31   class JsonView;
32 } // namespace Json
33 } // namespace Utils
34 namespace ElasticsearchService
35 {
36 namespace Model
37 {
38 
39   /**
40    * <p>The configuration of an Elasticsearch domain.</p><p><h3>See Also:</h3>   <a
41    * href="http://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchDomainConfig">AWS
42    * API Reference</a></p>
43    */
44   class AWS_ELASTICSEARCHSERVICE_API ElasticsearchDomainConfig
45   {
46   public:
47     ElasticsearchDomainConfig();
48     ElasticsearchDomainConfig(Aws::Utils::Json::JsonView jsonValue);
49     ElasticsearchDomainConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
50     Aws::Utils::Json::JsonValue Jsonize() const;
51 
52 
53     /**
54      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
55      */
GetElasticsearchVersion()56     inline const ElasticsearchVersionStatus& GetElasticsearchVersion() const{ return m_elasticsearchVersion; }
57 
58     /**
59      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
60      */
ElasticsearchVersionHasBeenSet()61     inline bool ElasticsearchVersionHasBeenSet() const { return m_elasticsearchVersionHasBeenSet; }
62 
63     /**
64      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
65      */
SetElasticsearchVersion(const ElasticsearchVersionStatus & value)66     inline void SetElasticsearchVersion(const ElasticsearchVersionStatus& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = value; }
67 
68     /**
69      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
70      */
SetElasticsearchVersion(ElasticsearchVersionStatus && value)71     inline void SetElasticsearchVersion(ElasticsearchVersionStatus&& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = std::move(value); }
72 
73     /**
74      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
75      */
WithElasticsearchVersion(const ElasticsearchVersionStatus & value)76     inline ElasticsearchDomainConfig& WithElasticsearchVersion(const ElasticsearchVersionStatus& value) { SetElasticsearchVersion(value); return *this;}
77 
78     /**
79      * <p>String of format X.Y to specify version for the Elasticsearch domain.</p>
80      */
WithElasticsearchVersion(ElasticsearchVersionStatus && value)81     inline ElasticsearchDomainConfig& WithElasticsearchVersion(ElasticsearchVersionStatus&& value) { SetElasticsearchVersion(std::move(value)); return *this;}
82 
83 
84     /**
85      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
86      * domain.</p>
87      */
GetElasticsearchClusterConfig()88     inline const ElasticsearchClusterConfigStatus& GetElasticsearchClusterConfig() const{ return m_elasticsearchClusterConfig; }
89 
90     /**
91      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
92      * domain.</p>
93      */
ElasticsearchClusterConfigHasBeenSet()94     inline bool ElasticsearchClusterConfigHasBeenSet() const { return m_elasticsearchClusterConfigHasBeenSet; }
95 
96     /**
97      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
98      * domain.</p>
99      */
SetElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus & value)100     inline void SetElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = value; }
101 
102     /**
103      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
104      * domain.</p>
105      */
SetElasticsearchClusterConfig(ElasticsearchClusterConfigStatus && value)106     inline void SetElasticsearchClusterConfig(ElasticsearchClusterConfigStatus&& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = std::move(value); }
107 
108     /**
109      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
110      * domain.</p>
111      */
WithElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus & value)112     inline ElasticsearchDomainConfig& WithElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus& value) { SetElasticsearchClusterConfig(value); return *this;}
113 
114     /**
115      * <p>Specifies the <code>ElasticsearchClusterConfig</code> for the Elasticsearch
116      * domain.</p>
117      */
WithElasticsearchClusterConfig(ElasticsearchClusterConfigStatus && value)118     inline ElasticsearchDomainConfig& WithElasticsearchClusterConfig(ElasticsearchClusterConfigStatus&& value) { SetElasticsearchClusterConfig(std::move(value)); return *this;}
119 
120 
121     /**
122      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
123      */
GetEBSOptions()124     inline const EBSOptionsStatus& GetEBSOptions() const{ return m_eBSOptions; }
125 
126     /**
127      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
128      */
EBSOptionsHasBeenSet()129     inline bool EBSOptionsHasBeenSet() const { return m_eBSOptionsHasBeenSet; }
130 
131     /**
132      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
133      */
SetEBSOptions(const EBSOptionsStatus & value)134     inline void SetEBSOptions(const EBSOptionsStatus& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = value; }
135 
136     /**
137      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
138      */
SetEBSOptions(EBSOptionsStatus && value)139     inline void SetEBSOptions(EBSOptionsStatus&& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = std::move(value); }
140 
141     /**
142      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
143      */
WithEBSOptions(const EBSOptionsStatus & value)144     inline ElasticsearchDomainConfig& WithEBSOptions(const EBSOptionsStatus& value) { SetEBSOptions(value); return *this;}
145 
146     /**
147      * <p>Specifies the <code>EBSOptions</code> for the Elasticsearch domain.</p>
148      */
WithEBSOptions(EBSOptionsStatus && value)149     inline ElasticsearchDomainConfig& WithEBSOptions(EBSOptionsStatus&& value) { SetEBSOptions(std::move(value)); return *this;}
150 
151 
152     /**
153      * <p>IAM access policy as a JSON-formatted string.</p>
154      */
GetAccessPolicies()155     inline const AccessPoliciesStatus& GetAccessPolicies() const{ return m_accessPolicies; }
156 
157     /**
158      * <p>IAM access policy as a JSON-formatted string.</p>
159      */
AccessPoliciesHasBeenSet()160     inline bool AccessPoliciesHasBeenSet() const { return m_accessPoliciesHasBeenSet; }
161 
162     /**
163      * <p>IAM access policy as a JSON-formatted string.</p>
164      */
SetAccessPolicies(const AccessPoliciesStatus & value)165     inline void SetAccessPolicies(const AccessPoliciesStatus& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = value; }
166 
167     /**
168      * <p>IAM access policy as a JSON-formatted string.</p>
169      */
SetAccessPolicies(AccessPoliciesStatus && value)170     inline void SetAccessPolicies(AccessPoliciesStatus&& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = std::move(value); }
171 
172     /**
173      * <p>IAM access policy as a JSON-formatted string.</p>
174      */
WithAccessPolicies(const AccessPoliciesStatus & value)175     inline ElasticsearchDomainConfig& WithAccessPolicies(const AccessPoliciesStatus& value) { SetAccessPolicies(value); return *this;}
176 
177     /**
178      * <p>IAM access policy as a JSON-formatted string.</p>
179      */
WithAccessPolicies(AccessPoliciesStatus && value)180     inline ElasticsearchDomainConfig& WithAccessPolicies(AccessPoliciesStatus&& value) { SetAccessPolicies(std::move(value)); return *this;}
181 
182 
183     /**
184      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
185      */
GetSnapshotOptions()186     inline const SnapshotOptionsStatus& GetSnapshotOptions() const{ return m_snapshotOptions; }
187 
188     /**
189      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
190      */
SnapshotOptionsHasBeenSet()191     inline bool SnapshotOptionsHasBeenSet() const { return m_snapshotOptionsHasBeenSet; }
192 
193     /**
194      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
195      */
SetSnapshotOptions(const SnapshotOptionsStatus & value)196     inline void SetSnapshotOptions(const SnapshotOptionsStatus& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = value; }
197 
198     /**
199      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
200      */
SetSnapshotOptions(SnapshotOptionsStatus && value)201     inline void SetSnapshotOptions(SnapshotOptionsStatus&& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = std::move(value); }
202 
203     /**
204      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
205      */
WithSnapshotOptions(const SnapshotOptionsStatus & value)206     inline ElasticsearchDomainConfig& WithSnapshotOptions(const SnapshotOptionsStatus& value) { SetSnapshotOptions(value); return *this;}
207 
208     /**
209      * <p>Specifies the <code>SnapshotOptions</code> for the Elasticsearch domain.</p>
210      */
WithSnapshotOptions(SnapshotOptionsStatus && value)211     inline ElasticsearchDomainConfig& WithSnapshotOptions(SnapshotOptionsStatus&& value) { SetSnapshotOptions(std::move(value)); return *this;}
212 
213 
214     /**
215      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
216      * see <a
217      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
218      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
219      */
GetVPCOptions()220     inline const VPCDerivedInfoStatus& GetVPCOptions() const{ return m_vPCOptions; }
221 
222     /**
223      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
224      * see <a
225      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
226      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
227      */
VPCOptionsHasBeenSet()228     inline bool VPCOptionsHasBeenSet() const { return m_vPCOptionsHasBeenSet; }
229 
230     /**
231      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
232      * see <a
233      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
234      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
235      */
SetVPCOptions(const VPCDerivedInfoStatus & value)236     inline void SetVPCOptions(const VPCDerivedInfoStatus& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = value; }
237 
238     /**
239      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
240      * see <a
241      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
242      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
243      */
SetVPCOptions(VPCDerivedInfoStatus && value)244     inline void SetVPCOptions(VPCDerivedInfoStatus&& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = std::move(value); }
245 
246     /**
247      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
248      * see <a
249      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
250      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
251      */
WithVPCOptions(const VPCDerivedInfoStatus & value)252     inline ElasticsearchDomainConfig& WithVPCOptions(const VPCDerivedInfoStatus& value) { SetVPCOptions(value); return *this;}
253 
254     /**
255      * <p>The <code>VPCOptions</code> for the specified domain. For more information,
256      * see <a
257      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html"
258      * target="_blank">VPC Endpoints for Amazon Elasticsearch Service Domains</a>.</p>
259      */
WithVPCOptions(VPCDerivedInfoStatus && value)260     inline ElasticsearchDomainConfig& WithVPCOptions(VPCDerivedInfoStatus&& value) { SetVPCOptions(std::move(value)); return *this;}
261 
262 
263     /**
264      * <p>The <code>CognitoOptions</code> for the specified domain. For more
265      * information, see <a
266      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
267      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
268      */
GetCognitoOptions()269     inline const CognitoOptionsStatus& GetCognitoOptions() const{ return m_cognitoOptions; }
270 
271     /**
272      * <p>The <code>CognitoOptions</code> for the specified domain. For more
273      * information, see <a
274      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
275      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
276      */
CognitoOptionsHasBeenSet()277     inline bool CognitoOptionsHasBeenSet() const { return m_cognitoOptionsHasBeenSet; }
278 
279     /**
280      * <p>The <code>CognitoOptions</code> for the specified domain. For more
281      * information, see <a
282      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
283      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
284      */
SetCognitoOptions(const CognitoOptionsStatus & value)285     inline void SetCognitoOptions(const CognitoOptionsStatus& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = value; }
286 
287     /**
288      * <p>The <code>CognitoOptions</code> for the specified domain. For more
289      * information, see <a
290      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
291      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
292      */
SetCognitoOptions(CognitoOptionsStatus && value)293     inline void SetCognitoOptions(CognitoOptionsStatus&& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = std::move(value); }
294 
295     /**
296      * <p>The <code>CognitoOptions</code> for the specified domain. For more
297      * information, see <a
298      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
299      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
300      */
WithCognitoOptions(const CognitoOptionsStatus & value)301     inline ElasticsearchDomainConfig& WithCognitoOptions(const CognitoOptionsStatus& value) { SetCognitoOptions(value); return *this;}
302 
303     /**
304      * <p>The <code>CognitoOptions</code> for the specified domain. For more
305      * information, see <a
306      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html"
307      * target="_blank">Amazon Cognito Authentication for Kibana</a>.</p>
308      */
WithCognitoOptions(CognitoOptionsStatus && value)309     inline ElasticsearchDomainConfig& WithCognitoOptions(CognitoOptionsStatus&& value) { SetCognitoOptions(std::move(value)); return *this;}
310 
311 
312     /**
313      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
314      * domain.</p>
315      */
GetEncryptionAtRestOptions()316     inline const EncryptionAtRestOptionsStatus& GetEncryptionAtRestOptions() const{ return m_encryptionAtRestOptions; }
317 
318     /**
319      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
320      * domain.</p>
321      */
EncryptionAtRestOptionsHasBeenSet()322     inline bool EncryptionAtRestOptionsHasBeenSet() const { return m_encryptionAtRestOptionsHasBeenSet; }
323 
324     /**
325      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
326      * domain.</p>
327      */
SetEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus & value)328     inline void SetEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = value; }
329 
330     /**
331      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
332      * domain.</p>
333      */
SetEncryptionAtRestOptions(EncryptionAtRestOptionsStatus && value)334     inline void SetEncryptionAtRestOptions(EncryptionAtRestOptionsStatus&& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = std::move(value); }
335 
336     /**
337      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
338      * domain.</p>
339      */
WithEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus & value)340     inline ElasticsearchDomainConfig& WithEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus& value) { SetEncryptionAtRestOptions(value); return *this;}
341 
342     /**
343      * <p>Specifies the <code>EncryptionAtRestOptions</code> for the Elasticsearch
344      * domain.</p>
345      */
WithEncryptionAtRestOptions(EncryptionAtRestOptionsStatus && value)346     inline ElasticsearchDomainConfig& WithEncryptionAtRestOptions(EncryptionAtRestOptionsStatus&& value) { SetEncryptionAtRestOptions(std::move(value)); return *this;}
347 
348 
349     /**
350      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
351      * domain.</p>
352      */
GetNodeToNodeEncryptionOptions()353     inline const NodeToNodeEncryptionOptionsStatus& GetNodeToNodeEncryptionOptions() const{ return m_nodeToNodeEncryptionOptions; }
354 
355     /**
356      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
357      * domain.</p>
358      */
NodeToNodeEncryptionOptionsHasBeenSet()359     inline bool NodeToNodeEncryptionOptionsHasBeenSet() const { return m_nodeToNodeEncryptionOptionsHasBeenSet; }
360 
361     /**
362      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
363      * domain.</p>
364      */
SetNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus & value)365     inline void SetNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = value; }
366 
367     /**
368      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
369      * domain.</p>
370      */
SetNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus && value)371     inline void SetNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus&& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = std::move(value); }
372 
373     /**
374      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
375      * domain.</p>
376      */
WithNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus & value)377     inline ElasticsearchDomainConfig& WithNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus& value) { SetNodeToNodeEncryptionOptions(value); return *this;}
378 
379     /**
380      * <p>Specifies the <code>NodeToNodeEncryptionOptions</code> for the Elasticsearch
381      * domain.</p>
382      */
WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus && value)383     inline ElasticsearchDomainConfig& WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); return *this;}
384 
385 
386     /**
387      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
388      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
389      * target="_blank">Configuring Advanced Options</a> for more information.</p>
390      */
GetAdvancedOptions()391     inline const AdvancedOptionsStatus& GetAdvancedOptions() const{ return m_advancedOptions; }
392 
393     /**
394      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
395      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
396      * target="_blank">Configuring Advanced Options</a> for more information.</p>
397      */
AdvancedOptionsHasBeenSet()398     inline bool AdvancedOptionsHasBeenSet() const { return m_advancedOptionsHasBeenSet; }
399 
400     /**
401      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
402      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
403      * target="_blank">Configuring Advanced Options</a> for more information.</p>
404      */
SetAdvancedOptions(const AdvancedOptionsStatus & value)405     inline void SetAdvancedOptions(const AdvancedOptionsStatus& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = value; }
406 
407     /**
408      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
409      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
410      * target="_blank">Configuring Advanced Options</a> for more information.</p>
411      */
SetAdvancedOptions(AdvancedOptionsStatus && value)412     inline void SetAdvancedOptions(AdvancedOptionsStatus&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = std::move(value); }
413 
414     /**
415      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
416      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
417      * target="_blank">Configuring Advanced Options</a> for more information.</p>
418      */
WithAdvancedOptions(const AdvancedOptionsStatus & value)419     inline ElasticsearchDomainConfig& WithAdvancedOptions(const AdvancedOptionsStatus& value) { SetAdvancedOptions(value); return *this;}
420 
421     /**
422      * <p>Specifies the <code>AdvancedOptions</code> for the domain. See <a
423      * href="http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options"
424      * target="_blank">Configuring Advanced Options</a> for more information.</p>
425      */
WithAdvancedOptions(AdvancedOptionsStatus && value)426     inline ElasticsearchDomainConfig& WithAdvancedOptions(AdvancedOptionsStatus&& value) { SetAdvancedOptions(std::move(value)); return *this;}
427 
428 
429     /**
430      * <p>Log publishing options for the given domain.</p>
431      */
GetLogPublishingOptions()432     inline const LogPublishingOptionsStatus& GetLogPublishingOptions() const{ return m_logPublishingOptions; }
433 
434     /**
435      * <p>Log publishing options for the given domain.</p>
436      */
LogPublishingOptionsHasBeenSet()437     inline bool LogPublishingOptionsHasBeenSet() const { return m_logPublishingOptionsHasBeenSet; }
438 
439     /**
440      * <p>Log publishing options for the given domain.</p>
441      */
SetLogPublishingOptions(const LogPublishingOptionsStatus & value)442     inline void SetLogPublishingOptions(const LogPublishingOptionsStatus& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; }
443 
444     /**
445      * <p>Log publishing options for the given domain.</p>
446      */
SetLogPublishingOptions(LogPublishingOptionsStatus && value)447     inline void SetLogPublishingOptions(LogPublishingOptionsStatus&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); }
448 
449     /**
450      * <p>Log publishing options for the given domain.</p>
451      */
WithLogPublishingOptions(const LogPublishingOptionsStatus & value)452     inline ElasticsearchDomainConfig& WithLogPublishingOptions(const LogPublishingOptionsStatus& value) { SetLogPublishingOptions(value); return *this;}
453 
454     /**
455      * <p>Log publishing options for the given domain.</p>
456      */
WithLogPublishingOptions(LogPublishingOptionsStatus && value)457     inline ElasticsearchDomainConfig& WithLogPublishingOptions(LogPublishingOptionsStatus&& value) { SetLogPublishingOptions(std::move(value)); return *this;}
458 
459 
460     /**
461      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
462      * domain.</p>
463      */
GetDomainEndpointOptions()464     inline const DomainEndpointOptionsStatus& GetDomainEndpointOptions() const{ return m_domainEndpointOptions; }
465 
466     /**
467      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
468      * domain.</p>
469      */
DomainEndpointOptionsHasBeenSet()470     inline bool DomainEndpointOptionsHasBeenSet() const { return m_domainEndpointOptionsHasBeenSet; }
471 
472     /**
473      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
474      * domain.</p>
475      */
SetDomainEndpointOptions(const DomainEndpointOptionsStatus & value)476     inline void SetDomainEndpointOptions(const DomainEndpointOptionsStatus& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = value; }
477 
478     /**
479      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
480      * domain.</p>
481      */
SetDomainEndpointOptions(DomainEndpointOptionsStatus && value)482     inline void SetDomainEndpointOptions(DomainEndpointOptionsStatus&& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = std::move(value); }
483 
484     /**
485      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
486      * domain.</p>
487      */
WithDomainEndpointOptions(const DomainEndpointOptionsStatus & value)488     inline ElasticsearchDomainConfig& WithDomainEndpointOptions(const DomainEndpointOptionsStatus& value) { SetDomainEndpointOptions(value); return *this;}
489 
490     /**
491      * <p>Specifies the <code>DomainEndpointOptions</code> for the Elasticsearch
492      * domain.</p>
493      */
WithDomainEndpointOptions(DomainEndpointOptionsStatus && value)494     inline ElasticsearchDomainConfig& WithDomainEndpointOptions(DomainEndpointOptionsStatus&& value) { SetDomainEndpointOptions(std::move(value)); return *this;}
495 
496 
497     /**
498      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
499      */
GetAdvancedSecurityOptions()500     inline const AdvancedSecurityOptionsStatus& GetAdvancedSecurityOptions() const{ return m_advancedSecurityOptions; }
501 
502     /**
503      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
504      */
AdvancedSecurityOptionsHasBeenSet()505     inline bool AdvancedSecurityOptionsHasBeenSet() const { return m_advancedSecurityOptionsHasBeenSet; }
506 
507     /**
508      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
509      */
SetAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus & value)510     inline void SetAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = value; }
511 
512     /**
513      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
514      */
SetAdvancedSecurityOptions(AdvancedSecurityOptionsStatus && value)515     inline void SetAdvancedSecurityOptions(AdvancedSecurityOptionsStatus&& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = std::move(value); }
516 
517     /**
518      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
519      */
WithAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus & value)520     inline ElasticsearchDomainConfig& WithAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus& value) { SetAdvancedSecurityOptions(value); return *this;}
521 
522     /**
523      * <p>Specifies <code>AdvancedSecurityOptions</code> for the domain. </p>
524      */
WithAdvancedSecurityOptions(AdvancedSecurityOptionsStatus && value)525     inline ElasticsearchDomainConfig& WithAdvancedSecurityOptions(AdvancedSecurityOptionsStatus&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;}
526 
527 
528     /**
529      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
530      */
GetAutoTuneOptions()531     inline const AutoTuneOptionsStatus& GetAutoTuneOptions() const{ return m_autoTuneOptions; }
532 
533     /**
534      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
535      */
AutoTuneOptionsHasBeenSet()536     inline bool AutoTuneOptionsHasBeenSet() const { return m_autoTuneOptionsHasBeenSet; }
537 
538     /**
539      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
540      */
SetAutoTuneOptions(const AutoTuneOptionsStatus & value)541     inline void SetAutoTuneOptions(const AutoTuneOptionsStatus& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = value; }
542 
543     /**
544      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
545      */
SetAutoTuneOptions(AutoTuneOptionsStatus && value)546     inline void SetAutoTuneOptions(AutoTuneOptionsStatus&& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = std::move(value); }
547 
548     /**
549      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
550      */
WithAutoTuneOptions(const AutoTuneOptionsStatus & value)551     inline ElasticsearchDomainConfig& WithAutoTuneOptions(const AutoTuneOptionsStatus& value) { SetAutoTuneOptions(value); return *this;}
552 
553     /**
554      * <p>Specifies <code>AutoTuneOptions</code> for the domain. </p>
555      */
WithAutoTuneOptions(AutoTuneOptionsStatus && value)556     inline ElasticsearchDomainConfig& WithAutoTuneOptions(AutoTuneOptionsStatus&& value) { SetAutoTuneOptions(std::move(value)); return *this;}
557 
558   private:
559 
560     ElasticsearchVersionStatus m_elasticsearchVersion;
561     bool m_elasticsearchVersionHasBeenSet;
562 
563     ElasticsearchClusterConfigStatus m_elasticsearchClusterConfig;
564     bool m_elasticsearchClusterConfigHasBeenSet;
565 
566     EBSOptionsStatus m_eBSOptions;
567     bool m_eBSOptionsHasBeenSet;
568 
569     AccessPoliciesStatus m_accessPolicies;
570     bool m_accessPoliciesHasBeenSet;
571 
572     SnapshotOptionsStatus m_snapshotOptions;
573     bool m_snapshotOptionsHasBeenSet;
574 
575     VPCDerivedInfoStatus m_vPCOptions;
576     bool m_vPCOptionsHasBeenSet;
577 
578     CognitoOptionsStatus m_cognitoOptions;
579     bool m_cognitoOptionsHasBeenSet;
580 
581     EncryptionAtRestOptionsStatus m_encryptionAtRestOptions;
582     bool m_encryptionAtRestOptionsHasBeenSet;
583 
584     NodeToNodeEncryptionOptionsStatus m_nodeToNodeEncryptionOptions;
585     bool m_nodeToNodeEncryptionOptionsHasBeenSet;
586 
587     AdvancedOptionsStatus m_advancedOptions;
588     bool m_advancedOptionsHasBeenSet;
589 
590     LogPublishingOptionsStatus m_logPublishingOptions;
591     bool m_logPublishingOptionsHasBeenSet;
592 
593     DomainEndpointOptionsStatus m_domainEndpointOptions;
594     bool m_domainEndpointOptionsHasBeenSet;
595 
596     AdvancedSecurityOptionsStatus m_advancedSecurityOptions;
597     bool m_advancedSecurityOptionsHasBeenSet;
598 
599     AutoTuneOptionsStatus m_autoTuneOptions;
600     bool m_autoTuneOptionsHasBeenSet;
601   };
602 
603 } // namespace Model
604 } // namespace ElasticsearchService
605 } // namespace Aws
606