/** * 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