/*
* 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 quicksight-2018-04-01.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.QuickSight.Model
{
///
/// A registered user of Amazon QuickSight.
///
public partial class User
{
private bool? _active;
private string _arn;
private string _customPermissionsName;
private string _email;
private string _externalLoginFederationProviderType;
private string _externalLoginFederationProviderUrl;
private string _externalLoginId;
private IdentityType _identityType;
private string _principalId;
private UserRole _role;
private string _userName;
///
/// Gets and sets the property Active.
///
/// The active status of user. When you create an Amazon QuickSight user that's not an
/// IAM user or an Active Directory user, that user is inactive until they sign in and
/// provide a password.
///
///
public bool Active
{
get { return this._active.GetValueOrDefault(); }
set { this._active = value; }
}
// Check to see if Active property is set
internal bool IsSetActive()
{
return this._active.HasValue;
}
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) for the user.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property CustomPermissionsName.
///
/// The custom permissions profile associated with this user.
///
///
[AWSProperty(Min=1, Max=64)]
public string CustomPermissionsName
{
get { return this._customPermissionsName; }
set { this._customPermissionsName = value; }
}
// Check to see if CustomPermissionsName property is set
internal bool IsSetCustomPermissionsName()
{
return this._customPermissionsName != null;
}
///
/// Gets and sets the property Email.
///
/// The user's email address.
///
///
public string Email
{
get { return this._email; }
set { this._email = value; }
}
// Check to see if Email property is set
internal bool IsSetEmail()
{
return this._email != null;
}
///
/// Gets and sets the property ExternalLoginFederationProviderType.
///
/// The type of supported external login provider that provides identity to let the user
/// federate into Amazon QuickSight with an associated IAM role. The type can be one of
/// the following.
///
/// -
///
///
COGNITO
: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.
///
/// -
///
///
CUSTOM_OIDC
: Custom OpenID Connect (OIDC) provider.
///
///
///
public string ExternalLoginFederationProviderType
{
get { return this._externalLoginFederationProviderType; }
set { this._externalLoginFederationProviderType = value; }
}
// Check to see if ExternalLoginFederationProviderType property is set
internal bool IsSetExternalLoginFederationProviderType()
{
return this._externalLoginFederationProviderType != null;
}
///
/// Gets and sets the property ExternalLoginFederationProviderUrl.
///
/// The URL of the external login provider.
///
///
public string ExternalLoginFederationProviderUrl
{
get { return this._externalLoginFederationProviderUrl; }
set { this._externalLoginFederationProviderUrl = value; }
}
// Check to see if ExternalLoginFederationProviderUrl property is set
internal bool IsSetExternalLoginFederationProviderUrl()
{
return this._externalLoginFederationProviderUrl != null;
}
///
/// Gets and sets the property ExternalLoginId.
///
/// The identity ID for the user in the external login provider.
///
///
public string ExternalLoginId
{
get { return this._externalLoginId; }
set { this._externalLoginId = value; }
}
// Check to see if ExternalLoginId property is set
internal bool IsSetExternalLoginId()
{
return this._externalLoginId != null;
}
///
/// Gets and sets the property IdentityType.
///
/// The type of identity authentication used by the user.
///
///
public IdentityType IdentityType
{
get { return this._identityType; }
set { this._identityType = value; }
}
// Check to see if IdentityType property is set
internal bool IsSetIdentityType()
{
return this._identityType != null;
}
///
/// Gets and sets the property PrincipalId.
///
/// The principal ID of the user.
///
///
public string PrincipalId
{
get { return this._principalId; }
set { this._principalId = value; }
}
// Check to see if PrincipalId property is set
internal bool IsSetPrincipalId()
{
return this._principalId != null;
}
///
/// Gets and sets the property Role.
///
/// The Amazon QuickSight role for the user. The user role can be one of the following:.
///
/// -
///
///
READER
: A user who has read-only access to dashboards.
///
/// -
///
///
AUTHOR
: A user who can create data sources, datasets, analyses, and
/// dashboards.
///
/// -
///
///
ADMIN
: A user who is an author, who can also manage Amazon Amazon QuickSight
/// settings.
///
/// -
///
///
RESTRICTED_READER
: This role isn't currently available for use.
///
/// -
///
///
RESTRICTED_AUTHOR
: This role isn't currently available for use.
///
///
///
public UserRole Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property UserName.
///
/// The user's user name. This value is required if you are registering a user that will
/// be managed in Amazon QuickSight. In the output, the value for UserName
/// is N/A
when the value for IdentityType
is IAM
/// and the corresponding IAM user is deleted.
///
///
[AWSProperty(Min=1)]
public string UserName
{
get { return this._userName; }
set { this._userName = value; }
}
// Check to see if UserName property is set
internal bool IsSetUserName()
{
return this._userName != null;
}
}
}