/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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