AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Identity.h
1
6#pragma once
7#include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
8#include <aws/iotsitewise/model/UserIdentity.h>
9#include <aws/iotsitewise/model/GroupIdentity.h>
10#include <aws/iotsitewise/model/IAMUserIdentity.h>
11#include <aws/iotsitewise/model/IAMRoleIdentity.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace IoTSiteWise
25{
26namespace Model
27{
28
40 {
41 public:
42 AWS_IOTSITEWISE_API Identity() = default;
43 AWS_IOTSITEWISE_API Identity(Aws::Utils::Json::JsonView jsonValue);
44 AWS_IOTSITEWISE_API Identity& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const UserIdentity& GetUser() const { return m_user; }
53 inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
54 template<typename UserT = UserIdentity>
55 void SetUser(UserT&& value) { m_userHasBeenSet = true; m_user = std::forward<UserT>(value); }
56 template<typename UserT = UserIdentity>
57 Identity& WithUser(UserT&& value) { SetUser(std::forward<UserT>(value)); return *this;}
59
61
64 inline const GroupIdentity& GetGroup() const { return m_group; }
65 inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
66 template<typename GroupT = GroupIdentity>
67 void SetGroup(GroupT&& value) { m_groupHasBeenSet = true; m_group = std::forward<GroupT>(value); }
68 template<typename GroupT = GroupIdentity>
69 Identity& WithGroup(GroupT&& value) { SetGroup(std::forward<GroupT>(value)); return *this;}
71
73
76 inline const IAMUserIdentity& GetIamUser() const { return m_iamUser; }
77 inline bool IamUserHasBeenSet() const { return m_iamUserHasBeenSet; }
78 template<typename IamUserT = IAMUserIdentity>
79 void SetIamUser(IamUserT&& value) { m_iamUserHasBeenSet = true; m_iamUser = std::forward<IamUserT>(value); }
80 template<typename IamUserT = IAMUserIdentity>
81 Identity& WithIamUser(IamUserT&& value) { SetIamUser(std::forward<IamUserT>(value)); return *this;}
83
85
88 inline const IAMRoleIdentity& GetIamRole() const { return m_iamRole; }
89 inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; }
90 template<typename IamRoleT = IAMRoleIdentity>
91 void SetIamRole(IamRoleT&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::forward<IamRoleT>(value); }
92 template<typename IamRoleT = IAMRoleIdentity>
93 Identity& WithIamRole(IamRoleT&& value) { SetIamRole(std::forward<IamRoleT>(value)); return *this;}
95 private:
96
97 UserIdentity m_user;
98 bool m_userHasBeenSet = false;
99
100 GroupIdentity m_group;
101 bool m_groupHasBeenSet = false;
102
103 IAMUserIdentity m_iamUser;
104 bool m_iamUserHasBeenSet = false;
105
106 IAMRoleIdentity m_iamRole;
107 bool m_iamRoleHasBeenSet = false;
108 };
109
110} // namespace Model
111} // namespace IoTSiteWise
112} // namespace Aws
const IAMUserIdentity & GetIamUser() const
Definition Identity.h:76
const GroupIdentity & GetGroup() const
Definition Identity.h:64
Identity & WithIamUser(IamUserT &&value)
Definition Identity.h:81
const IAMRoleIdentity & GetIamRole() const
Definition Identity.h:88
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
Identity & WithGroup(GroupT &&value)
Definition Identity.h:69
Identity & WithIamRole(IamRoleT &&value)
Definition Identity.h:93
AWS_IOTSITEWISE_API Identity & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTSITEWISE_API Identity()=default
const UserIdentity & GetUser() const
Definition Identity.h:52
void SetGroup(GroupT &&value)
Definition Identity.h:67
Identity & WithUser(UserT &&value)
Definition Identity.h:57
void SetIamRole(IamRoleT &&value)
Definition Identity.h:91
void SetIamUser(IamUserT &&value)
Definition Identity.h:79
AWS_IOTSITEWISE_API Identity(Aws::Utils::Json::JsonView jsonValue)
void SetUser(UserT &&value)
Definition Identity.h:55
Aws::Utils::Json::JsonValue JsonValue