/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ElasticsearchService
{
namespace Model
{
/**
* Options to configure endpoint for the Elasticsearch domain.
See
* Also:
AWS
* API Reference
*/
class AWS_ELASTICSEARCHSERVICE_API DomainEndpointOptions
{
public:
DomainEndpointOptions();
DomainEndpointOptions(Aws::Utils::Json::JsonView jsonValue);
DomainEndpointOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Specify if only HTTPS endpoint should be enabled for the Elasticsearch
* domain.
*/
inline bool GetEnforceHTTPS() const{ return m_enforceHTTPS; }
/**
* Specify if only HTTPS endpoint should be enabled for the Elasticsearch
* domain.
*/
inline bool EnforceHTTPSHasBeenSet() const { return m_enforceHTTPSHasBeenSet; }
/**
* Specify if only HTTPS endpoint should be enabled for the Elasticsearch
* domain.
*/
inline void SetEnforceHTTPS(bool value) { m_enforceHTTPSHasBeenSet = true; m_enforceHTTPS = value; }
/**
* Specify if only HTTPS endpoint should be enabled for the Elasticsearch
* domain.
*/
inline DomainEndpointOptions& WithEnforceHTTPS(bool value) { SetEnforceHTTPS(value); return *this;}
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline const TLSSecurityPolicy& GetTLSSecurityPolicy() const{ return m_tLSSecurityPolicy; }
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline bool TLSSecurityPolicyHasBeenSet() const { return m_tLSSecurityPolicyHasBeenSet; }
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline void SetTLSSecurityPolicy(const TLSSecurityPolicy& value) { m_tLSSecurityPolicyHasBeenSet = true; m_tLSSecurityPolicy = value; }
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline void SetTLSSecurityPolicy(TLSSecurityPolicy&& value) { m_tLSSecurityPolicyHasBeenSet = true; m_tLSSecurityPolicy = std::move(value); }
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline DomainEndpointOptions& WithTLSSecurityPolicy(const TLSSecurityPolicy& value) { SetTLSSecurityPolicy(value); return *this;}
/**
* Specify the TLS security policy that needs to be applied to the HTTPS
* endpoint of Elasticsearch domain.
It can be one of the following values:
*
- Policy-Min-TLS-1-0-2019-07: TLS security policy which supports
* TLSv1.0 and higher.
- Policy-Min-TLS-1-2-2019-07: TLS security
* policy which supports only TLSv1.2
*/
inline DomainEndpointOptions& WithTLSSecurityPolicy(TLSSecurityPolicy&& value) { SetTLSSecurityPolicy(std::move(value)); return *this;}
private:
bool m_enforceHTTPS;
bool m_enforceHTTPSHasBeenSet;
TLSSecurityPolicy m_tLSSecurityPolicy;
bool m_tLSSecurityPolicyHasBeenSet;
};
} // namespace Model
} // namespace ElasticsearchService
} // namespace Aws