/** * 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 UpdateUserRequest : public FinSpaceDataRequest { public: AWS_FINSPACEDATA_API UpdateUserRequest(); // 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 "UpdateUser"; } AWS_FINSPACEDATA_API Aws::String SerializePayload() const override; /** *

The unique identifier for the user account to update.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The unique identifier for the user account to update.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The unique identifier for the user account to update.

*/ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** *

The unique identifier for the user account to update.

*/ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** *

The unique identifier for the user account to update.

*/ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** *

The unique identifier for the user account to update.

*/ inline UpdateUserRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The unique identifier for the user account to update.

*/ inline UpdateUserRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The unique identifier for the user account to update.

*/ inline UpdateUserRequest& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The option to indicate 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.

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

The option to indicate 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.

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

The option to indicate 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.

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

The option to indicate 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.

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

The option to indicate 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.

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

The option to indicate 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.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The first name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

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

The last name of the user.

*/ inline UpdateUserRequest& 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 UpdateUserRequest& 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 UpdateUserRequest& 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 UpdateUserRequest& 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 UpdateUserRequest& 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 UpdateUserRequest& 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 UpdateUserRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

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

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

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

*/ inline UpdateUserRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_userId; bool m_userIdHasBeenSet = 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