/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticsearchService { namespace Model { /** *

Specifies the advanced security configuration: whether advanced security is * enabled, whether the internal database option is enabled.

See * Also:

AWS * API Reference

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

True if advanced security is enabled.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

True if advanced security is enabled.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

True if advanced security is enabled.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

True if advanced security is enabled.

*/ inline AdvancedSecurityOptions& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

True if the internal user database is enabled.

*/ inline bool GetInternalUserDatabaseEnabled() const{ return m_internalUserDatabaseEnabled; } /** *

True if the internal user database is enabled.

*/ inline bool InternalUserDatabaseEnabledHasBeenSet() const { return m_internalUserDatabaseEnabledHasBeenSet; } /** *

True if the internal user database is enabled.

*/ inline void SetInternalUserDatabaseEnabled(bool value) { m_internalUserDatabaseEnabledHasBeenSet = true; m_internalUserDatabaseEnabled = value; } /** *

True if the internal user database is enabled.

*/ inline AdvancedSecurityOptions& WithInternalUserDatabaseEnabled(bool value) { SetInternalUserDatabaseEnabled(value); return *this;} /** *

Describes the SAML application configured for a domain.

*/ inline const SAMLOptionsOutput& GetSAMLOptions() const{ return m_sAMLOptions; } /** *

Describes the SAML application configured for a domain.

*/ inline bool SAMLOptionsHasBeenSet() const { return m_sAMLOptionsHasBeenSet; } /** *

Describes the SAML application configured for a domain.

*/ inline void SetSAMLOptions(const SAMLOptionsOutput& value) { m_sAMLOptionsHasBeenSet = true; m_sAMLOptions = value; } /** *

Describes the SAML application configured for a domain.

*/ inline void SetSAMLOptions(SAMLOptionsOutput&& value) { m_sAMLOptionsHasBeenSet = true; m_sAMLOptions = std::move(value); } /** *

Describes the SAML application configured for a domain.

*/ inline AdvancedSecurityOptions& WithSAMLOptions(const SAMLOptionsOutput& value) { SetSAMLOptions(value); return *this;} /** *

Describes the SAML application configured for a domain.

*/ inline AdvancedSecurityOptions& WithSAMLOptions(SAMLOptionsOutput&& value) { SetSAMLOptions(std::move(value)); return *this;} /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline const Aws::Utils::DateTime& GetAnonymousAuthDisableDate() const{ return m_anonymousAuthDisableDate; } /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline bool AnonymousAuthDisableDateHasBeenSet() const { return m_anonymousAuthDisableDateHasBeenSet; } /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline void SetAnonymousAuthDisableDate(const Aws::Utils::DateTime& value) { m_anonymousAuthDisableDateHasBeenSet = true; m_anonymousAuthDisableDate = value; } /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline void SetAnonymousAuthDisableDate(Aws::Utils::DateTime&& value) { m_anonymousAuthDisableDateHasBeenSet = true; m_anonymousAuthDisableDate = std::move(value); } /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline AdvancedSecurityOptions& WithAnonymousAuthDisableDate(const Aws::Utils::DateTime& value) { SetAnonymousAuthDisableDate(value); return *this;} /** *

Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

*/ inline AdvancedSecurityOptions& WithAnonymousAuthDisableDate(Aws::Utils::DateTime&& value) { SetAnonymousAuthDisableDate(std::move(value)); return *this;} /** *

True if Anonymous auth is enabled. Anonymous auth can be enabled only when * AdvancedSecurity is enabled on existing domains.

*/ inline bool GetAnonymousAuthEnabled() const{ return m_anonymousAuthEnabled; } /** *

True if Anonymous auth is enabled. Anonymous auth can be enabled only when * AdvancedSecurity is enabled on existing domains.

*/ inline bool AnonymousAuthEnabledHasBeenSet() const { return m_anonymousAuthEnabledHasBeenSet; } /** *

True if Anonymous auth is enabled. Anonymous auth can be enabled only when * AdvancedSecurity is enabled on existing domains.

*/ inline void SetAnonymousAuthEnabled(bool value) { m_anonymousAuthEnabledHasBeenSet = true; m_anonymousAuthEnabled = value; } /** *

True if Anonymous auth is enabled. Anonymous auth can be enabled only when * AdvancedSecurity is enabled on existing domains.

*/ inline AdvancedSecurityOptions& WithAnonymousAuthEnabled(bool value) { SetAnonymousAuthEnabled(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; bool m_internalUserDatabaseEnabled; bool m_internalUserDatabaseEnabledHasBeenSet = false; SAMLOptionsOutput m_sAMLOptions; bool m_sAMLOptionsHasBeenSet = false; Aws::Utils::DateTime m_anonymousAuthDisableDate; bool m_anonymousAuthDisableDateHasBeenSet = false; bool m_anonymousAuthEnabled; bool m_anonymousAuthEnabledHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws