/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace OpsWorks { namespace Model { /** */ class CreateUserProfileRequest : public OpsWorksRequest { public: AWS_OPSWORKS_API CreateUserProfileRequest(); // 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 "CreateUserProfile"; } AWS_OPSWORKS_API Aws::String SerializePayload() const override; AWS_OPSWORKS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline const Aws::String& GetIamUserArn() const{ return m_iamUserArn; } /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline bool IamUserArnHasBeenSet() const { return m_iamUserArnHasBeenSet; } /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline void SetIamUserArn(const Aws::String& value) { m_iamUserArnHasBeenSet = true; m_iamUserArn = value; } /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline void SetIamUserArn(Aws::String&& value) { m_iamUserArnHasBeenSet = true; m_iamUserArn = std::move(value); } /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline void SetIamUserArn(const char* value) { m_iamUserArnHasBeenSet = true; m_iamUserArn.assign(value); } /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline CreateUserProfileRequest& WithIamUserArn(const Aws::String& value) { SetIamUserArn(value); return *this;} /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline CreateUserProfileRequest& WithIamUserArn(Aws::String&& value) { SetIamUserArn(std::move(value)); return *this;} /** *

The user's IAM ARN; this can also be a federated user's ARN.

*/ inline CreateUserProfileRequest& WithIamUserArn(const char* value) { SetIamUserArn(value); return *this;} /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline const Aws::String& GetSshUsername() const{ return m_sshUsername; } /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline bool SshUsernameHasBeenSet() const { return m_sshUsernameHasBeenSet; } /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline void SetSshUsername(const Aws::String& value) { m_sshUsernameHasBeenSet = true; m_sshUsername = value; } /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline void SetSshUsername(Aws::String&& value) { m_sshUsernameHasBeenSet = true; m_sshUsername = std::move(value); } /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline void SetSshUsername(const char* value) { m_sshUsernameHasBeenSet = true; m_sshUsername.assign(value); } /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline CreateUserProfileRequest& WithSshUsername(const Aws::String& value) { SetSshUsername(value); return *this;} /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline CreateUserProfileRequest& WithSshUsername(Aws::String&& value) { SetSshUsername(std::move(value)); return *this;} /** *

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], * '-', and '_'. If the specified name includes other punctuation marks, AWS * OpsWorks Stacks removes them. For example, my.name will be changed * to myname. If you do not specify an SSH user name, AWS OpsWorks * Stacks generates one from the IAM user name.

*/ inline CreateUserProfileRequest& WithSshUsername(const char* value) { SetSshUsername(value); return *this;} /** *

The user's public SSH key.

*/ inline const Aws::String& GetSshPublicKey() const{ return m_sshPublicKey; } /** *

The user's public SSH key.

*/ inline bool SshPublicKeyHasBeenSet() const { return m_sshPublicKeyHasBeenSet; } /** *

The user's public SSH key.

*/ inline void SetSshPublicKey(const Aws::String& value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey = value; } /** *

The user's public SSH key.

*/ inline void SetSshPublicKey(Aws::String&& value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey = std::move(value); } /** *

The user's public SSH key.

*/ inline void SetSshPublicKey(const char* value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey.assign(value); } /** *

The user's public SSH key.

*/ inline CreateUserProfileRequest& WithSshPublicKey(const Aws::String& value) { SetSshPublicKey(value); return *this;} /** *

The user's public SSH key.

*/ inline CreateUserProfileRequest& WithSshPublicKey(Aws::String&& value) { SetSshPublicKey(std::move(value)); return *this;} /** *

The user's public SSH key.

*/ inline CreateUserProfileRequest& WithSshPublicKey(const char* value) { SetSshPublicKey(value); return *this;} /** *

Whether users can specify their own SSH public key through the My Settings * page. For more information, see Setting * an IAM User's Public SSH Key.

*/ inline bool GetAllowSelfManagement() const{ return m_allowSelfManagement; } /** *

Whether users can specify their own SSH public key through the My Settings * page. For more information, see Setting * an IAM User's Public SSH Key.

*/ inline bool AllowSelfManagementHasBeenSet() const { return m_allowSelfManagementHasBeenSet; } /** *

Whether users can specify their own SSH public key through the My Settings * page. For more information, see Setting * an IAM User's Public SSH Key.

*/ inline void SetAllowSelfManagement(bool value) { m_allowSelfManagementHasBeenSet = true; m_allowSelfManagement = value; } /** *

Whether users can specify their own SSH public key through the My Settings * page. For more information, see Setting * an IAM User's Public SSH Key.

*/ inline CreateUserProfileRequest& WithAllowSelfManagement(bool value) { SetAllowSelfManagement(value); return *this;} private: Aws::String m_iamUserArn; bool m_iamUserArnHasBeenSet = false; Aws::String m_sshUsername; bool m_sshUsernameHasBeenSet = false; Aws::String m_sshPublicKey; bool m_sshPublicKeyHasBeenSet = false; bool m_allowSelfManagement; bool m_allowSelfManagementHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws