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

Contains an identity that can access an IoT SiteWise Monitor resource.

*

Currently, you can't use Amazon Web Services APIs to retrieve IAM * Identity Center identity IDs. You can find the IAM Identity Center identity IDs * in the URL of user and group pages in the IAM Identity Center * console.

See Also:

AWS * API Reference

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

An IAM Identity Center user identity.

*/ inline const UserIdentity& GetUser() const{ return m_user; } /** *

An IAM Identity Center user identity.

*/ inline bool UserHasBeenSet() const { return m_userHasBeenSet; } /** *

An IAM Identity Center user identity.

*/ inline void SetUser(const UserIdentity& value) { m_userHasBeenSet = true; m_user = value; } /** *

An IAM Identity Center user identity.

*/ inline void SetUser(UserIdentity&& value) { m_userHasBeenSet = true; m_user = std::move(value); } /** *

An IAM Identity Center user identity.

*/ inline Identity& WithUser(const UserIdentity& value) { SetUser(value); return *this;} /** *

An IAM Identity Center user identity.

*/ inline Identity& WithUser(UserIdentity&& value) { SetUser(std::move(value)); return *this;} /** *

An IAM Identity Center group identity.

*/ inline const GroupIdentity& GetGroup() const{ return m_group; } /** *

An IAM Identity Center group identity.

*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *

An IAM Identity Center group identity.

*/ inline void SetGroup(const GroupIdentity& value) { m_groupHasBeenSet = true; m_group = value; } /** *

An IAM Identity Center group identity.

*/ inline void SetGroup(GroupIdentity&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *

An IAM Identity Center group identity.

*/ inline Identity& WithGroup(const GroupIdentity& value) { SetGroup(value); return *this;} /** *

An IAM Identity Center group identity.

*/ inline Identity& WithGroup(GroupIdentity&& value) { SetGroup(std::move(value)); return *this;} /** *

An IAM user identity.

*/ inline const IAMUserIdentity& GetIamUser() const{ return m_iamUser; } /** *

An IAM user identity.

*/ inline bool IamUserHasBeenSet() const { return m_iamUserHasBeenSet; } /** *

An IAM user identity.

*/ inline void SetIamUser(const IAMUserIdentity& value) { m_iamUserHasBeenSet = true; m_iamUser = value; } /** *

An IAM user identity.

*/ inline void SetIamUser(IAMUserIdentity&& value) { m_iamUserHasBeenSet = true; m_iamUser = std::move(value); } /** *

An IAM user identity.

*/ inline Identity& WithIamUser(const IAMUserIdentity& value) { SetIamUser(value); return *this;} /** *

An IAM user identity.

*/ inline Identity& WithIamUser(IAMUserIdentity&& value) { SetIamUser(std::move(value)); return *this;} /** *

An IAM role identity.

*/ inline const IAMRoleIdentity& GetIamRole() const{ return m_iamRole; } /** *

An IAM role identity.

*/ inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; } /** *

An IAM role identity.

*/ inline void SetIamRole(const IAMRoleIdentity& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; } /** *

An IAM role identity.

*/ inline void SetIamRole(IAMRoleIdentity&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); } /** *

An IAM role identity.

*/ inline Identity& WithIamRole(const IAMRoleIdentity& value) { SetIamRole(value); return *this;} /** *

An IAM role identity.

*/ inline Identity& WithIamRole(IAMRoleIdentity&& value) { SetIamRole(std::move(value)); return *this;} private: UserIdentity m_user; bool m_userHasBeenSet = false; GroupIdentity m_group; bool m_groupHasBeenSet = false; IAMUserIdentity m_iamUser; bool m_iamUserHasBeenSet = false; IAMRoleIdentity m_iamRole; bool m_iamRoleHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws