/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeStar { namespace Model { /** *

Information about a team member in a project.

See Also:

AWS * API Reference

*/ class TeamMember { public: AWS_CODESTAR_API TeamMember(); AWS_CODESTAR_API TeamMember(Aws::Utils::Json::JsonView jsonValue); AWS_CODESTAR_API TeamMember& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODESTAR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline const Aws::String& GetUserArn() const{ return m_userArn; } /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline bool UserArnHasBeenSet() const { return m_userArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline void SetUserArn(const Aws::String& value) { m_userArnHasBeenSet = true; m_userArn = value; } /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline void SetUserArn(Aws::String&& value) { m_userArnHasBeenSet = true; m_userArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline void SetUserArn(const char* value) { m_userArnHasBeenSet = true; m_userArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline TeamMember& WithUserArn(const Aws::String& value) { SetUserArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline TeamMember& WithUserArn(Aws::String&& value) { SetUserArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user in IAM.

*/ inline TeamMember& WithUserArn(const char* value) { SetUserArn(value); return *this;} /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline const Aws::String& GetProjectRole() const{ return m_projectRole; } /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline bool ProjectRoleHasBeenSet() const { return m_projectRoleHasBeenSet; } /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline void SetProjectRole(const Aws::String& value) { m_projectRoleHasBeenSet = true; m_projectRole = value; } /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline void SetProjectRole(Aws::String&& value) { m_projectRoleHasBeenSet = true; m_projectRole = std::move(value); } /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline void SetProjectRole(const char* value) { m_projectRoleHasBeenSet = true; m_projectRole.assign(value); } /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline TeamMember& WithProjectRole(const Aws::String& value) { SetProjectRole(value); return *this;} /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline TeamMember& WithProjectRole(Aws::String&& value) { SetProjectRole(std::move(value)); return *this;} /** *

The role assigned to the user in the project. Project roles have different * levels of access. For more information, see Working * with Teams in the AWS CodeStar User Guide.

*/ inline TeamMember& WithProjectRole(const char* value) { SetProjectRole(value); return *this;} /** *

Whether the user is allowed to remotely access project resources using an SSH * public/private key pair.

*/ inline bool GetRemoteAccessAllowed() const{ return m_remoteAccessAllowed; } /** *

Whether the user is allowed to remotely access project resources using an SSH * public/private key pair.

*/ inline bool RemoteAccessAllowedHasBeenSet() const { return m_remoteAccessAllowedHasBeenSet; } /** *

Whether the user is allowed to remotely access project resources using an SSH * public/private key pair.

*/ inline void SetRemoteAccessAllowed(bool value) { m_remoteAccessAllowedHasBeenSet = true; m_remoteAccessAllowed = value; } /** *

Whether the user is allowed to remotely access project resources using an SSH * public/private key pair.

*/ inline TeamMember& WithRemoteAccessAllowed(bool value) { SetRemoteAccessAllowed(value); return *this;} private: Aws::String m_userArn; bool m_userArnHasBeenSet = false; Aws::String m_projectRole; bool m_projectRoleHasBeenSet = false; bool m_remoteAccessAllowed; bool m_remoteAccessAllowedHasBeenSet = false; }; } // namespace Model } // namespace CodeStar } // namespace Aws