/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the grafana-2020-08-18.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ManagedGrafana.Model
{
///
/// A structure containing information about how this workspace works with SAML.
///
public partial class SamlConfiguration
{
private List _allowedOrganizations = new List();
private AssertionAttributes _assertionAttributes;
private IdpMetadata _idpMetadata;
private int? _loginValidityDuration;
private RoleValues _roleValues;
///
/// Gets and sets the property 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.
///
///
public List AllowedOrganizations
{
get { return this._allowedOrganizations; }
set { this._allowedOrganizations = value; }
}
// Check to see if AllowedOrganizations property is set
internal bool IsSetAllowedOrganizations()
{
return this._allowedOrganizations != null && this._allowedOrganizations.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public AssertionAttributes AssertionAttributes
{
get { return this._assertionAttributes; }
set { this._assertionAttributes = value; }
}
// Check to see if AssertionAttributes property is set
internal bool IsSetAssertionAttributes()
{
return this._assertionAttributes != null;
}
///
/// Gets and sets the property IdpMetadata.
///
/// A structure containing the identity provider (IdP) metadata used to integrate the
/// identity provider with this workspace.
///
///
[AWSProperty(Required=true)]
public IdpMetadata IdpMetadata
{
get { return this._idpMetadata; }
set { this._idpMetadata = value; }
}
// Check to see if IdpMetadata property is set
internal bool IsSetIdpMetadata()
{
return this._idpMetadata != null;
}
///
/// Gets and sets the property LoginValidityDuration.
///
/// How long a sign-on session by a SAML user is valid, before the user has to sign on
/// again.
///
///
public int LoginValidityDuration
{
get { return this._loginValidityDuration.GetValueOrDefault(); }
set { this._loginValidityDuration = value; }
}
// Check to see if LoginValidityDuration property is set
internal bool IsSetLoginValidityDuration()
{
return this._loginValidityDuration.HasValue;
}
///
/// Gets and sets the property RoleValues.
///
/// A structure containing arrays that map group names in the SAML assertion to the Grafana
/// Admin
and Editor
roles in the workspace.
///
///
public RoleValues RoleValues
{
get { return this._roleValues; }
set { this._roleValues = value; }
}
// Check to see if RoleValues property is set
internal bool IsSetRoleValues()
{
return this._roleValues != null;
}
}
}