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

A structure that describes whether the workspace uses SAML, IAM Identity * Center, or both methods for user authentication, and whether that authentication * is fully configured.

See Also:

AWS * API Reference

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

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline const Aws::Vector& GetProviders() const{ return m_providers; } /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline bool ProvidersHasBeenSet() const { return m_providersHasBeenSet; } /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline void SetProviders(const Aws::Vector& value) { m_providersHasBeenSet = true; m_providers = value; } /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline void SetProviders(Aws::Vector&& value) { m_providersHasBeenSet = true; m_providers = std::move(value); } /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline AuthenticationSummary& WithProviders(const Aws::Vector& value) { SetProviders(value); return *this;} /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline AuthenticationSummary& WithProviders(Aws::Vector&& value) { SetProviders(std::move(value)); return *this;} /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline AuthenticationSummary& AddProviders(const AuthenticationProviderTypes& value) { m_providersHasBeenSet = true; m_providers.push_back(value); return *this; } /** *

Specifies whether the workspace uses SAML, IAM Identity Center, or both * methods for user authentication.

*/ inline AuthenticationSummary& AddProviders(AuthenticationProviderTypes&& value) { m_providersHasBeenSet = true; m_providers.push_back(std::move(value)); return *this; } /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline const SamlConfigurationStatus& GetSamlConfigurationStatus() const{ return m_samlConfigurationStatus; } /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline bool SamlConfigurationStatusHasBeenSet() const { return m_samlConfigurationStatusHasBeenSet; } /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline void SetSamlConfigurationStatus(const SamlConfigurationStatus& value) { m_samlConfigurationStatusHasBeenSet = true; m_samlConfigurationStatus = value; } /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline void SetSamlConfigurationStatus(SamlConfigurationStatus&& value) { m_samlConfigurationStatusHasBeenSet = true; m_samlConfigurationStatus = std::move(value); } /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline AuthenticationSummary& WithSamlConfigurationStatus(const SamlConfigurationStatus& value) { SetSamlConfigurationStatus(value); return *this;} /** *

Specifies whether the workplace's user authentication method is fully * configured.

*/ inline AuthenticationSummary& WithSamlConfigurationStatus(SamlConfigurationStatus&& value) { SetSamlConfigurationStatus(std::move(value)); return *this;} private: Aws::Vector m_providers; bool m_providersHasBeenSet = false; SamlConfigurationStatus m_samlConfigurationStatus; bool m_samlConfigurationStatusHasBeenSet = false; }; } // namespace Model } // namespace ManagedGrafana } // namespace Aws