/** * 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 #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpenSearchService { namespace Model { /** *

The current status of an OpenSearch Service domain.

See Also:

* AWS * API Reference

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Unique identifier for the domain.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

Name of the domain. Domain names are unique across all domains owned by the * same account within an Amazon Web Services Region.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

The Amazon Resource Name (ARN) of the domain. For more information, see IAM * identifiers in the AWS Identity and Access Management User * Guide.

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

Creation status of an OpenSearch Service domain. True if domain creation is * complete. False if domain creation is still in progress.

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

Creation status of an OpenSearch Service domain. True if domain creation is * complete. False if domain creation is still in progress.

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

Creation status of an OpenSearch Service domain. True if domain creation is * complete. False if domain creation is still in progress.

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

Creation status of an OpenSearch Service domain. True if domain creation is * complete. False if domain creation is still in progress.

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

Deletion status of an OpenSearch Service domain. True if domain deletion is * complete. False if domain deletion is still in progress. Once deletion is * complete, the status of the domain is no longer returned.

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

Deletion status of an OpenSearch Service domain. True if domain deletion is * complete. False if domain deletion is still in progress. Once deletion is * complete, the status of the domain is no longer returned.

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

Deletion status of an OpenSearch Service domain. True if domain deletion is * complete. False if domain deletion is still in progress. Once deletion is * complete, the status of the domain is no longer returned.

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

Deletion status of an OpenSearch Service domain. True if domain deletion is * complete. False if domain deletion is still in progress. Once deletion is * complete, the status of the domain is no longer returned.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

Domain-specific endpoint used to submit index, search, and data upload * requests to the domain.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. 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; } /** *

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. 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); } /** *

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

The key-value pair that exists if the OpenSearch Service domain uses VPC * endpoints.. Example key, value: * 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

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

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

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

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

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

The status of the domain configuration. True if OpenSearch 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 domain configuration. True if OpenSearch Service is * processing configuration changes. False if the configuration is active.

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

The status of a domain version upgrade to a new version of OpenSearch or * Elasticsearch. True if OpenSearch Service is in the process of a version * upgrade. False if the configuration is active.

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

The status of a domain version upgrade to a new version of OpenSearch or * Elasticsearch. True if OpenSearch Service is in the process of a version * upgrade. False if the configuration is active.

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

The status of a domain version upgrade to a new version of OpenSearch or * Elasticsearch. True if OpenSearch Service is in the process of a version * upgrade. False if the configuration is active.

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

The status of a domain version upgrade to a new version of OpenSearch or * Elasticsearch. True if OpenSearch Service is in the process of a version * upgrade. False if the configuration is active.

*/ inline DomainStatus& WithUpgradeProcessing(bool value) { SetUpgradeProcessing(value); return *this;} /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline DomainStatus& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline DomainStatus& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

Version of OpenSearch or Elasticsearch that the domain is running, in the * format Elasticsearch_X.Y or OpenSearch_X.Y.

*/ inline DomainStatus& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

Container for the cluster configuration of the domain.

*/ inline const ClusterConfig& GetClusterConfig() const{ return m_clusterConfig; } /** *

Container for the cluster configuration of the domain.

*/ inline bool ClusterConfigHasBeenSet() const { return m_clusterConfigHasBeenSet; } /** *

Container for the cluster configuration of the domain.

*/ inline void SetClusterConfig(const ClusterConfig& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = value; } /** *

Container for the cluster configuration of the domain.

*/ inline void SetClusterConfig(ClusterConfig&& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = std::move(value); } /** *

Container for the cluster configuration of the domain.

*/ inline DomainStatus& WithClusterConfig(const ClusterConfig& value) { SetClusterConfig(value); return *this;} /** *

Container for the cluster configuration of the domain.

*/ inline DomainStatus& WithClusterConfig(ClusterConfig&& value) { SetClusterConfig(std::move(value)); return *this;} /** *

Container for EBS-based storage settings for the domain.

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

Container for EBS-based storage settings for the domain.

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

Container for EBS-based storage settings for the domain.

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

Container for EBS-based storage settings for the domain.

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

Container for EBS-based storage settings for the domain.

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

Container for EBS-based storage settings for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

Identity and Access Management (IAM) policy document specifying the access * policies for the domain.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

DEPRECATED. Container for parameters required to configure automated * snapshots of domain indexes.

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

The VPC configuration for the domain.

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

The VPC configuration for the domain.

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

The VPC configuration for the domain.

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

The VPC configuration for the domain.

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

The VPC configuration for the domain.

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

The VPC configuration for the domain.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Encryption at rest settings for the domain.

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

Encryption at rest settings for the domain.

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

Encryption at rest settings for the domain.

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

Encryption at rest settings for the domain.

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

Encryption at rest settings for the domain.

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

Encryption at rest settings for the domain.

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

Whether node-to-node encryption is enabled or disabled.

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

Whether node-to-node encryption is enabled or disabled.

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

Whether node-to-node encryption is enabled or disabled.

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

Whether node-to-node encryption is enabled or disabled.

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

Whether node-to-node encryption is enabled or disabled.

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

Whether node-to-node encryption is enabled or disabled.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Key-value pairs that specify advanced configuration options.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

Log publishing options for the domain.

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

The current status of the domain's service software.

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

The current status of the domain's service software.

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

The current status of the domain's service software.

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

The current status of the domain's service software.

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

The current status of the domain's service software.

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

The current status of the domain's service software.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Settings for fine-grained access control.

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

Settings for fine-grained access control.

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

Settings for fine-grained access control.

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

Settings for fine-grained access control.

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

Settings for fine-grained access control.

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

Settings for fine-grained access control.

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

Auto-Tune settings for the domain.

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

Auto-Tune settings for the domain.

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

Auto-Tune settings for the domain.

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

Auto-Tune settings for the domain.

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

Auto-Tune settings for the domain.

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

Auto-Tune settings for the domain.

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

Information about a configuration change happening on the domain.

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

Information about a configuration change happening on the domain.

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

Information about a configuration change happening on the domain.

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

Information about a configuration change happening on the domain.

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

Information about a configuration change happening on the domain.

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

Information about a configuration change happening on the domain.

*/ inline DomainStatus& WithChangeProgressDetails(ChangeProgressDetails&& value) { SetChangeProgressDetails(std::move(value)); return *this;} /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline const OffPeakWindowOptions& GetOffPeakWindowOptions() const{ return m_offPeakWindowOptions; } /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline bool OffPeakWindowOptionsHasBeenSet() const { return m_offPeakWindowOptionsHasBeenSet; } /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline void SetOffPeakWindowOptions(const OffPeakWindowOptions& value) { m_offPeakWindowOptionsHasBeenSet = true; m_offPeakWindowOptions = value; } /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline void SetOffPeakWindowOptions(OffPeakWindowOptions&& value) { m_offPeakWindowOptionsHasBeenSet = true; m_offPeakWindowOptions = std::move(value); } /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline DomainStatus& WithOffPeakWindowOptions(const OffPeakWindowOptions& value) { SetOffPeakWindowOptions(value); return *this;} /** *

Options that specify a custom 10-hour window during which OpenSearch Service * can perform configuration changes on the domain.

*/ inline DomainStatus& WithOffPeakWindowOptions(OffPeakWindowOptions&& value) { SetOffPeakWindowOptions(std::move(value)); return *this;} /** *

Service software update options for the domain.

*/ inline const SoftwareUpdateOptions& GetSoftwareUpdateOptions() const{ return m_softwareUpdateOptions; } /** *

Service software update options for the domain.

*/ inline bool SoftwareUpdateOptionsHasBeenSet() const { return m_softwareUpdateOptionsHasBeenSet; } /** *

Service software update options for the domain.

*/ inline void SetSoftwareUpdateOptions(const SoftwareUpdateOptions& value) { m_softwareUpdateOptionsHasBeenSet = true; m_softwareUpdateOptions = value; } /** *

Service software update options for the domain.

*/ inline void SetSoftwareUpdateOptions(SoftwareUpdateOptions&& value) { m_softwareUpdateOptionsHasBeenSet = true; m_softwareUpdateOptions = std::move(value); } /** *

Service software update options for the domain.

*/ inline DomainStatus& WithSoftwareUpdateOptions(const SoftwareUpdateOptions& value) { SetSoftwareUpdateOptions(value); return *this;} /** *

Service software update options for the domain.

*/ inline DomainStatus& WithSoftwareUpdateOptions(SoftwareUpdateOptions&& value) { SetSoftwareUpdateOptions(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_engineVersion; bool m_engineVersionHasBeenSet = false; ClusterConfig m_clusterConfig; bool m_clusterConfigHasBeenSet = 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; OffPeakWindowOptions m_offPeakWindowOptions; bool m_offPeakWindowOptionsHasBeenSet = false; SoftwareUpdateOptions m_softwareUpdateOptions; bool m_softwareUpdateOptionsHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws