/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 containing information about how this workspace works with SAML. *

See Also:

AWS * API Reference

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

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline const Aws::Vector& GetAllowedOrganizations() const{ return m_allowedOrganizations; } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline bool AllowedOrganizationsHasBeenSet() const { return m_allowedOrganizationsHasBeenSet; } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline void SetAllowedOrganizations(const Aws::Vector& value) { m_allowedOrganizationsHasBeenSet = true; m_allowedOrganizations = value; } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline void SetAllowedOrganizations(Aws::Vector&& value) { m_allowedOrganizationsHasBeenSet = true; m_allowedOrganizations = std::move(value); } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline SamlConfiguration& WithAllowedOrganizations(const Aws::Vector& value) { SetAllowedOrganizations(value); return *this;} /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline SamlConfiguration& WithAllowedOrganizations(Aws::Vector&& value) { SetAllowedOrganizations(std::move(value)); return *this;} /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline SamlConfiguration& AddAllowedOrganizations(const Aws::String& value) { m_allowedOrganizationsHasBeenSet = true; m_allowedOrganizations.push_back(value); return *this; } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline SamlConfiguration& AddAllowedOrganizations(Aws::String&& value) { m_allowedOrganizationsHasBeenSet = true; m_allowedOrganizations.push_back(std::move(value)); return *this; } /** *

Lists which organizations defined in the SAML assertion are allowed to use * the Amazon Managed Grafana workspace. If this is empty, all organizations in the * assertion attribute have access.

*/ inline SamlConfiguration& AddAllowedOrganizations(const char* value) { m_allowedOrganizationsHasBeenSet = true; m_allowedOrganizations.push_back(value); return *this; } /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline const AssertionAttributes& GetAssertionAttributes() const{ return m_assertionAttributes; } /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline bool AssertionAttributesHasBeenSet() const { return m_assertionAttributesHasBeenSet; } /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline void SetAssertionAttributes(const AssertionAttributes& value) { m_assertionAttributesHasBeenSet = true; m_assertionAttributes = value; } /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline void SetAssertionAttributes(AssertionAttributes&& value) { m_assertionAttributesHasBeenSet = true; m_assertionAttributes = std::move(value); } /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline SamlConfiguration& WithAssertionAttributes(const AssertionAttributes& value) { SetAssertionAttributes(value); return *this;} /** *

A structure that defines which attributes in the SAML assertion are to be * used to define information about the users authenticated by that IdP to use the * workspace.

*/ inline SamlConfiguration& WithAssertionAttributes(AssertionAttributes&& value) { SetAssertionAttributes(std::move(value)); return *this;} /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline const IdpMetadata& GetIdpMetadata() const{ return m_idpMetadata; } /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline bool IdpMetadataHasBeenSet() const { return m_idpMetadataHasBeenSet; } /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline void SetIdpMetadata(const IdpMetadata& value) { m_idpMetadataHasBeenSet = true; m_idpMetadata = value; } /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline void SetIdpMetadata(IdpMetadata&& value) { m_idpMetadataHasBeenSet = true; m_idpMetadata = std::move(value); } /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline SamlConfiguration& WithIdpMetadata(const IdpMetadata& value) { SetIdpMetadata(value); return *this;} /** *

A structure containing the identity provider (IdP) metadata used to integrate * the identity provider with this workspace.

*/ inline SamlConfiguration& WithIdpMetadata(IdpMetadata&& value) { SetIdpMetadata(std::move(value)); return *this;} /** *

How long a sign-on session by a SAML user is valid, before the user has to * sign on again.

*/ inline int GetLoginValidityDuration() const{ return m_loginValidityDuration; } /** *

How long a sign-on session by a SAML user is valid, before the user has to * sign on again.

*/ inline bool LoginValidityDurationHasBeenSet() const { return m_loginValidityDurationHasBeenSet; } /** *

How long a sign-on session by a SAML user is valid, before the user has to * sign on again.

*/ inline void SetLoginValidityDuration(int value) { m_loginValidityDurationHasBeenSet = true; m_loginValidityDuration = value; } /** *

How long a sign-on session by a SAML user is valid, before the user has to * sign on again.

*/ inline SamlConfiguration& WithLoginValidityDuration(int value) { SetLoginValidityDuration(value); return *this;} /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline const RoleValues& GetRoleValues() const{ return m_roleValues; } /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline bool RoleValuesHasBeenSet() const { return m_roleValuesHasBeenSet; } /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline void SetRoleValues(const RoleValues& value) { m_roleValuesHasBeenSet = true; m_roleValues = value; } /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline void SetRoleValues(RoleValues&& value) { m_roleValuesHasBeenSet = true; m_roleValues = std::move(value); } /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline SamlConfiguration& WithRoleValues(const RoleValues& value) { SetRoleValues(value); return *this;} /** *

A structure containing arrays that map group names in the SAML assertion to * the Grafana Admin and Editor roles in the * workspace.

*/ inline SamlConfiguration& WithRoleValues(RoleValues&& value) { SetRoleValues(std::move(value)); return *this;} private: Aws::Vector m_allowedOrganizations; bool m_allowedOrganizationsHasBeenSet = false; AssertionAttributes m_assertionAttributes; bool m_assertionAttributesHasBeenSet = false; IdpMetadata m_idpMetadata; bool m_idpMetadataHasBeenSet = false; int m_loginValidityDuration; bool m_loginValidityDurationHasBeenSet = false; RoleValues m_roleValues; bool m_roleValuesHasBeenSet = false; }; } // namespace Model } // namespace ManagedGrafana } // namespace Aws