/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Options to configure a custom endpoint for an OpenSearch Service
* domain.See Also:
AWS
* API Reference
True to require that all traffic to the domain arrive over HTTPS.
*/ inline bool GetEnforceHTTPS() const{ return m_enforceHTTPS; } /** *True to require that all traffic to the domain arrive over HTTPS.
*/ inline bool EnforceHTTPSHasBeenSet() const { return m_enforceHTTPSHasBeenSet; } /** *True to require that all traffic to the domain arrive over HTTPS.
*/ inline void SetEnforceHTTPS(bool value) { m_enforceHTTPSHasBeenSet = true; m_enforceHTTPS = value; } /** *True to require that all traffic to the domain arrive over HTTPS.
*/ inline DomainEndpointOptions& WithEnforceHTTPS(bool value) { SetEnforceHTTPS(value); return *this;} /** *Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Specify the TLS security policy to apply to the HTTPS endpoint of the * domain.
Can be one of the following values:
* Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS * version 1.0 and higher.
Policy-Min-TLS-1-2-2019-07: * TLS security policy which supports only TLS version 1.2
Whether to enable a custom endpoint for the domain.
*/ inline bool GetCustomEndpointEnabled() const{ return m_customEndpointEnabled; } /** *Whether to enable a custom endpoint for the domain.
*/ inline bool CustomEndpointEnabledHasBeenSet() const { return m_customEndpointEnabledHasBeenSet; } /** *Whether to enable a custom endpoint for the domain.
*/ inline void SetCustomEndpointEnabled(bool value) { m_customEndpointEnabledHasBeenSet = true; m_customEndpointEnabled = value; } /** *Whether to enable a custom endpoint for the domain.
*/ inline DomainEndpointOptions& WithCustomEndpointEnabled(bool value) { SetCustomEndpointEnabled(value); return *this;} /** *The fully qualified URL for the custom endpoint.
*/ inline const Aws::String& GetCustomEndpoint() const{ return m_customEndpoint; } /** *The fully qualified URL for the custom endpoint.
*/ inline bool CustomEndpointHasBeenSet() const { return m_customEndpointHasBeenSet; } /** *The fully qualified URL for the custom endpoint.
*/ inline void SetCustomEndpoint(const Aws::String& value) { m_customEndpointHasBeenSet = true; m_customEndpoint = value; } /** *The fully qualified URL for the custom endpoint.
*/ inline void SetCustomEndpoint(Aws::String&& value) { m_customEndpointHasBeenSet = true; m_customEndpoint = std::move(value); } /** *The fully qualified URL for the custom endpoint.
*/ inline void SetCustomEndpoint(const char* value) { m_customEndpointHasBeenSet = true; m_customEndpoint.assign(value); } /** *The fully qualified URL for the custom endpoint.
*/ inline DomainEndpointOptions& WithCustomEndpoint(const Aws::String& value) { SetCustomEndpoint(value); return *this;} /** *The fully qualified URL for the custom endpoint.
*/ inline DomainEndpointOptions& WithCustomEndpoint(Aws::String&& value) { SetCustomEndpoint(std::move(value)); return *this;} /** *The fully qualified URL for the custom endpoint.
*/ inline DomainEndpointOptions& WithCustomEndpoint(const char* value) { SetCustomEndpoint(value); return *this;} /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline const Aws::String& GetCustomEndpointCertificateArn() const{ return m_customEndpointCertificateArn; } /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline bool CustomEndpointCertificateArnHasBeenSet() const { return m_customEndpointCertificateArnHasBeenSet; } /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline void SetCustomEndpointCertificateArn(const Aws::String& value) { m_customEndpointCertificateArnHasBeenSet = true; m_customEndpointCertificateArn = value; } /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline void SetCustomEndpointCertificateArn(Aws::String&& value) { m_customEndpointCertificateArnHasBeenSet = true; m_customEndpointCertificateArn = std::move(value); } /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline void SetCustomEndpointCertificateArn(const char* value) { m_customEndpointCertificateArnHasBeenSet = true; m_customEndpointCertificateArn.assign(value); } /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline DomainEndpointOptions& WithCustomEndpointCertificateArn(const Aws::String& value) { SetCustomEndpointCertificateArn(value); return *this;} /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline DomainEndpointOptions& WithCustomEndpointCertificateArn(Aws::String&& value) { SetCustomEndpointCertificateArn(std::move(value)); return *this;} /** *The ARN for your security certificate, managed in Amazon Web Services * Certificate Manager (ACM).
*/ inline DomainEndpointOptions& WithCustomEndpointCertificateArn(const char* value) { SetCustomEndpointCertificateArn(value); return *this;} private: bool m_enforceHTTPS; bool m_enforceHTTPSHasBeenSet = false; TLSSecurityPolicy m_tLSSecurityPolicy; bool m_tLSSecurityPolicyHasBeenSet = false; bool m_customEndpointEnabled; bool m_customEndpointEnabledHasBeenSet = false; Aws::String m_customEndpoint; bool m_customEndpointHasBeenSet = false; Aws::String m_customEndpointCertificateArn; bool m_customEndpointCertificateArnHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws