/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace FinSpaceData { namespace Model { /** */ class CreateUserRequest : public FinSpaceDataRequest { public: AWS_FINSPACEDATA_API CreateUserRequest(); // 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 "CreateUser"; } AWS_FINSPACEDATA_API Aws::String SerializePayload() const override; /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline CreateUserRequest& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline CreateUserRequest& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} /** *

The email address of the user that you want to register. The email address * serves as a uniquer identifier for each user and cannot be changed after it's * created.

*/ inline CreateUserRequest& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline const UserType& GetType() const{ return m_type; } /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline void SetType(const UserType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline void SetType(UserType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline CreateUserRequest& WithType(const UserType& value) { SetType(value); return *this;} /** *

The option to indicate the type of user. Use one of the following options to * specify this parameter:

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

*/ inline CreateUserRequest& WithType(UserType&& value) { SetType(std::move(value)); return *this;} /** *

The first name of the user that you want to register.

*/ inline const Aws::String& GetFirstName() const{ return m_firstName; } /** *

The first name of the user that you want to register.

*/ inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; } /** *

The first name of the user that you want to register.

*/ inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; } /** *

The first name of the user that you want to register.

*/ inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); } /** *

The first name of the user that you want to register.

*/ inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); } /** *

The first name of the user that you want to register.

*/ inline CreateUserRequest& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;} /** *

The first name of the user that you want to register.

*/ inline CreateUserRequest& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;} /** *

The first name of the user that you want to register.

*/ inline CreateUserRequest& WithFirstName(const char* value) { SetFirstName(value); return *this;} /** *

The last name of the user that you want to register.

*/ inline const Aws::String& GetLastName() const{ return m_lastName; } /** *

The last name of the user that you want to register.

*/ inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; } /** *

The last name of the user that you want to register.

*/ inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; } /** *

The last name of the user that you want to register.

*/ inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); } /** *

The last name of the user that you want to register.

*/ inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); } /** *

The last name of the user that you want to register.

*/ inline CreateUserRequest& WithLastName(const Aws::String& value) { SetLastName(value); return *this;} /** *

The last name of the user that you want to register.

*/ inline CreateUserRequest& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;} /** *

The last name of the user that you want to register.

*/ inline CreateUserRequest& WithLastName(const char* value) { SetLastName(value); return *this;} /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline const ApiAccess& GetApiAccess() const{ return m_apiAccess; } /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline bool ApiAccessHasBeenSet() const { return m_apiAccessHasBeenSet; } /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline void SetApiAccess(const ApiAccess& value) { m_apiAccessHasBeenSet = true; m_apiAccess = value; } /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline void SetApiAccess(ApiAccess&& value) { m_apiAccessHasBeenSet = true; m_apiAccess = std::move(value); } /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline CreateUserRequest& WithApiAccess(const ApiAccess& value) { SetApiAccess(value); return *this;} /** *

The option to indicate whether the user can use the * GetProgrammaticAccessCredentials API to obtain credentials that can * then be used to access other FinSpace Data API operations.

  • * ENABLED – The user has permissions to use the APIs.

  • *

    DISABLED – The user does not have permissions to use any * APIs.

*/ inline CreateUserRequest& WithApiAccess(ApiAccess&& value) { SetApiAccess(std::move(value)); return *this;} /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline const Aws::String& GetApiAccessPrincipalArn() const{ return m_apiAccessPrincipalArn; } /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline bool ApiAccessPrincipalArnHasBeenSet() const { return m_apiAccessPrincipalArnHasBeenSet; } /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline void SetApiAccessPrincipalArn(const Aws::String& value) { m_apiAccessPrincipalArnHasBeenSet = true; m_apiAccessPrincipalArn = value; } /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline void SetApiAccessPrincipalArn(Aws::String&& value) { m_apiAccessPrincipalArnHasBeenSet = true; m_apiAccessPrincipalArn = std::move(value); } /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline void SetApiAccessPrincipalArn(const char* value) { m_apiAccessPrincipalArnHasBeenSet = true; m_apiAccessPrincipalArn.assign(value); } /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline CreateUserRequest& WithApiAccessPrincipalArn(const Aws::String& value) { SetApiAccessPrincipalArn(value); return *this;} /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline CreateUserRequest& WithApiAccessPrincipalArn(Aws::String&& value) { SetApiAccessPrincipalArn(std::move(value)); return *this;} /** *

The ARN identifier of an AWS user or role that is allowed to call the * GetProgrammaticAccessCredentials API to obtain a credentials token * for a specific FinSpace user. This must be an IAM role within your FinSpace * account.

*/ inline CreateUserRequest& WithApiAccessPrincipalArn(const char* value) { SetApiAccessPrincipalArn(value); return *this;} /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateUserRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateUserRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateUserRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_emailAddress; bool m_emailAddressHasBeenSet = false; UserType m_type; bool m_typeHasBeenSet = false; Aws::String m_firstName; bool m_firstNameHasBeenSet = false; Aws::String m_lastName; bool m_lastNameHasBeenSet = false; ApiAccess m_apiAccess; bool m_apiAccessHasBeenSet = false; Aws::String m_apiAccessPrincipalArn; bool m_apiAccessPrincipalArnHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace FinSpaceData } // namespace Aws