/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The assignment that indicates a principal's limited access to a specified AWS
* account with a specified permission set. The term principal
* here refers to a user or group that is defined in IAM Identity Center.See Also:
AWS
* API Reference
The identifier of the AWS account.
*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *The identifier of the AWS account.
*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *The identifier of the AWS account.
*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *The identifier of the AWS account.
*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *The identifier of the AWS account.
*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *The identifier of the AWS account.
*/ inline AccountAssignment& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *The identifier of the AWS account.
*/ inline AccountAssignment& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *The identifier of the AWS account.
*/ inline AccountAssignment& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline const Aws::String& GetPermissionSetArn() const{ return m_permissionSetArn; } /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline bool PermissionSetArnHasBeenSet() const { return m_permissionSetArnHasBeenSet; } /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline void SetPermissionSetArn(const Aws::String& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = value; } /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline void SetPermissionSetArn(Aws::String&& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = std::move(value); } /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline void SetPermissionSetArn(const char* value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn.assign(value); } /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline AccountAssignment& WithPermissionSetArn(const Aws::String& value) { SetPermissionSetArn(value); return *this;} /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline AccountAssignment& WithPermissionSetArn(Aws::String&& value) { SetPermissionSetArn(std::move(value)); return *this;} /** *The ARN of the permission set. For more information about ARNs, see Amazon Resource Names * (ARNs) and AWS Service Namespaces in the AWS General Reference.
*/ inline AccountAssignment& WithPermissionSetArn(const char* value) { SetPermissionSetArn(value); return *this;} /** *The entity type for which the assignment will be created.
*/ inline const PrincipalType& GetPrincipalType() const{ return m_principalType; } /** *The entity type for which the assignment will be created.
*/ inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; } /** *The entity type for which the assignment will be created.
*/ inline void SetPrincipalType(const PrincipalType& value) { m_principalTypeHasBeenSet = true; m_principalType = value; } /** *The entity type for which the assignment will be created.
*/ inline void SetPrincipalType(PrincipalType&& value) { m_principalTypeHasBeenSet = true; m_principalType = std::move(value); } /** *The entity type for which the assignment will be created.
*/ inline AccountAssignment& WithPrincipalType(const PrincipalType& value) { SetPrincipalType(value); return *this;} /** *The entity type for which the assignment will be created.
*/ inline AccountAssignment& WithPrincipalType(PrincipalType&& value) { SetPrincipalType(std::move(value)); return *this;} /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline const Aws::String& GetPrincipalId() const{ return m_principalId; } /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline AccountAssignment& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline AccountAssignment& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} /** *An identifier for an object in IAM Identity Center, such as a user or group. * PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For * more information about PrincipalIds in IAM Identity Center, see the IAM Identity * Center Identity Store API Reference.
*/ inline AccountAssignment& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_permissionSetArn; bool m_permissionSetArnHasBeenSet = false; PrincipalType m_principalType; bool m_principalTypeHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; }; } // namespace Model } // namespace SSOAdmin } // namespace Aws