This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

415 lines
15 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/quicksight/QuickSight_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/quicksight/model/UserRole.h>
#include <aws/quicksight/model/IdentityType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace QuickSight
{
namespace Model
{
/**
* <p>A registered user of Amazon QuickSight. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/User">AWS API
* Reference</a></p>
*/
class AWS_QUICKSIGHT_API User
{
public:
User();
User(Aws::Utils::Json::JsonView jsonValue);
User& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline const Aws::String& GetArn() const{ return m_arn; }
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline User& WithArn(const Aws::String& value) { SetArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline User& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the user.</p>
*/
inline User& WithArn(const char* value) { SetArn(value); return *this;}
/**
* <p>The user's user name.</p>
*/
inline const Aws::String& GetUserName() const{ return m_userName; }
/**
* <p>The user's user name.</p>
*/
inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
/**
* <p>The user's user name.</p>
*/
inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
/**
* <p>The user's user name.</p>
*/
inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
/**
* <p>The user's user name.</p>
*/
inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
/**
* <p>The user's user name.</p>
*/
inline User& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
/**
* <p>The user's user name.</p>
*/
inline User& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
/**
* <p>The user's user name.</p>
*/
inline User& WithUserName(const char* value) { SetUserName(value); return *this;}
/**
* <p>The user's email address.</p>
*/
inline const Aws::String& GetEmail() const{ return m_email; }
/**
* <p>The user's email address.</p>
*/
inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; }
/**
* <p>The user's email address.</p>
*/
inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; }
/**
* <p>The user's email address.</p>
*/
inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); }
/**
* <p>The user's email address.</p>
*/
inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); }
/**
* <p>The user's email address.</p>
*/
inline User& WithEmail(const Aws::String& value) { SetEmail(value); return *this;}
/**
* <p>The user's email address.</p>
*/
inline User& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;}
/**
* <p>The user's email address.</p>
*/
inline User& WithEmail(const char* value) { SetEmail(value); return *this;}
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline const UserRole& GetRole() const{ return m_role; }
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; }
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline void SetRole(const UserRole& value) { m_roleHasBeenSet = true; m_role = value; }
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline void SetRole(UserRole&& value) { m_roleHasBeenSet = true; m_role = std::move(value); }
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline User& WithRole(const UserRole& value) { SetRole(value); return *this;}
/**
* <p>The Amazon QuickSight role for the user. The user role can be one of the
* following:.</p> <ul> <li> <p> <code>READER</code>: A user who has read-only
* access to dashboards.</p> </li> <li> <p> <code>AUTHOR</code>: A user who can
* create data sources, datasets, analyses, and dashboards.</p> </li> <li> <p>
* <code>ADMIN</code>: A user who is an author, who can also manage Amazon
* QuickSight settings.</p> </li> <li> <p> <code>RESTRICTED_READER</code>: This
* role isn't currently available for use.</p> </li> <li> <p>
* <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p>
* </li> </ul>
*/
inline User& WithRole(UserRole&& value) { SetRole(std::move(value)); return *this;}
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline const IdentityType& GetIdentityType() const{ return m_identityType; }
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline bool IdentityTypeHasBeenSet() const { return m_identityTypeHasBeenSet; }
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline void SetIdentityType(const IdentityType& value) { m_identityTypeHasBeenSet = true; m_identityType = value; }
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline void SetIdentityType(IdentityType&& value) { m_identityTypeHasBeenSet = true; m_identityType = std::move(value); }
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline User& WithIdentityType(const IdentityType& value) { SetIdentityType(value); return *this;}
/**
* <p>The type of identity authentication used by the user.</p>
*/
inline User& WithIdentityType(IdentityType&& value) { SetIdentityType(std::move(value)); return *this;}
/**
* <p>The active status of user. When you create an Amazon QuickSight user thats
* not an IAM user or an Active Directory user, that user is inactive until they
* sign in and provide a password.</p>
*/
inline bool GetActive() const{ return m_active; }
/**
* <p>The active status of user. When you create an Amazon QuickSight user thats
* not an IAM user or an Active Directory user, that user is inactive until they
* sign in and provide a password.</p>
*/
inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; }
/**
* <p>The active status of user. When you create an Amazon QuickSight user thats
* not an IAM user or an Active Directory user, that user is inactive until they
* sign in and provide a password.</p>
*/
inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; }
/**
* <p>The active status of user. When you create an Amazon QuickSight user thats
* not an IAM user or an Active Directory user, that user is inactive until they
* sign in and provide a password.</p>
*/
inline User& WithActive(bool value) { SetActive(value); return *this;}
/**
* <p>The principal ID of the user.</p>
*/
inline const Aws::String& GetPrincipalId() const{ return m_principalId; }
/**
* <p>The principal ID of the user.</p>
*/
inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; }
/**
* <p>The principal ID of the user.</p>
*/
inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; }
/**
* <p>The principal ID of the user.</p>
*/
inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); }
/**
* <p>The principal ID of the user.</p>
*/
inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); }
/**
* <p>The principal ID of the user.</p>
*/
inline User& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;}
/**
* <p>The principal ID of the user.</p>
*/
inline User& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;}
/**
* <p>The principal ID of the user.</p>
*/
inline User& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;}
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline const Aws::String& GetCustomPermissionsName() const{ return m_customPermissionsName; }
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline bool CustomPermissionsNameHasBeenSet() const { return m_customPermissionsNameHasBeenSet; }
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline void SetCustomPermissionsName(const Aws::String& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = value; }
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline void SetCustomPermissionsName(Aws::String&& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = std::move(value); }
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline void SetCustomPermissionsName(const char* value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName.assign(value); }
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline User& WithCustomPermissionsName(const Aws::String& value) { SetCustomPermissionsName(value); return *this;}
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline User& WithCustomPermissionsName(Aws::String&& value) { SetCustomPermissionsName(std::move(value)); return *this;}
/**
* <p>The custom permissions profile associated with this user.</p>
*/
inline User& WithCustomPermissionsName(const char* value) { SetCustomPermissionsName(value); return *this;}
private:
Aws::String m_arn;
bool m_arnHasBeenSet;
Aws::String m_userName;
bool m_userNameHasBeenSet;
Aws::String m_email;
bool m_emailHasBeenSet;
UserRole m_role;
bool m_roleHasBeenSet;
IdentityType m_identityType;
bool m_identityTypeHasBeenSet;
bool m_active;
bool m_activeHasBeenSet;
Aws::String m_principalId;
bool m_principalIdHasBeenSet;
Aws::String m_customPermissionsName;
bool m_customPermissionsNameHasBeenSet;
};
} // namespace Model
} // namespace QuickSight
} // namespace Aws