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

The current status of an Elasticsearch domain.

See Also:

AWS * API Reference

*/ class ElasticsearchDomainStatus { public: AWS_ELASTICSEARCHSERVICE_API ElasticsearchDomainStatus(); AWS_ELASTICSEARCHSERVICE_API ElasticsearchDomainStatus(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICSEARCHSERVICE_API ElasticsearchDomainStatus& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline const Aws::String& GetDomainId() const{ return m_domainId; } /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline bool DomainIdHasBeenSet() const { return m_domainIdHasBeenSet; } /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline void SetDomainId(const Aws::String& value) { m_domainIdHasBeenSet = true; m_domainId = value; } /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline void SetDomainId(Aws::String&& value) { m_domainIdHasBeenSet = true; m_domainId = std::move(value); } /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline void SetDomainId(const char* value) { m_domainIdHasBeenSet = true; m_domainId.assign(value); } /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline ElasticsearchDomainStatus& WithDomainId(const Aws::String& value) { SetDomainId(value); return *this;} /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline ElasticsearchDomainStatus& WithDomainId(Aws::String&& value) { SetDomainId(std::move(value)); return *this;} /** *

The unique identifier for the specified Elasticsearch domain.

*/ inline ElasticsearchDomainStatus& WithDomainId(const char* value) { SetDomainId(value); return *this;} /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline ElasticsearchDomainStatus& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline ElasticsearchDomainStatus& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The name of an Elasticsearch domain. Domain names are unique across the * domains owned by an account within an AWS region. Domain names start with a * letter or number and can contain the following characters: a-z (lowercase), 0-9, * and - (hyphen).

*/ inline ElasticsearchDomainStatus& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline ElasticsearchDomainStatus& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline ElasticsearchDomainStatus& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and * Access Management for more information.

*/ inline ElasticsearchDomainStatus& WithARN(const char* value) { SetARN(value); return *this;} /** *

The domain creation status. True if the creation of an * Elasticsearch domain is complete. False if domain creation is still * in progress.

*/ inline bool GetCreated() const{ return m_created; } /** *

The domain creation status. True if the creation of an * Elasticsearch domain is complete. False if domain creation is still * in progress.

*/ inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } /** *

The domain creation status. True if the creation of an * Elasticsearch domain is complete. False if domain creation is still * in progress.

*/ inline void SetCreated(bool value) { m_createdHasBeenSet = true; m_created = value; } /** *

The domain creation status. True if the creation of an * Elasticsearch domain is complete. False if domain creation is still * in progress.

*/ inline ElasticsearchDomainStatus& WithCreated(bool value) { SetCreated(value); return *this;} /** *

The domain deletion status. True if a delete request has been * received for the domain but resource cleanup is still in progress. * False if the domain has not been deleted. Once domain deletion is * complete, the status of the domain is no longer returned.

*/ inline bool GetDeleted() const{ return m_deleted; } /** *

The domain deletion status. True if a delete request has been * received for the domain but resource cleanup is still in progress. * False if the domain has not been deleted. Once domain deletion is * complete, the status of the domain is no longer returned.

*/ inline bool DeletedHasBeenSet() const { return m_deletedHasBeenSet; } /** *

The domain deletion status. True if a delete request has been * received for the domain but resource cleanup is still in progress. * False if the domain has not been deleted. Once domain deletion is * complete, the status of the domain is no longer returned.

*/ inline void SetDeleted(bool value) { m_deletedHasBeenSet = true; m_deleted = value; } /** *

The domain deletion status. True if a delete request has been * received for the domain but resource cleanup is still in progress. * False if the domain has not been deleted. Once domain deletion is * complete, the status of the domain is no longer returned.

*/ inline ElasticsearchDomainStatus& WithDeleted(bool value) { SetDeleted(value); return *this;} /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline ElasticsearchDomainStatus& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline ElasticsearchDomainStatus& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} /** *

The Elasticsearch domain endpoint that you use to submit index and search * requests.

*/ inline ElasticsearchDomainStatus& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline const Aws::Map& GetEndpoints() const{ return m_endpoints; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline void SetEndpoints(const Aws::Map& value) { m_endpointsHasBeenSet = true; m_endpoints = value; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline void SetEndpoints(Aws::Map&& value) { m_endpointsHasBeenSet = true; m_endpoints = std::move(value); } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& WithEndpoints(const Aws::Map& value) { SetEndpoints(value); return *this;} /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& WithEndpoints(Aws::Map&& value) { SetEndpoints(std::move(value)); return *this;} /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(const Aws::String& key, const Aws::String& value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(key, value); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(Aws::String&& key, const Aws::String& value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(std::move(key), value); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(const Aws::String& key, Aws::String&& value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(key, std::move(value)); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(Aws::String&& key, Aws::String&& value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(std::move(key), std::move(value)); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(const char* key, Aws::String&& value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(key, std::move(value)); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(Aws::String&& key, const char* value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(std::move(key), value); return *this; } /** *

Map containing the Elasticsearch domain endpoints used to submit index and * search requests. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

*/ inline ElasticsearchDomainStatus& AddEndpoints(const char* key, const char* value) { m_endpointsHasBeenSet = true; m_endpoints.emplace(key, value); return *this; } /** *

The status of the Elasticsearch domain configuration. True if * Amazon Elasticsearch Service is processing configuration changes. * False if the configuration is active.

*/ inline bool GetProcessing() const{ return m_processing; } /** *

The status of the Elasticsearch domain configuration. True if * Amazon Elasticsearch Service is processing configuration changes. * False if the configuration is active.

*/ inline bool ProcessingHasBeenSet() const { return m_processingHasBeenSet; } /** *

The status of the Elasticsearch domain configuration. True if * Amazon Elasticsearch Service is processing configuration changes. * False if the configuration is active.

*/ inline void SetProcessing(bool value) { m_processingHasBeenSet = true; m_processing = value; } /** *

The status of the Elasticsearch domain configuration. True if * Amazon Elasticsearch Service is processing configuration changes. * False if the configuration is active.

*/ inline ElasticsearchDomainStatus& WithProcessing(bool value) { SetProcessing(value); return *this;} /** *

The status of an Elasticsearch domain version upgrade. True if * Amazon Elasticsearch Service is undergoing a version upgrade. False * if the configuration is active.

*/ inline bool GetUpgradeProcessing() const{ return m_upgradeProcessing; } /** *

The status of an Elasticsearch domain version upgrade. True if * Amazon Elasticsearch Service is undergoing a version upgrade. False * if the configuration is active.

*/ inline bool UpgradeProcessingHasBeenSet() const { return m_upgradeProcessingHasBeenSet; } /** *

The status of an Elasticsearch domain version upgrade. True if * Amazon Elasticsearch Service is undergoing a version upgrade. False * if the configuration is active.

*/ inline void SetUpgradeProcessing(bool value) { m_upgradeProcessingHasBeenSet = true; m_upgradeProcessing = value; } /** *

The status of an Elasticsearch domain version upgrade. True if * Amazon Elasticsearch Service is undergoing a version upgrade. False * if the configuration is active.

*/ inline ElasticsearchDomainStatus& WithUpgradeProcessing(bool value) { SetUpgradeProcessing(value); return *this;} inline const Aws::String& GetElasticsearchVersion() const{ return m_elasticsearchVersion; } inline bool ElasticsearchVersionHasBeenSet() const { return m_elasticsearchVersionHasBeenSet; } inline void SetElasticsearchVersion(const Aws::String& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = value; } inline void SetElasticsearchVersion(Aws::String&& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = std::move(value); } inline void SetElasticsearchVersion(const char* value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion.assign(value); } inline ElasticsearchDomainStatus& WithElasticsearchVersion(const Aws::String& value) { SetElasticsearchVersion(value); return *this;} inline ElasticsearchDomainStatus& WithElasticsearchVersion(Aws::String&& value) { SetElasticsearchVersion(std::move(value)); return *this;} inline ElasticsearchDomainStatus& WithElasticsearchVersion(const char* value) { SetElasticsearchVersion(value); return *this;} /** *

The type and number of instances in the domain cluster.

*/ inline const ElasticsearchClusterConfig& GetElasticsearchClusterConfig() const{ return m_elasticsearchClusterConfig; } /** *

The type and number of instances in the domain cluster.

*/ inline bool ElasticsearchClusterConfigHasBeenSet() const { return m_elasticsearchClusterConfigHasBeenSet; } /** *

The type and number of instances in the domain cluster.

*/ inline void SetElasticsearchClusterConfig(const ElasticsearchClusterConfig& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = value; } /** *

The type and number of instances in the domain cluster.

*/ inline void SetElasticsearchClusterConfig(ElasticsearchClusterConfig&& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = std::move(value); } /** *

The type and number of instances in the domain cluster.

*/ inline ElasticsearchDomainStatus& WithElasticsearchClusterConfig(const ElasticsearchClusterConfig& value) { SetElasticsearchClusterConfig(value); return *this;} /** *

The type and number of instances in the domain cluster.

*/ inline ElasticsearchDomainStatus& WithElasticsearchClusterConfig(ElasticsearchClusterConfig&& value) { SetElasticsearchClusterConfig(std::move(value)); return *this;} /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline const EBSOptions& GetEBSOptions() const{ return m_eBSOptions; } /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline bool EBSOptionsHasBeenSet() const { return m_eBSOptionsHasBeenSet; } /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline void SetEBSOptions(const EBSOptions& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = value; } /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline void SetEBSOptions(EBSOptions&& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = std::move(value); } /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline ElasticsearchDomainStatus& WithEBSOptions(const EBSOptions& value) { SetEBSOptions(value); return *this;} /** *

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

*/ inline ElasticsearchDomainStatus& WithEBSOptions(EBSOptions&& value) { SetEBSOptions(std::move(value)); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline const Aws::String& GetAccessPolicies() const{ return m_accessPolicies; } /** *

IAM access policy as a JSON-formatted string.

*/ inline bool AccessPoliciesHasBeenSet() const { return m_accessPoliciesHasBeenSet; } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(const Aws::String& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = value; } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(Aws::String&& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = std::move(value); } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(const char* value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies.assign(value); } /** *

IAM access policy as a JSON-formatted string.

*/ inline ElasticsearchDomainStatus& WithAccessPolicies(const Aws::String& value) { SetAccessPolicies(value); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline ElasticsearchDomainStatus& WithAccessPolicies(Aws::String&& value) { SetAccessPolicies(std::move(value)); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline ElasticsearchDomainStatus& WithAccessPolicies(const char* value) { SetAccessPolicies(value); return *this;} /** *

Specifies the status of the SnapshotOptions

*/ inline const SnapshotOptions& GetSnapshotOptions() const{ return m_snapshotOptions; } /** *

Specifies the status of the SnapshotOptions

*/ inline bool SnapshotOptionsHasBeenSet() const { return m_snapshotOptionsHasBeenSet; } /** *

Specifies the status of the SnapshotOptions

*/ inline void SetSnapshotOptions(const SnapshotOptions& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = value; } /** *

Specifies the status of the SnapshotOptions

*/ inline void SetSnapshotOptions(SnapshotOptions&& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = std::move(value); } /** *

Specifies the status of the SnapshotOptions

*/ inline ElasticsearchDomainStatus& WithSnapshotOptions(const SnapshotOptions& value) { SetSnapshotOptions(value); return *this;} /** *

Specifies the status of the SnapshotOptions

*/ inline ElasticsearchDomainStatus& WithSnapshotOptions(SnapshotOptions&& value) { SetSnapshotOptions(std::move(value)); return *this;} /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline const VPCDerivedInfo& GetVPCOptions() const{ return m_vPCOptions; } /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline bool VPCOptionsHasBeenSet() const { return m_vPCOptionsHasBeenSet; } /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline void SetVPCOptions(const VPCDerivedInfo& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = value; } /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline void SetVPCOptions(VPCDerivedInfo&& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = std::move(value); } /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline ElasticsearchDomainStatus& WithVPCOptions(const VPCDerivedInfo& value) { SetVPCOptions(value); return *this;} /** *

The VPCOptions for the specified domain. For more information, * see VPC Endpoints for Amazon Elasticsearch Service Domains.

*/ inline ElasticsearchDomainStatus& WithVPCOptions(VPCDerivedInfo&& value) { SetVPCOptions(std::move(value)); return *this;} /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline const CognitoOptions& GetCognitoOptions() const{ return m_cognitoOptions; } /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline bool CognitoOptionsHasBeenSet() const { return m_cognitoOptionsHasBeenSet; } /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline void SetCognitoOptions(const CognitoOptions& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = value; } /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline void SetCognitoOptions(CognitoOptions&& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = std::move(value); } /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline ElasticsearchDomainStatus& WithCognitoOptions(const CognitoOptions& value) { SetCognitoOptions(value); return *this;} /** *

The CognitoOptions for the specified domain. For more * information, see Amazon Cognito Authentication for Kibana.

*/ inline ElasticsearchDomainStatus& WithCognitoOptions(CognitoOptions&& value) { SetCognitoOptions(std::move(value)); return *this;} /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline const EncryptionAtRestOptions& GetEncryptionAtRestOptions() const{ return m_encryptionAtRestOptions; } /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline bool EncryptionAtRestOptionsHasBeenSet() const { return m_encryptionAtRestOptionsHasBeenSet; } /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline void SetEncryptionAtRestOptions(const EncryptionAtRestOptions& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = value; } /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline void SetEncryptionAtRestOptions(EncryptionAtRestOptions&& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = std::move(value); } /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline ElasticsearchDomainStatus& WithEncryptionAtRestOptions(const EncryptionAtRestOptions& value) { SetEncryptionAtRestOptions(value); return *this;} /** *

Specifies the status of the EncryptionAtRestOptions.

*/ inline ElasticsearchDomainStatus& WithEncryptionAtRestOptions(EncryptionAtRestOptions&& value) { SetEncryptionAtRestOptions(std::move(value)); return *this;} /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline const NodeToNodeEncryptionOptions& GetNodeToNodeEncryptionOptions() const{ return m_nodeToNodeEncryptionOptions; } /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline bool NodeToNodeEncryptionOptionsHasBeenSet() const { return m_nodeToNodeEncryptionOptionsHasBeenSet; } /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline void SetNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptions& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = value; } /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline void SetNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions&& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = std::move(value); } /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline ElasticsearchDomainStatus& WithNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptions& value) { SetNodeToNodeEncryptionOptions(value); return *this;} /** *

Specifies the status of the NodeToNodeEncryptionOptions.

*/ inline ElasticsearchDomainStatus& WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); return *this;} /** *

Specifies the status of the AdvancedOptions

*/ inline const Aws::Map& GetAdvancedOptions() const{ return m_advancedOptions; } /** *

Specifies the status of the AdvancedOptions

*/ inline bool AdvancedOptionsHasBeenSet() const { return m_advancedOptionsHasBeenSet; } /** *

Specifies the status of the AdvancedOptions

*/ inline void SetAdvancedOptions(const Aws::Map& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = value; } /** *

Specifies the status of the AdvancedOptions

*/ inline void SetAdvancedOptions(Aws::Map&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = std::move(value); } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& WithAdvancedOptions(const Aws::Map& value) { SetAdvancedOptions(value); return *this;} /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& WithAdvancedOptions(Aws::Map&& value) { SetAdvancedOptions(std::move(value)); return *this;} /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(const Aws::String& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, value); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(Aws::String&& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(const Aws::String& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(Aws::String&& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(const char* key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(Aws::String&& key, const char* value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); return *this; } /** *

Specifies the status of the AdvancedOptions

*/ inline ElasticsearchDomainStatus& AddAdvancedOptions(const char* key, const char* value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, value); return *this; } /** *

Log publishing options for the given domain.

*/ inline const Aws::Map& GetLogPublishingOptions() const{ return m_logPublishingOptions; } /** *

Log publishing options for the given domain.

*/ inline bool LogPublishingOptionsHasBeenSet() const { return m_logPublishingOptionsHasBeenSet; } /** *

Log publishing options for the given domain.

*/ inline void SetLogPublishingOptions(const Aws::Map& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; } /** *

Log publishing options for the given domain.

*/ inline void SetLogPublishingOptions(Aws::Map&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); } /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& WithLogPublishingOptions(const Aws::Map& value) { SetLogPublishingOptions(value); return *this;} /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& WithLogPublishingOptions(Aws::Map&& value) { SetLogPublishingOptions(std::move(value)); return *this;} /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& AddLogPublishingOptions(const LogType& key, const LogPublishingOption& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(key, value); return *this; } /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& AddLogPublishingOptions(LogType&& key, const LogPublishingOption& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(std::move(key), value); return *this; } /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& AddLogPublishingOptions(const LogType& key, LogPublishingOption&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(key, std::move(value)); return *this; } /** *

Log publishing options for the given domain.

*/ inline ElasticsearchDomainStatus& AddLogPublishingOptions(LogType&& key, LogPublishingOption&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

The current status of the Elasticsearch domain's service software.

*/ inline const ServiceSoftwareOptions& GetServiceSoftwareOptions() const{ return m_serviceSoftwareOptions; } /** *

The current status of the Elasticsearch domain's service software.

*/ inline bool ServiceSoftwareOptionsHasBeenSet() const { return m_serviceSoftwareOptionsHasBeenSet; } /** *

The current status of the Elasticsearch domain's service software.

*/ inline void SetServiceSoftwareOptions(const ServiceSoftwareOptions& value) { m_serviceSoftwareOptionsHasBeenSet = true; m_serviceSoftwareOptions = value; } /** *

The current status of the Elasticsearch domain's service software.

*/ inline void SetServiceSoftwareOptions(ServiceSoftwareOptions&& value) { m_serviceSoftwareOptionsHasBeenSet = true; m_serviceSoftwareOptions = std::move(value); } /** *

The current status of the Elasticsearch domain's service software.

*/ inline ElasticsearchDomainStatus& WithServiceSoftwareOptions(const ServiceSoftwareOptions& value) { SetServiceSoftwareOptions(value); return *this;} /** *

The current status of the Elasticsearch domain's service software.

*/ inline ElasticsearchDomainStatus& WithServiceSoftwareOptions(ServiceSoftwareOptions&& value) { SetServiceSoftwareOptions(std::move(value)); return *this;} /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline const DomainEndpointOptions& GetDomainEndpointOptions() const{ return m_domainEndpointOptions; } /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline bool DomainEndpointOptionsHasBeenSet() const { return m_domainEndpointOptionsHasBeenSet; } /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline void SetDomainEndpointOptions(const DomainEndpointOptions& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = value; } /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline void SetDomainEndpointOptions(DomainEndpointOptions&& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = std::move(value); } /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline ElasticsearchDomainStatus& WithDomainEndpointOptions(const DomainEndpointOptions& value) { SetDomainEndpointOptions(value); return *this;} /** *

The current status of the Elasticsearch domain's endpoint options.

*/ inline ElasticsearchDomainStatus& WithDomainEndpointOptions(DomainEndpointOptions&& value) { SetDomainEndpointOptions(std::move(value)); return *this;} /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline const AdvancedSecurityOptions& GetAdvancedSecurityOptions() const{ return m_advancedSecurityOptions; } /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline bool AdvancedSecurityOptionsHasBeenSet() const { return m_advancedSecurityOptionsHasBeenSet; } /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline void SetAdvancedSecurityOptions(const AdvancedSecurityOptions& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = value; } /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline void SetAdvancedSecurityOptions(AdvancedSecurityOptions&& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = std::move(value); } /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline ElasticsearchDomainStatus& WithAdvancedSecurityOptions(const AdvancedSecurityOptions& value) { SetAdvancedSecurityOptions(value); return *this;} /** *

The current status of the Elasticsearch domain's advanced security * options.

*/ inline ElasticsearchDomainStatus& WithAdvancedSecurityOptions(AdvancedSecurityOptions&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline const AutoTuneOptionsOutput& GetAutoTuneOptions() const{ return m_autoTuneOptions; } /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline bool AutoTuneOptionsHasBeenSet() const { return m_autoTuneOptionsHasBeenSet; } /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline void SetAutoTuneOptions(const AutoTuneOptionsOutput& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = value; } /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline void SetAutoTuneOptions(AutoTuneOptionsOutput&& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = std::move(value); } /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline ElasticsearchDomainStatus& WithAutoTuneOptions(const AutoTuneOptionsOutput& value) { SetAutoTuneOptions(value); return *this;} /** *

The current status of the Elasticsearch domain's Auto-Tune options.

*/ inline ElasticsearchDomainStatus& WithAutoTuneOptions(AutoTuneOptionsOutput&& value) { SetAutoTuneOptions(std::move(value)); return *this;} /** *

Specifies change details of the domain configuration change.

*/ inline const ChangeProgressDetails& GetChangeProgressDetails() const{ return m_changeProgressDetails; } /** *

Specifies change details of the domain configuration change.

*/ inline bool ChangeProgressDetailsHasBeenSet() const { return m_changeProgressDetailsHasBeenSet; } /** *

Specifies change details of the domain configuration change.

*/ inline void SetChangeProgressDetails(const ChangeProgressDetails& value) { m_changeProgressDetailsHasBeenSet = true; m_changeProgressDetails = value; } /** *

Specifies change details of the domain configuration change.

*/ inline void SetChangeProgressDetails(ChangeProgressDetails&& value) { m_changeProgressDetailsHasBeenSet = true; m_changeProgressDetails = std::move(value); } /** *

Specifies change details of the domain configuration change.

*/ inline ElasticsearchDomainStatus& WithChangeProgressDetails(const ChangeProgressDetails& value) { SetChangeProgressDetails(value); return *this;} /** *

Specifies change details of the domain configuration change.

*/ inline ElasticsearchDomainStatus& WithChangeProgressDetails(ChangeProgressDetails&& value) { SetChangeProgressDetails(std::move(value)); return *this;} private: Aws::String m_domainId; bool m_domainIdHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; bool m_created; bool m_createdHasBeenSet = false; bool m_deleted; bool m_deletedHasBeenSet = false; Aws::String m_endpoint; bool m_endpointHasBeenSet = false; Aws::Map m_endpoints; bool m_endpointsHasBeenSet = false; bool m_processing; bool m_processingHasBeenSet = false; bool m_upgradeProcessing; bool m_upgradeProcessingHasBeenSet = false; Aws::String m_elasticsearchVersion; bool m_elasticsearchVersionHasBeenSet = false; ElasticsearchClusterConfig m_elasticsearchClusterConfig; bool m_elasticsearchClusterConfigHasBeenSet = false; EBSOptions m_eBSOptions; bool m_eBSOptionsHasBeenSet = false; Aws::String m_accessPolicies; bool m_accessPoliciesHasBeenSet = false; SnapshotOptions m_snapshotOptions; bool m_snapshotOptionsHasBeenSet = false; VPCDerivedInfo m_vPCOptions; bool m_vPCOptionsHasBeenSet = false; CognitoOptions m_cognitoOptions; bool m_cognitoOptionsHasBeenSet = false; EncryptionAtRestOptions m_encryptionAtRestOptions; bool m_encryptionAtRestOptionsHasBeenSet = false; NodeToNodeEncryptionOptions m_nodeToNodeEncryptionOptions; bool m_nodeToNodeEncryptionOptionsHasBeenSet = false; Aws::Map m_advancedOptions; bool m_advancedOptionsHasBeenSet = false; Aws::Map m_logPublishingOptions; bool m_logPublishingOptionsHasBeenSet = false; ServiceSoftwareOptions m_serviceSoftwareOptions; bool m_serviceSoftwareOptionsHasBeenSet = false; DomainEndpointOptions m_domainEndpointOptions; bool m_domainEndpointOptionsHasBeenSet = false; AdvancedSecurityOptions m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; AutoTuneOptionsOutput m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; ChangeProgressDetails m_changeProgressDetails; bool m_changeProgressDetailsHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws