AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
SubjectDetail.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/rolesanywhere/RolesAnywhere_EXPORTS.h>
11#include <aws/rolesanywhere/model/CredentialSummary.h>
12#include <aws/rolesanywhere/model/InstanceProperty.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace RolesAnywhere {
24namespace Model {
25
33 public:
34 AWS_ROLESANYWHERE_API SubjectDetail() = default;
35 AWS_ROLESANYWHERE_API SubjectDetail(Aws::Utils::Json::JsonView jsonValue);
36 AWS_ROLESANYWHERE_API SubjectDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_ROLESANYWHERE_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetSubjectArn() const { return m_subjectArn; }
44 inline bool SubjectArnHasBeenSet() const { return m_subjectArnHasBeenSet; }
45 template <typename SubjectArnT = Aws::String>
46 void SetSubjectArn(SubjectArnT&& value) {
47 m_subjectArnHasBeenSet = true;
48 m_subjectArn = std::forward<SubjectArnT>(value);
49 }
50 template <typename SubjectArnT = Aws::String>
51 SubjectDetail& WithSubjectArn(SubjectArnT&& value) {
52 SetSubjectArn(std::forward<SubjectArnT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetSubjectId() const { return m_subjectId; }
62 inline bool SubjectIdHasBeenSet() const { return m_subjectIdHasBeenSet; }
63 template <typename SubjectIdT = Aws::String>
64 void SetSubjectId(SubjectIdT&& value) {
65 m_subjectIdHasBeenSet = true;
66 m_subjectId = std::forward<SubjectIdT>(value);
67 }
68 template <typename SubjectIdT = Aws::String>
69 SubjectDetail& WithSubjectId(SubjectIdT&& value) {
70 SetSubjectId(std::forward<SubjectIdT>(value));
71 return *this;
72 }
74
76
79 inline bool GetEnabled() const { return m_enabled; }
80 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
81 inline void SetEnabled(bool value) {
82 m_enabledHasBeenSet = true;
83 m_enabled = value;
84 }
85 inline SubjectDetail& WithEnabled(bool value) {
86 SetEnabled(value);
87 return *this;
88 }
90
92
95 inline const Aws::String& GetX509Subject() const { return m_x509Subject; }
96 inline bool X509SubjectHasBeenSet() const { return m_x509SubjectHasBeenSet; }
97 template <typename X509SubjectT = Aws::String>
98 void SetX509Subject(X509SubjectT&& value) {
99 m_x509SubjectHasBeenSet = true;
100 m_x509Subject = std::forward<X509SubjectT>(value);
101 }
102 template <typename X509SubjectT = Aws::String>
103 SubjectDetail& WithX509Subject(X509SubjectT&& value) {
104 SetX509Subject(std::forward<X509SubjectT>(value));
105 return *this;
106 }
108
110
114 inline const Aws::Utils::DateTime& GetLastSeenAt() const { return m_lastSeenAt; }
115 inline bool LastSeenAtHasBeenSet() const { return m_lastSeenAtHasBeenSet; }
116 template <typename LastSeenAtT = Aws::Utils::DateTime>
117 void SetLastSeenAt(LastSeenAtT&& value) {
118 m_lastSeenAtHasBeenSet = true;
119 m_lastSeenAt = std::forward<LastSeenAtT>(value);
120 }
121 template <typename LastSeenAtT = Aws::Utils::DateTime>
122 SubjectDetail& WithLastSeenAt(LastSeenAtT&& value) {
123 SetLastSeenAt(std::forward<LastSeenAtT>(value));
124 return *this;
125 }
127
129
132 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
133 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
134 template <typename CreatedAtT = Aws::Utils::DateTime>
135 void SetCreatedAt(CreatedAtT&& value) {
136 m_createdAtHasBeenSet = true;
137 m_createdAt = std::forward<CreatedAtT>(value);
138 }
139 template <typename CreatedAtT = Aws::Utils::DateTime>
140 SubjectDetail& WithCreatedAt(CreatedAtT&& value) {
141 SetCreatedAt(std::forward<CreatedAtT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
151 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
152 template <typename UpdatedAtT = Aws::Utils::DateTime>
153 void SetUpdatedAt(UpdatedAtT&& value) {
154 m_updatedAtHasBeenSet = true;
155 m_updatedAt = std::forward<UpdatedAtT>(value);
156 }
157 template <typename UpdatedAtT = Aws::Utils::DateTime>
158 SubjectDetail& WithUpdatedAt(UpdatedAtT&& value) {
159 SetUpdatedAt(std::forward<UpdatedAtT>(value));
160 return *this;
161 }
163
165
169 inline const Aws::Vector<CredentialSummary>& GetCredentials() const { return m_credentials; }
170 inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; }
171 template <typename CredentialsT = Aws::Vector<CredentialSummary>>
172 void SetCredentials(CredentialsT&& value) {
173 m_credentialsHasBeenSet = true;
174 m_credentials = std::forward<CredentialsT>(value);
175 }
176 template <typename CredentialsT = Aws::Vector<CredentialSummary>>
177 SubjectDetail& WithCredentials(CredentialsT&& value) {
178 SetCredentials(std::forward<CredentialsT>(value));
179 return *this;
180 }
181 template <typename CredentialsT = CredentialSummary>
182 SubjectDetail& AddCredentials(CredentialsT&& value) {
183 m_credentialsHasBeenSet = true;
184 m_credentials.emplace_back(std::forward<CredentialsT>(value));
185 return *this;
186 }
188
190
193 inline const Aws::Vector<InstanceProperty>& GetInstanceProperties() const { return m_instanceProperties; }
194 inline bool InstancePropertiesHasBeenSet() const { return m_instancePropertiesHasBeenSet; }
195 template <typename InstancePropertiesT = Aws::Vector<InstanceProperty>>
196 void SetInstanceProperties(InstancePropertiesT&& value) {
197 m_instancePropertiesHasBeenSet = true;
198 m_instanceProperties = std::forward<InstancePropertiesT>(value);
199 }
200 template <typename InstancePropertiesT = Aws::Vector<InstanceProperty>>
201 SubjectDetail& WithInstanceProperties(InstancePropertiesT&& value) {
202 SetInstanceProperties(std::forward<InstancePropertiesT>(value));
203 return *this;
204 }
205 template <typename InstancePropertiesT = InstanceProperty>
206 SubjectDetail& AddInstanceProperties(InstancePropertiesT&& value) {
207 m_instancePropertiesHasBeenSet = true;
208 m_instanceProperties.emplace_back(std::forward<InstancePropertiesT>(value));
209 return *this;
210 }
212 private:
213 Aws::String m_subjectArn;
214
215 Aws::String m_subjectId;
216
217 bool m_enabled{false};
218
219 Aws::String m_x509Subject;
220
221 Aws::Utils::DateTime m_lastSeenAt{};
222
223 Aws::Utils::DateTime m_createdAt{};
224
225 Aws::Utils::DateTime m_updatedAt{};
226
227 Aws::Vector<CredentialSummary> m_credentials;
228
229 Aws::Vector<InstanceProperty> m_instanceProperties;
230 bool m_subjectArnHasBeenSet = false;
231 bool m_subjectIdHasBeenSet = false;
232 bool m_enabledHasBeenSet = false;
233 bool m_x509SubjectHasBeenSet = false;
234 bool m_lastSeenAtHasBeenSet = false;
235 bool m_createdAtHasBeenSet = false;
236 bool m_updatedAtHasBeenSet = false;
237 bool m_credentialsHasBeenSet = false;
238 bool m_instancePropertiesHasBeenSet = false;
239};
240
241} // namespace Model
242} // namespace RolesAnywhere
243} // namespace Aws
AWS_ROLESANYWHERE_API SubjectDetail()=default
const Aws::Utils::DateTime & GetLastSeenAt() const
const Aws::String & GetSubjectArn() const
SubjectDetail & AddCredentials(CredentialsT &&value)
AWS_ROLESANYWHERE_API SubjectDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< InstanceProperty > & GetInstanceProperties() const
AWS_ROLESANYWHERE_API SubjectDetail(Aws::Utils::Json::JsonView jsonValue)
void SetX509Subject(X509SubjectT &&value)
SubjectDetail & WithCredentials(CredentialsT &&value)
const Aws::Utils::DateTime & GetUpdatedAt() const
const Aws::String & GetSubjectId() const
void SetCredentials(CredentialsT &&value)
SubjectDetail & WithSubjectArn(SubjectArnT &&value)
void SetSubjectArn(SubjectArnT &&value)
void SetSubjectId(SubjectIdT &&value)
AWS_ROLESANYWHERE_API Aws::Utils::Json::JsonValue Jsonize() const
SubjectDetail & WithCreatedAt(CreatedAtT &&value)
SubjectDetail & WithSubjectId(SubjectIdT &&value)
SubjectDetail & WithLastSeenAt(LastSeenAtT &&value)
const Aws::Vector< CredentialSummary > & GetCredentials() const
SubjectDetail & WithUpdatedAt(UpdatedAtT &&value)
SubjectDetail & WithEnabled(bool value)
SubjectDetail & WithInstanceProperties(InstancePropertiesT &&value)
SubjectDetail & AddInstanceProperties(InstancePropertiesT &&value)
void SetInstanceProperties(InstancePropertiesT &&value)
void SetLastSeenAt(LastSeenAtT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
const Aws::String & GetX509Subject() const
SubjectDetail & WithX509Subject(X509SubjectT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue