/**
* 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
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ElasticsearchService
{
namespace Model
{
/**
* The configuration of an Elasticsearch domain.
See Also:
AWS
* API Reference
*/
class AWS_ELASTICSEARCHSERVICE_API ElasticsearchDomainConfig
{
public:
ElasticsearchDomainConfig();
ElasticsearchDomainConfig(Aws::Utils::Json::JsonView jsonValue);
ElasticsearchDomainConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline const ElasticsearchVersionStatus& GetElasticsearchVersion() const{ return m_elasticsearchVersion; }
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline bool ElasticsearchVersionHasBeenSet() const { return m_elasticsearchVersionHasBeenSet; }
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline void SetElasticsearchVersion(const ElasticsearchVersionStatus& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = value; }
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline void SetElasticsearchVersion(ElasticsearchVersionStatus&& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = std::move(value); }
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithElasticsearchVersion(const ElasticsearchVersionStatus& value) { SetElasticsearchVersion(value); return *this;}
/**
* String of format X.Y to specify version for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithElasticsearchVersion(ElasticsearchVersionStatus&& value) { SetElasticsearchVersion(std::move(value)); return *this;}
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline const ElasticsearchClusterConfigStatus& GetElasticsearchClusterConfig() const{ return m_elasticsearchClusterConfig; }
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline bool ElasticsearchClusterConfigHasBeenSet() const { return m_elasticsearchClusterConfigHasBeenSet; }
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline void SetElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = value; }
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline void SetElasticsearchClusterConfig(ElasticsearchClusterConfigStatus&& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = std::move(value); }
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithElasticsearchClusterConfig(const ElasticsearchClusterConfigStatus& value) { SetElasticsearchClusterConfig(value); return *this;}
/**
* Specifies the ElasticsearchClusterConfig for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithElasticsearchClusterConfig(ElasticsearchClusterConfigStatus&& value) { SetElasticsearchClusterConfig(std::move(value)); return *this;}
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline const EBSOptionsStatus& GetEBSOptions() const{ return m_eBSOptions; }
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline bool EBSOptionsHasBeenSet() const { return m_eBSOptionsHasBeenSet; }
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline void SetEBSOptions(const EBSOptionsStatus& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = value; }
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline void SetEBSOptions(EBSOptionsStatus&& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = std::move(value); }
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithEBSOptions(const EBSOptionsStatus& value) { SetEBSOptions(value); return *this;}
/**
* Specifies the EBSOptions for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithEBSOptions(EBSOptionsStatus&& value) { SetEBSOptions(std::move(value)); return *this;}
/**
* IAM access policy as a JSON-formatted string.
*/
inline const AccessPoliciesStatus& 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 AccessPoliciesStatus& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = value; }
/**
* IAM access policy as a JSON-formatted string.
*/
inline void SetAccessPolicies(AccessPoliciesStatus&& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = std::move(value); }
/**
* IAM access policy as a JSON-formatted string.
*/
inline ElasticsearchDomainConfig& WithAccessPolicies(const AccessPoliciesStatus& value) { SetAccessPolicies(value); return *this;}
/**
* IAM access policy as a JSON-formatted string.
*/
inline ElasticsearchDomainConfig& WithAccessPolicies(AccessPoliciesStatus&& value) { SetAccessPolicies(std::move(value)); return *this;}
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline const SnapshotOptionsStatus& GetSnapshotOptions() const{ return m_snapshotOptions; }
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline bool SnapshotOptionsHasBeenSet() const { return m_snapshotOptionsHasBeenSet; }
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline void SetSnapshotOptions(const SnapshotOptionsStatus& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = value; }
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline void SetSnapshotOptions(SnapshotOptionsStatus&& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = std::move(value); }
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithSnapshotOptions(const SnapshotOptionsStatus& value) { SetSnapshotOptions(value); return *this;}
/**
* Specifies the SnapshotOptions for the Elasticsearch domain.
*/
inline ElasticsearchDomainConfig& WithSnapshotOptions(SnapshotOptionsStatus&& 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 VPCDerivedInfoStatus& 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 VPCDerivedInfoStatus& 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(VPCDerivedInfoStatus&& 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 ElasticsearchDomainConfig& WithVPCOptions(const VPCDerivedInfoStatus& value) { SetVPCOptions(value); return *this;}
/**
* The VPCOptions for the specified domain. For more information,
* see VPC Endpoints for Amazon Elasticsearch Service Domains.
*/
inline ElasticsearchDomainConfig& WithVPCOptions(VPCDerivedInfoStatus&& value) { SetVPCOptions(std::move(value)); return *this;}
/**
* The CognitoOptions for the specified domain. For more
* information, see Amazon Cognito Authentication for Kibana.
*/
inline const CognitoOptionsStatus& 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 CognitoOptionsStatus& 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(CognitoOptionsStatus&& 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 ElasticsearchDomainConfig& WithCognitoOptions(const CognitoOptionsStatus& value) { SetCognitoOptions(value); return *this;}
/**
* The CognitoOptions for the specified domain. For more
* information, see Amazon Cognito Authentication for Kibana.
*/
inline ElasticsearchDomainConfig& WithCognitoOptions(CognitoOptionsStatus&& value) { SetCognitoOptions(std::move(value)); return *this;}
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline const EncryptionAtRestOptionsStatus& GetEncryptionAtRestOptions() const{ return m_encryptionAtRestOptions; }
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline bool EncryptionAtRestOptionsHasBeenSet() const { return m_encryptionAtRestOptionsHasBeenSet; }
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline void SetEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = value; }
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline void SetEncryptionAtRestOptions(EncryptionAtRestOptionsStatus&& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = std::move(value); }
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithEncryptionAtRestOptions(const EncryptionAtRestOptionsStatus& value) { SetEncryptionAtRestOptions(value); return *this;}
/**
* Specifies the EncryptionAtRestOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithEncryptionAtRestOptions(EncryptionAtRestOptionsStatus&& value) { SetEncryptionAtRestOptions(std::move(value)); return *this;}
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline const NodeToNodeEncryptionOptionsStatus& GetNodeToNodeEncryptionOptions() const{ return m_nodeToNodeEncryptionOptions; }
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline bool NodeToNodeEncryptionOptionsHasBeenSet() const { return m_nodeToNodeEncryptionOptionsHasBeenSet; }
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline void SetNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = value; }
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline void SetNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus&& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = std::move(value); }
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptionsStatus& value) { SetNodeToNodeEncryptionOptions(value); return *this;}
/**
* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); return *this;}
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline const AdvancedOptionsStatus& GetAdvancedOptions() const{ return m_advancedOptions; }
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline bool AdvancedOptionsHasBeenSet() const { return m_advancedOptionsHasBeenSet; }
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline void SetAdvancedOptions(const AdvancedOptionsStatus& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = value; }
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline void SetAdvancedOptions(AdvancedOptionsStatus&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = std::move(value); }
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline ElasticsearchDomainConfig& WithAdvancedOptions(const AdvancedOptionsStatus& value) { SetAdvancedOptions(value); return *this;}
/**
* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.
*/
inline ElasticsearchDomainConfig& WithAdvancedOptions(AdvancedOptionsStatus&& value) { SetAdvancedOptions(std::move(value)); return *this;}
/**
* Log publishing options for the given domain.
*/
inline const LogPublishingOptionsStatus& 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 LogPublishingOptionsStatus& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; }
/**
* Log publishing options for the given domain.
*/
inline void SetLogPublishingOptions(LogPublishingOptionsStatus&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); }
/**
* Log publishing options for the given domain.
*/
inline ElasticsearchDomainConfig& WithLogPublishingOptions(const LogPublishingOptionsStatus& value) { SetLogPublishingOptions(value); return *this;}
/**
* Log publishing options for the given domain.
*/
inline ElasticsearchDomainConfig& WithLogPublishingOptions(LogPublishingOptionsStatus&& value) { SetLogPublishingOptions(std::move(value)); return *this;}
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline const DomainEndpointOptionsStatus& GetDomainEndpointOptions() const{ return m_domainEndpointOptions; }
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline bool DomainEndpointOptionsHasBeenSet() const { return m_domainEndpointOptionsHasBeenSet; }
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline void SetDomainEndpointOptions(const DomainEndpointOptionsStatus& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = value; }
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline void SetDomainEndpointOptions(DomainEndpointOptionsStatus&& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = std::move(value); }
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithDomainEndpointOptions(const DomainEndpointOptionsStatus& value) { SetDomainEndpointOptions(value); return *this;}
/**
* Specifies the DomainEndpointOptions for the Elasticsearch
* domain.
*/
inline ElasticsearchDomainConfig& WithDomainEndpointOptions(DomainEndpointOptionsStatus&& value) { SetDomainEndpointOptions(std::move(value)); return *this;}
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline const AdvancedSecurityOptionsStatus& GetAdvancedSecurityOptions() const{ return m_advancedSecurityOptions; }
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline bool AdvancedSecurityOptionsHasBeenSet() const { return m_advancedSecurityOptionsHasBeenSet; }
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline void SetAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = value; }
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline void SetAdvancedSecurityOptions(AdvancedSecurityOptionsStatus&& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = std::move(value); }
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline ElasticsearchDomainConfig& WithAdvancedSecurityOptions(const AdvancedSecurityOptionsStatus& value) { SetAdvancedSecurityOptions(value); return *this;}
/**
* Specifies AdvancedSecurityOptions for the domain.
*/
inline ElasticsearchDomainConfig& WithAdvancedSecurityOptions(AdvancedSecurityOptionsStatus&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;}
private:
ElasticsearchVersionStatus m_elasticsearchVersion;
bool m_elasticsearchVersionHasBeenSet;
ElasticsearchClusterConfigStatus m_elasticsearchClusterConfig;
bool m_elasticsearchClusterConfigHasBeenSet;
EBSOptionsStatus m_eBSOptions;
bool m_eBSOptionsHasBeenSet;
AccessPoliciesStatus m_accessPolicies;
bool m_accessPoliciesHasBeenSet;
SnapshotOptionsStatus m_snapshotOptions;
bool m_snapshotOptionsHasBeenSet;
VPCDerivedInfoStatus m_vPCOptions;
bool m_vPCOptionsHasBeenSet;
CognitoOptionsStatus m_cognitoOptions;
bool m_cognitoOptionsHasBeenSet;
EncryptionAtRestOptionsStatus m_encryptionAtRestOptions;
bool m_encryptionAtRestOptionsHasBeenSet;
NodeToNodeEncryptionOptionsStatus m_nodeToNodeEncryptionOptions;
bool m_nodeToNodeEncryptionOptionsHasBeenSet;
AdvancedOptionsStatus m_advancedOptions;
bool m_advancedOptionsHasBeenSet;
LogPublishingOptionsStatus m_logPublishingOptions;
bool m_logPublishingOptionsHasBeenSet;
DomainEndpointOptionsStatus m_domainEndpointOptions;
bool m_domainEndpointOptionsHasBeenSet;
AdvancedSecurityOptionsStatus m_advancedSecurityOptions;
bool m_advancedSecurityOptionsHasBeenSet;
};
} // namespace Model
} // namespace ElasticsearchService
} // namespace Aws