AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
UserIdentity.h
1
6#pragma once
7#include <aws/macie2/Macie2_EXPORTS.h>
8#include <aws/macie2/model/AssumedRole.h>
9#include <aws/macie2/model/AwsAccount.h>
10#include <aws/macie2/model/AwsService.h>
11#include <aws/macie2/model/FederatedUser.h>
12#include <aws/macie2/model/IamUser.h>
13#include <aws/macie2/model/UserIdentityRoot.h>
14#include <aws/macie2/model/UserIdentityType.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Macie2 {
26namespace Model {
27
35 public:
36 AWS_MACIE2_API UserIdentity() = default;
37 AWS_MACIE2_API UserIdentity(Aws::Utils::Json::JsonView jsonValue);
39 AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
47 inline const AssumedRole& GetAssumedRole() const { return m_assumedRole; }
48 inline bool AssumedRoleHasBeenSet() const { return m_assumedRoleHasBeenSet; }
49 template <typename AssumedRoleT = AssumedRole>
50 void SetAssumedRole(AssumedRoleT&& value) {
51 m_assumedRoleHasBeenSet = true;
52 m_assumedRole = std::forward<AssumedRoleT>(value);
53 }
54 template <typename AssumedRoleT = AssumedRole>
55 UserIdentity& WithAssumedRole(AssumedRoleT&& value) {
56 SetAssumedRole(std::forward<AssumedRoleT>(value));
57 return *this;
58 }
60
62
66 inline const AwsAccount& GetAwsAccount() const { return m_awsAccount; }
67 inline bool AwsAccountHasBeenSet() const { return m_awsAccountHasBeenSet; }
68 template <typename AwsAccountT = AwsAccount>
69 void SetAwsAccount(AwsAccountT&& value) {
70 m_awsAccountHasBeenSet = true;
71 m_awsAccount = std::forward<AwsAccountT>(value);
72 }
73 template <typename AwsAccountT = AwsAccount>
74 UserIdentity& WithAwsAccount(AwsAccountT&& value) {
75 SetAwsAccount(std::forward<AwsAccountT>(value));
76 return *this;
77 }
79
81
85 inline const AwsService& GetAwsService() const { return m_awsService; }
86 inline bool AwsServiceHasBeenSet() const { return m_awsServiceHasBeenSet; }
87 template <typename AwsServiceT = AwsService>
88 void SetAwsService(AwsServiceT&& value) {
89 m_awsServiceHasBeenSet = true;
90 m_awsService = std::forward<AwsServiceT>(value);
91 }
92 template <typename AwsServiceT = AwsService>
93 UserIdentity& WithAwsService(AwsServiceT&& value) {
94 SetAwsService(std::forward<AwsServiceT>(value));
95 return *this;
96 }
98
100
106 inline const FederatedUser& GetFederatedUser() const { return m_federatedUser; }
107 inline bool FederatedUserHasBeenSet() const { return m_federatedUserHasBeenSet; }
108 template <typename FederatedUserT = FederatedUser>
109 void SetFederatedUser(FederatedUserT&& value) {
110 m_federatedUserHasBeenSet = true;
111 m_federatedUser = std::forward<FederatedUserT>(value);
112 }
113 template <typename FederatedUserT = FederatedUser>
114 UserIdentity& WithFederatedUser(FederatedUserT&& value) {
115 SetFederatedUser(std::forward<FederatedUserT>(value));
116 return *this;
117 }
119
121
125 inline const IamUser& GetIamUser() const { return m_iamUser; }
126 inline bool IamUserHasBeenSet() const { return m_iamUserHasBeenSet; }
127 template <typename IamUserT = IamUser>
128 void SetIamUser(IamUserT&& value) {
129 m_iamUserHasBeenSet = true;
130 m_iamUser = std::forward<IamUserT>(value);
131 }
132 template <typename IamUserT = IamUser>
133 UserIdentity& WithIamUser(IamUserT&& value) {
134 SetIamUser(std::forward<IamUserT>(value));
135 return *this;
136 }
138
140
144 inline const UserIdentityRoot& GetRoot() const { return m_root; }
145 inline bool RootHasBeenSet() const { return m_rootHasBeenSet; }
146 template <typename RootT = UserIdentityRoot>
147 void SetRoot(RootT&& value) {
148 m_rootHasBeenSet = true;
149 m_root = std::forward<RootT>(value);
150 }
151 template <typename RootT = UserIdentityRoot>
152 UserIdentity& WithRoot(RootT&& value) {
153 SetRoot(std::forward<RootT>(value));
154 return *this;
155 }
157
159
162 inline UserIdentityType GetType() const { return m_type; }
163 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
164 inline void SetType(UserIdentityType value) {
165 m_typeHasBeenSet = true;
166 m_type = value;
167 }
169 SetType(value);
170 return *this;
171 }
173 private:
174 AssumedRole m_assumedRole;
175
176 AwsAccount m_awsAccount;
177
178 AwsService m_awsService;
179
180 FederatedUser m_federatedUser;
181
182 IamUser m_iamUser;
183
184 UserIdentityRoot m_root;
185
187 bool m_assumedRoleHasBeenSet = false;
188 bool m_awsAccountHasBeenSet = false;
189 bool m_awsServiceHasBeenSet = false;
190 bool m_federatedUserHasBeenSet = false;
191 bool m_iamUserHasBeenSet = false;
192 bool m_rootHasBeenSet = false;
193 bool m_typeHasBeenSet = false;
194};
195
196} // namespace Model
197} // namespace Macie2
198} // namespace Aws
const AwsAccount & GetAwsAccount() const
void SetAwsService(AwsServiceT &&value)
void SetIamUser(IamUserT &&value)
UserIdentity & WithAwsAccount(AwsAccountT &&value)
void SetAwsAccount(AwsAccountT &&value)
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
UserIdentity & WithAssumedRole(AssumedRoleT &&value)
void SetType(UserIdentityType value)
AWS_MACIE2_API UserIdentity()=default
AWS_MACIE2_API UserIdentity & operator=(Aws::Utils::Json::JsonView jsonValue)
UserIdentity & WithAwsService(AwsServiceT &&value)
UserIdentityType GetType() const
UserIdentity & WithRoot(RootT &&value)
UserIdentity & WithFederatedUser(FederatedUserT &&value)
const FederatedUser & GetFederatedUser() const
const AwsService & GetAwsService() const
void SetAssumedRole(AssumedRoleT &&value)
const AssumedRole & GetAssumedRole() const
const IamUser & GetIamUser() const
void SetFederatedUser(FederatedUserT &&value)
UserIdentity & WithType(UserIdentityType value)
AWS_MACIE2_API UserIdentity(Aws::Utils::Json::JsonView jsonValue)
UserIdentity & WithIamUser(IamUserT &&value)
const UserIdentityRoot & GetRoot() const
Aws::Utils::Json::JsonValue JsonValue