/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the advanced security configuration: whether advanced security is
* enabled, whether the internal database option is enabled, master username and
* password (if internal database is enabled), and master user ARN (if IAM is
* enabled).See Also:
AWS
* API Reference
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 AdvancedSecurityOptionsInput& 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 AdvancedSecurityOptionsInput& WithInternalUserDatabaseEnabled(bool value) { SetInternalUserDatabaseEnabled(value); return *this;} /** *Credentials for the master user: username and password, ARN, or both.
*/ inline const MasterUserOptions& GetMasterUserOptions() const{ return m_masterUserOptions; } /** *Credentials for the master user: username and password, ARN, or both.
*/ inline bool MasterUserOptionsHasBeenSet() const { return m_masterUserOptionsHasBeenSet; } /** *Credentials for the master user: username and password, ARN, or both.
*/ inline void SetMasterUserOptions(const MasterUserOptions& value) { m_masterUserOptionsHasBeenSet = true; m_masterUserOptions = value; } /** *Credentials for the master user: username and password, ARN, or both.
*/ inline void SetMasterUserOptions(MasterUserOptions&& value) { m_masterUserOptionsHasBeenSet = true; m_masterUserOptions = std::move(value); } /** *Credentials for the master user: username and password, ARN, or both.
*/ inline AdvancedSecurityOptionsInput& WithMasterUserOptions(const MasterUserOptions& value) { SetMasterUserOptions(value); return *this;} /** *Credentials for the master user: username and password, ARN, or both.
*/ inline AdvancedSecurityOptionsInput& WithMasterUserOptions(MasterUserOptions&& value) { SetMasterUserOptions(std::move(value)); return *this;} /** *Specifies the SAML application configuration for the domain.
*/ inline const SAMLOptionsInput& GetSAMLOptions() const{ return m_sAMLOptions; } /** *Specifies the SAML application configuration for the domain.
*/ inline bool SAMLOptionsHasBeenSet() const { return m_sAMLOptionsHasBeenSet; } /** *Specifies the SAML application configuration for the domain.
*/ inline void SetSAMLOptions(const SAMLOptionsInput& value) { m_sAMLOptionsHasBeenSet = true; m_sAMLOptions = value; } /** *Specifies the SAML application configuration for the domain.
*/ inline void SetSAMLOptions(SAMLOptionsInput&& value) { m_sAMLOptionsHasBeenSet = true; m_sAMLOptions = std::move(value); } /** *Specifies the SAML application configuration for the domain.
*/ inline AdvancedSecurityOptionsInput& WithSAMLOptions(const SAMLOptionsInput& value) { SetSAMLOptions(value); return *this;} /** *Specifies the SAML application configuration for the domain.
*/ inline AdvancedSecurityOptionsInput& WithSAMLOptions(SAMLOptionsInput&& value) { SetSAMLOptions(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 AdvancedSecurityOptionsInput& WithAnonymousAuthEnabled(bool value) { SetAnonymousAuthEnabled(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; bool m_internalUserDatabaseEnabled; bool m_internalUserDatabaseEnabledHasBeenSet = false; MasterUserOptions m_masterUserOptions; bool m_masterUserOptionsHasBeenSet = false; SAMLOptionsInput m_sAMLOptions; bool m_sAMLOptionsHasBeenSet = false; bool m_anonymousAuthEnabled; bool m_anonymousAuthEnabledHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws