/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace QuickSight { namespace Model { /** */ class RegisterUserRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API RegisterUserRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RegisterUser"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; /** *

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.

*/ inline const IdentityType& GetIdentityType() const{ return m_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.

*/ inline bool IdentityTypeHasBeenSet() const { return m_identityTypeHasBeenSet; } /** *

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.

*/ inline void SetIdentityType(const IdentityType& value) { m_identityTypeHasBeenSet = true; m_identityType = value; } /** *

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.

*/ inline void SetIdentityType(IdentityType&& value) { m_identityTypeHasBeenSet = true; m_identityType = std::move(value); } /** *

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.

*/ inline RegisterUserRequest& WithIdentityType(const IdentityType& value) { SetIdentityType(value); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithIdentityType(IdentityType&& value) { SetIdentityType(std::move(value)); return *this;} /** *

The email address of the user that you want to register.

*/ inline const Aws::String& GetEmail() const{ return m_email; } /** *

The email address of the user that you want to register.

*/ inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } /** *

The email address of the user that you want to register.

*/ inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } /** *

The email address of the user that you want to register.

*/ inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } /** *

The email address of the user that you want to register.

*/ inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } /** *

The email address of the user that you want to register.

*/ inline RegisterUserRequest& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} /** *

The email address of the user that you want to register.

*/ inline RegisterUserRequest& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} /** *

The email address of the user that you want to register.

*/ inline RegisterUserRequest& WithEmail(const char* value) { SetEmail(value); return *this;} /** *

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.

    *
*/ inline const UserRole& GetUserRole() const{ return m_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.

    *
*/ inline bool UserRoleHasBeenSet() const { return m_userRoleHasBeenSet; } /** *

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.

    *
*/ inline void SetUserRole(const UserRole& value) { m_userRoleHasBeenSet = true; m_userRole = value; } /** *

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.

    *
*/ inline void SetUserRole(UserRole&& value) { m_userRoleHasBeenSet = true; m_userRole = std::move(value); } /** *

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.

    *
*/ inline RegisterUserRequest& WithUserRole(const UserRole& value) { SetUserRole(value); return *this;} /** *

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.

    *
*/ inline RegisterUserRequest& WithUserRole(UserRole&& value) { SetUserRole(std::move(value)); return *this;} /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline const Aws::String& GetIamArn() const{ return m_iamArn; } /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline bool IamArnHasBeenSet() const { return m_iamArnHasBeenSet; } /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline void SetIamArn(const Aws::String& value) { m_iamArnHasBeenSet = true; m_iamArn = value; } /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline void SetIamArn(Aws::String&& value) { m_iamArnHasBeenSet = true; m_iamArn = std::move(value); } /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline void SetIamArn(const char* value) { m_iamArnHasBeenSet = true; m_iamArn.assign(value); } /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline RegisterUserRequest& WithIamArn(const Aws::String& value) { SetIamArn(value); return *this;} /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline RegisterUserRequest& WithIamArn(Aws::String&& value) { SetIamArn(std::move(value)); return *this;} /** *

The ARN of the IAM user or role that you are registering with Amazon * QuickSight.

*/ inline RegisterUserRequest& WithIamArn(const char* value) { SetIamArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetSessionName() const{ return m_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.

*/ inline bool SessionNameHasBeenSet() const { return m_sessionNameHasBeenSet; } /** *

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.

*/ inline void SetSessionName(const Aws::String& value) { m_sessionNameHasBeenSet = true; m_sessionName = value; } /** *

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.

*/ inline void SetSessionName(Aws::String&& value) { m_sessionNameHasBeenSet = true; m_sessionName = std::move(value); } /** *

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.

*/ inline void SetSessionName(const char* value) { m_sessionNameHasBeenSet = true; m_sessionName.assign(value); } /** *

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.

*/ inline RegisterUserRequest& WithSessionName(const Aws::String& value) { SetSessionName(value); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithSessionName(Aws::String&& value) { SetSessionName(std::move(value)); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithSessionName(const char* value) { SetSessionName(value); return *this;} /** *

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.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_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.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

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.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

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.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

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.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

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.

*/ inline RegisterUserRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace. Currently, you should set this to default.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace. Currently, you should set this to default.

*/ inline RegisterUserRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline RegisterUserRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline RegisterUserRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline const Aws::String& GetUserName() const{ return m_userName; } /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline RegisterUserRequest& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline RegisterUserRequest& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} /** *

The Amazon QuickSight user name that you want to create for the user you are * registering.

*/ inline RegisterUserRequest& WithUserName(const char* value) { SetUserName(value); return *this;} /** *

(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.

*/ inline const Aws::String& GetCustomPermissionsName() const{ return m_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.

*/ inline bool CustomPermissionsNameHasBeenSet() const { return m_customPermissionsNameHasBeenSet; } /** *

(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.

*/ inline void SetCustomPermissionsName(const Aws::String& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = value; } /** *

(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.

*/ inline void SetCustomPermissionsName(Aws::String&& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = std::move(value); } /** *

(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.

*/ inline void SetCustomPermissionsName(const char* value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName.assign(value); } /** *

(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.

*/ inline RegisterUserRequest& WithCustomPermissionsName(const Aws::String& value) { SetCustomPermissionsName(value); return *this;} /** *

(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.

*/ inline RegisterUserRequest& WithCustomPermissionsName(Aws::String&& value) { SetCustomPermissionsName(std::move(value)); return *this;} /** *

(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.

*/ inline RegisterUserRequest& WithCustomPermissionsName(const char* value) { SetCustomPermissionsName(value); return *this;} /** *

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.

*/ inline const Aws::String& GetExternalLoginFederationProviderType() const{ return m_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.

*/ inline bool ExternalLoginFederationProviderTypeHasBeenSet() const { return m_externalLoginFederationProviderTypeHasBeenSet; } /** *

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.

*/ inline void SetExternalLoginFederationProviderType(const Aws::String& value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType = value; } /** *

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.

*/ inline void SetExternalLoginFederationProviderType(Aws::String&& value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType = std::move(value); } /** *

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.

*/ inline void SetExternalLoginFederationProviderType(const char* value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType.assign(value); } /** *

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.

*/ inline RegisterUserRequest& WithExternalLoginFederationProviderType(const Aws::String& value) { SetExternalLoginFederationProviderType(value); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithExternalLoginFederationProviderType(Aws::String&& value) { SetExternalLoginFederationProviderType(std::move(value)); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithExternalLoginFederationProviderType(const char* value) { SetExternalLoginFederationProviderType(value); return *this;} /** *

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.

*/ inline const Aws::String& GetCustomFederationProviderUrl() const{ return m_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.

*/ inline bool CustomFederationProviderUrlHasBeenSet() const { return m_customFederationProviderUrlHasBeenSet; } /** *

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.

*/ inline void SetCustomFederationProviderUrl(const Aws::String& value) { m_customFederationProviderUrlHasBeenSet = true; m_customFederationProviderUrl = value; } /** *

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.

*/ inline void SetCustomFederationProviderUrl(Aws::String&& value) { m_customFederationProviderUrlHasBeenSet = true; m_customFederationProviderUrl = std::move(value); } /** *

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.

*/ inline void SetCustomFederationProviderUrl(const char* value) { m_customFederationProviderUrlHasBeenSet = true; m_customFederationProviderUrl.assign(value); } /** *

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.

*/ inline RegisterUserRequest& WithCustomFederationProviderUrl(const Aws::String& value) { SetCustomFederationProviderUrl(value); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithCustomFederationProviderUrl(Aws::String&& value) { SetCustomFederationProviderUrl(std::move(value)); return *this;} /** *

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.

*/ inline RegisterUserRequest& WithCustomFederationProviderUrl(const char* value) { SetCustomFederationProviderUrl(value); return *this;} /** *

The identity ID for a user in the external login provider.

*/ inline const Aws::String& GetExternalLoginId() const{ return m_externalLoginId; } /** *

The identity ID for a user in the external login provider.

*/ inline bool ExternalLoginIdHasBeenSet() const { return m_externalLoginIdHasBeenSet; } /** *

The identity ID for a user in the external login provider.

*/ inline void SetExternalLoginId(const Aws::String& value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId = value; } /** *

The identity ID for a user in the external login provider.

*/ inline void SetExternalLoginId(Aws::String&& value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId = std::move(value); } /** *

The identity ID for a user in the external login provider.

*/ inline void SetExternalLoginId(const char* value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId.assign(value); } /** *

The identity ID for a user in the external login provider.

*/ inline RegisterUserRequest& WithExternalLoginId(const Aws::String& value) { SetExternalLoginId(value); return *this;} /** *

The identity ID for a user in the external login provider.

*/ inline RegisterUserRequest& WithExternalLoginId(Aws::String&& value) { SetExternalLoginId(std::move(value)); return *this;} /** *

The identity ID for a user in the external login provider.

*/ inline RegisterUserRequest& WithExternalLoginId(const char* value) { SetExternalLoginId(value); return *this;} private: IdentityType m_identityType; bool m_identityTypeHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; UserRole m_userRole; bool m_userRoleHasBeenSet = false; Aws::String m_iamArn; bool m_iamArnHasBeenSet = false; Aws::String m_sessionName; bool m_sessionNameHasBeenSet = false; Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; Aws::String m_customPermissionsName; bool m_customPermissionsNameHasBeenSet = false; Aws::String m_externalLoginFederationProviderType; bool m_externalLoginFederationProviderTypeHasBeenSet = false; Aws::String m_customFederationProviderUrl; bool m_customFederationProviderUrlHasBeenSet = false; Aws::String m_externalLoginId; bool m_externalLoginIdHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws