/*
* 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 finspace-data-2020-07-13.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.FinSpaceData.Model
{
///
/// The structure of a user account associated with a permission group.
///
public partial class UserByPermissionGroup
{
private ApiAccess _apiAccess;
private string _apiAccessPrincipalArn;
private string _emailAddress;
private string _firstName;
private string _lastName;
private PermissionGroupMembershipStatus _membershipStatus;
private UserStatus _status;
private UserType _type;
private string _userId;
///
/// Gets and sets the property ApiAccess.
///
/// Indicates whether the user can access FinSpace API operations.
///
/// -
///
///
ENABLED
– The user has permissions to use the API operations.
///
/// -
///
///
DISABLED
– The user does not have permissions to use any API operations.
///
///
///
public ApiAccess ApiAccess
{
get { return this._apiAccess; }
set { this._apiAccess = value; }
}
// Check to see if ApiAccess property is set
internal bool IsSetApiAccess()
{
return this._apiAccess != null;
}
///
/// Gets and sets the property ApiAccessPrincipalArn.
///
/// The IAM ARN identifier that is attached to FinSpace API calls.
///
///
[AWSProperty(Min=20, Max=2048)]
public string ApiAccessPrincipalArn
{
get { return this._apiAccessPrincipalArn; }
set { this._apiAccessPrincipalArn = value; }
}
// Check to see if ApiAccessPrincipalArn property is set
internal bool IsSetApiAccessPrincipalArn()
{
return this._apiAccessPrincipalArn != null;
}
///
/// Gets and sets the property EmailAddress.
///
/// The email address of the user. The email address serves as a unique identifier for
/// each user and cannot be changed after it's created.
///
///
[AWSProperty(Sensitive=true, Min=4, Max=320)]
public string EmailAddress
{
get { return this._emailAddress; }
set { this._emailAddress = value; }
}
// Check to see if EmailAddress property is set
internal bool IsSetEmailAddress()
{
return this._emailAddress != null;
}
///
/// Gets and sets the property FirstName.
///
/// The first name of the user.
///
///
[AWSProperty(Sensitive=true, Min=1, Max=50)]
public string FirstName
{
get { return this._firstName; }
set { this._firstName = value; }
}
// Check to see if FirstName property is set
internal bool IsSetFirstName()
{
return this._firstName != null;
}
///
/// Gets and sets the property LastName.
///
/// The last name of the user.
///
///
[AWSProperty(Sensitive=true, Min=1, Max=50)]
public string LastName
{
get { return this._lastName; }
set { this._lastName = value; }
}
// Check to see if LastName property is set
internal bool IsSetLastName()
{
return this._lastName != null;
}
///
/// Gets and sets the property MembershipStatus.
///
/// Indicates the status of the user account within a permission group.
///
/// -
///
///
ADDITION_IN_PROGRESS
– The user account is currently being added to
/// the permission group.
///
/// -
///
///
ADDITION_SUCCESS
– The user account is successfully added to the permission
/// group.
///
/// -
///
///
REMOVAL_IN_PROGRESS
– The user is currently being removed from the permission
/// group.
///
///
///
public PermissionGroupMembershipStatus MembershipStatus
{
get { return this._membershipStatus; }
set { this._membershipStatus = value; }
}
// Check to see if MembershipStatus property is set
internal bool IsSetMembershipStatus()
{
return this._membershipStatus != null;
}
///
/// Gets and sets the property Status.
///
/// The current status of the user account.
///
/// -
///
///
CREATING
– The user account creation is in progress.
///
/// -
///
///
ENABLED
– The user account is created and is currently active.
///
/// -
///
///
DISABLED
– The user account is currently inactive.
///
///
///
public UserStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Type.
///
/// Indicates the type of user.
///
/// -
///
///
SUPER_USER
– A user with permission to all the functionality and data
/// in FinSpace.
///
/// -
///
///
APP_USER
– A user with specific permissions in FinSpace. The users are
/// assigned permissions by adding them to a permission group.
///
///
///
public UserType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property UserId.
///
/// The unique identifier for the user.
///
///
[AWSProperty(Min=1, Max=26)]
public string UserId
{
get { return this._userId; }
set { this._userId = value; }
}
// Check to see if UserId property is set
internal bool IsSetUserId()
{
return this._userId != null;
}
}
}