/** * 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 SecurityHub { namespace Model { /** *

Provides information about domain access control options.

See * Also:

AWS * API Reference

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

Enables fine-grained access control.

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

Enables fine-grained access control.

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

Enables fine-grained access control.

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

Enables fine-grained access control.

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

Enables the internal user database.

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

Enables the internal user database.

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

Enables the internal user database.

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

Enables the internal user database.

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

Specifies information about the master user of the domain.

*/ inline const AwsOpenSearchServiceDomainMasterUserOptionsDetails& GetMasterUserOptions() const{ return m_masterUserOptions; } /** *

Specifies information about the master user of the domain.

*/ inline bool MasterUserOptionsHasBeenSet() const { return m_masterUserOptionsHasBeenSet; } /** *

Specifies information about the master user of the domain.

*/ inline void SetMasterUserOptions(const AwsOpenSearchServiceDomainMasterUserOptionsDetails& value) { m_masterUserOptionsHasBeenSet = true; m_masterUserOptions = value; } /** *

Specifies information about the master user of the domain.

*/ inline void SetMasterUserOptions(AwsOpenSearchServiceDomainMasterUserOptionsDetails&& value) { m_masterUserOptionsHasBeenSet = true; m_masterUserOptions = std::move(value); } /** *

Specifies information about the master user of the domain.

*/ inline AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails& WithMasterUserOptions(const AwsOpenSearchServiceDomainMasterUserOptionsDetails& value) { SetMasterUserOptions(value); return *this;} /** *

Specifies information about the master user of the domain.

*/ inline AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails& WithMasterUserOptions(AwsOpenSearchServiceDomainMasterUserOptionsDetails&& value) { SetMasterUserOptions(std::move(value)); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; bool m_internalUserDatabaseEnabled; bool m_internalUserDatabaseEnabledHasBeenSet = false; AwsOpenSearchServiceDomainMasterUserOptionsDetails m_masterUserOptions; bool m_masterUserOptionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws