/*
* 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
{
///
/// Container for the parameters to the RegisterUser operation.
/// Creates an Amazon QuickSight user whose identity is associated with the Identity and
/// Access Management (IAM) identity or role specified in the request. When you register
/// a new user from the Amazon QuickSight API, Amazon QuickSight generates a registration
/// URL. The user accesses this registration URL to create their account. Amazon QuickSight
/// doesn't send a registration email to users who are registered from the Amazon QuickSight
/// API. If you want new users to receive a registration email, then add those users in
/// the Amazon QuickSight console. For more information on registering a new user in the
/// Amazon QuickSight console, see
/// Inviting users to access Amazon QuickSight.
///
public partial class RegisterUserRequest : AmazonQuickSightRequest
{
private string _awsAccountId;
private string _customFederationProviderUrl;
private string _customPermissionsName;
private string _email;
private string _externalLoginFederationProviderType;
private string _externalLoginId;
private string _iamArn;
private IdentityType _identityType;
private string _awsNamespace;
private string _sessionName;
private string _userName;
private UserRole _userRole;
///
/// Gets and sets the property AwsAccountId.
///
/// The ID for the Amazon Web Services account that the user is in. Currently, you use
/// the ID for the Amazon Web Services account that contains your Amazon QuickSight account.
///
///
[AWSProperty(Required=true, Min=12, Max=12)]
public string AwsAccountId
{
get { return this._awsAccountId; }
set { this._awsAccountId = value; }
}
// Check to see if AwsAccountId property is set
internal bool IsSetAwsAccountId()
{
return this._awsAccountId != null;
}
///
/// Gets and sets the property CustomFederationProviderUrl.
///
/// The URL of the custom OpenID Connect (OIDC) provider that provides identity to let
/// a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM)
/// role. This parameter should only be used when ExternalLoginFederationProviderType
/// parameter is set to CUSTOM_OIDC.
///
///
public string CustomFederationProviderUrl
{
get { return this._customFederationProviderUrl; }
set { this._customFederationProviderUrl = value; }
}
// Check to see if CustomFederationProviderUrl property is set
internal bool IsSetCustomFederationProviderUrl()
{
return this._customFederationProviderUrl != null;
}
///
/// Gets and sets the property CustomPermissionsName.
///
/// (Enterprise edition only) The name of the custom permissions profile that you want
/// to assign to this user. Customized permissions allows you to control a user's access
/// by restricting access the following operations:
///
/// -
///
/// Create and update data sources
///
///
-
///
/// Create and update datasets
///
///
-
///
/// Create and update email reports
///
///
-
///
/// Subscribe to email reports
///
///
///
/// To add custom permissions to an existing user, use UpdateUser
/// instead.
///
///
///
/// A set of custom permissions includes any combination of these restrictions. Currently,
/// you need to create the profile names for custom permission sets by using the Amazon
/// QuickSight console. Then, you use the RegisterUser API operation to assign
/// the named set of permissions to a Amazon QuickSight user.
///
///
///
/// Amazon QuickSight custom permissions are applied through IAM policies. Therefore,
/// they override the permissions typically granted by assigning Amazon QuickSight users
/// to one of the default security cohorts in Amazon QuickSight (admin, author, reader).
///
///
///
/// This feature is available only to Amazon QuickSight Enterprise edition subscriptions.
///
///
[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 email address of the user that you want to register.
///
///
[AWSProperty(Required=true)]
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 a user
/// federate into Amazon QuickSight with an associated Identity and Access Management(IAM)
/// role. The type of supported external login provider can be one of the following.
///
/// -
///
///
COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.
/// When choosing the COGNITO provider type, don’t use the "CustomFederationProviderUrl"
/// parameter which is only needed when the external provider is custom.
///
/// -
///
///
CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider. When choosing CUSTOM_OIDC
/// type, use the CustomFederationProviderUrl parameter to provide the custom
/// OIDC provider URL.
///
///
///
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 ExternalLoginId.
///
/// The identity ID for a 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 IamArn.
///
/// The ARN of the IAM user or role that you are registering with Amazon QuickSight.
///
///
public string IamArn
{
get { return this._iamArn; }
set { this._iamArn = value; }
}
// Check to see if IamArn property is set
internal bool IsSetIamArn()
{
return this._iamArn != null;
}
///
/// Gets and sets the property IdentityType.
///
/// Amazon QuickSight supports several ways of managing the identity of users. This parameter
/// accepts two values:
///
/// -
///
///
IAM: A user whose identity maps to an existing IAM user or role.
///
/// -
///
///
QUICKSIGHT: A user whose identity is owned and managed internally by
/// Amazon QuickSight.
///
///
///
[AWSProperty(Required=true)]
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 Namespace.
///
/// The namespace. Currently, you should set this to default.
///
///
[AWSProperty(Required=true, Max=64)]
public string Namespace
{
get { return this._awsNamespace; }
set { this._awsNamespace = value; }
}
// Check to see if Namespace property is set
internal bool IsSetNamespace()
{
return this._awsNamespace != null;
}
///
/// Gets and sets the property SessionName.
///
/// You need to use this parameter only when you register one or more users using an assumed
/// IAM role. You don't need to provide the session name for other scenarios, for example
/// when you are registering an IAM user or an Amazon QuickSight user. You can register
/// multiple users using the same IAM role if each user has a different session name.
/// For more information on assuming IAM roles, see
/// assume-role in the CLI Reference.
///
///
[AWSProperty(Min=2, Max=64)]
public string SessionName
{
get { return this._sessionName; }
set { this._sessionName = value; }
}
// Check to see if SessionName property is set
internal bool IsSetSessionName()
{
return this._sessionName != null;
}
///
/// Gets and sets the property UserName.
///
/// The Amazon QuickSight user name that you want to create for the user you are registering.
///
///
[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;
}
///
/// Gets and sets the property UserRole.
///
/// 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 QuickSight
/// settings.
///
/// -
///
///
RESTRICTED_READER: This role isn't currently available for use.
///
/// -
///
///
RESTRICTED_AUTHOR: This role isn't currently available for use.
///
///
///
[AWSProperty(Required=true)]
public UserRole UserRole
{
get { return this._userRole; }
set { this._userRole = value; }
}
// Check to see if UserRole property is set
internal bool IsSetUserRole()
{
return this._userRole != null;
}
}
}