AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsIamRoleDetails.h
1
6#pragma once
7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/model/AwsIamPermissionsBoundary.h>
11#include <aws/securityhub/model/AwsIamAttachedManagedPolicy.h>
12#include <aws/securityhub/model/AwsIamInstanceProfile.h>
13#include <aws/securityhub/model/AwsIamRolePolicy.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace SecurityHub
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_SECURITYHUB_API AwsIamRoleDetails() = default;
41 AWS_SECURITYHUB_API AwsIamRoleDetails(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetAssumeRolePolicyDocument() const { return m_assumeRolePolicyDocument; }
51 inline bool AssumeRolePolicyDocumentHasBeenSet() const { return m_assumeRolePolicyDocumentHasBeenSet; }
52 template<typename AssumeRolePolicyDocumentT = Aws::String>
53 void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) { m_assumeRolePolicyDocumentHasBeenSet = true; m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value); }
54 template<typename AssumeRolePolicyDocumentT = Aws::String>
55 AwsIamRoleDetails& WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) { SetAssumeRolePolicyDocument(std::forward<AssumeRolePolicyDocumentT>(value)); return *this;}
57
59
62 inline const Aws::Vector<AwsIamAttachedManagedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
63 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
64 template<typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
65 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value); }
66 template<typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
67 AwsIamRoleDetails& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value)); return *this;}
68 template<typename AttachedManagedPoliciesT = AwsIamAttachedManagedPolicy>
69 AwsIamRoleDetails& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value)); return *this; }
71
73
78 inline const Aws::String& GetCreateDate() const { return m_createDate; }
79 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
80 template<typename CreateDateT = Aws::String>
81 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet = true; m_createDate = std::forward<CreateDateT>(value); }
82 template<typename CreateDateT = Aws::String>
83 AwsIamRoleDetails& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
85
87
90 inline const Aws::Vector<AwsIamInstanceProfile>& GetInstanceProfileList() const { return m_instanceProfileList; }
91 inline bool InstanceProfileListHasBeenSet() const { return m_instanceProfileListHasBeenSet; }
92 template<typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
93 void SetInstanceProfileList(InstanceProfileListT&& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList = std::forward<InstanceProfileListT>(value); }
94 template<typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
95 AwsIamRoleDetails& WithInstanceProfileList(InstanceProfileListT&& value) { SetInstanceProfileList(std::forward<InstanceProfileListT>(value)); return *this;}
96 template<typename InstanceProfileListT = AwsIamInstanceProfile>
97 AwsIamRoleDetails& AddInstanceProfileList(InstanceProfileListT&& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList.emplace_back(std::forward<InstanceProfileListT>(value)); return *this; }
99
101
102 inline const AwsIamPermissionsBoundary& GetPermissionsBoundary() const { return m_permissionsBoundary; }
103 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
104 template<typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
105 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet = true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
106 template<typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
107 AwsIamRoleDetails& WithPermissionsBoundary(PermissionsBoundaryT&& value) { SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value)); return *this;}
109
111
114 inline const Aws::String& GetRoleId() const { return m_roleId; }
115 inline bool RoleIdHasBeenSet() const { return m_roleIdHasBeenSet; }
116 template<typename RoleIdT = Aws::String>
117 void SetRoleId(RoleIdT&& value) { m_roleIdHasBeenSet = true; m_roleId = std::forward<RoleIdT>(value); }
118 template<typename RoleIdT = Aws::String>
119 AwsIamRoleDetails& WithRoleId(RoleIdT&& value) { SetRoleId(std::forward<RoleIdT>(value)); return *this;}
121
123
126 inline const Aws::String& GetRoleName() const { return m_roleName; }
127 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; }
128 template<typename RoleNameT = Aws::String>
129 void SetRoleName(RoleNameT&& value) { m_roleNameHasBeenSet = true; m_roleName = std::forward<RoleNameT>(value); }
130 template<typename RoleNameT = Aws::String>
131 AwsIamRoleDetails& WithRoleName(RoleNameT&& value) { SetRoleName(std::forward<RoleNameT>(value)); return *this;}
133
135
138 inline const Aws::Vector<AwsIamRolePolicy>& GetRolePolicyList() const { return m_rolePolicyList; }
139 inline bool RolePolicyListHasBeenSet() const { return m_rolePolicyListHasBeenSet; }
140 template<typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
141 void SetRolePolicyList(RolePolicyListT&& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList = std::forward<RolePolicyListT>(value); }
142 template<typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
143 AwsIamRoleDetails& WithRolePolicyList(RolePolicyListT&& value) { SetRolePolicyList(std::forward<RolePolicyListT>(value)); return *this;}
144 template<typename RolePolicyListT = AwsIamRolePolicy>
145 AwsIamRoleDetails& AddRolePolicyList(RolePolicyListT&& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList.emplace_back(std::forward<RolePolicyListT>(value)); return *this; }
147
149
153 inline int GetMaxSessionDuration() const { return m_maxSessionDuration; }
154 inline bool MaxSessionDurationHasBeenSet() const { return m_maxSessionDurationHasBeenSet; }
155 inline void SetMaxSessionDuration(int value) { m_maxSessionDurationHasBeenSet = true; m_maxSessionDuration = value; }
156 inline AwsIamRoleDetails& WithMaxSessionDuration(int value) { SetMaxSessionDuration(value); return *this;}
158
160
163 inline const Aws::String& GetPath() const { return m_path; }
164 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
165 template<typename PathT = Aws::String>
166 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
167 template<typename PathT = Aws::String>
168 AwsIamRoleDetails& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
170 private:
171
172 Aws::String m_assumeRolePolicyDocument;
173 bool m_assumeRolePolicyDocumentHasBeenSet = false;
174
175 Aws::Vector<AwsIamAttachedManagedPolicy> m_attachedManagedPolicies;
176 bool m_attachedManagedPoliciesHasBeenSet = false;
177
178 Aws::String m_createDate;
179 bool m_createDateHasBeenSet = false;
180
181 Aws::Vector<AwsIamInstanceProfile> m_instanceProfileList;
182 bool m_instanceProfileListHasBeenSet = false;
183
184 AwsIamPermissionsBoundary m_permissionsBoundary;
185 bool m_permissionsBoundaryHasBeenSet = false;
186
187 Aws::String m_roleId;
188 bool m_roleIdHasBeenSet = false;
189
190 Aws::String m_roleName;
191 bool m_roleNameHasBeenSet = false;
192
193 Aws::Vector<AwsIamRolePolicy> m_rolePolicyList;
194 bool m_rolePolicyListHasBeenSet = false;
195
196 int m_maxSessionDuration{0};
197 bool m_maxSessionDurationHasBeenSet = false;
198
199 Aws::String m_path;
200 bool m_pathHasBeenSet = false;
201 };
202
203} // namespace Model
204} // namespace SecurityHub
205} // namespace Aws
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
const Aws::Vector< AwsIamInstanceProfile > & GetInstanceProfileList() const
AwsIamRoleDetails & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AwsIamRoleDetails & WithInstanceProfileList(InstanceProfileListT &&value)
AwsIamRoleDetails & WithPath(PathT &&value)
AwsIamRoleDetails & WithCreateDate(CreateDateT &&value)
AwsIamRoleDetails & WithRolePolicyList(RolePolicyListT &&value)
AWS_SECURITYHUB_API AwsIamRoleDetails()=default
AWS_SECURITYHUB_API AwsIamRoleDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsIamRoleDetails & WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
AwsIamRoleDetails & WithPermissionsBoundary(PermissionsBoundaryT &&value)
const Aws::Vector< AwsIamAttachedManagedPolicy > & GetAttachedManagedPolicies() const
AwsIamRoleDetails & WithMaxSessionDuration(int value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsIamRoleDetails(Aws::Utils::Json::JsonView jsonValue)
AwsIamRoleDetails & AddInstanceProfileList(InstanceProfileListT &&value)
void SetRolePolicyList(RolePolicyListT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
AwsIamRoleDetails & WithRoleName(RoleNameT &&value)
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AwsIamRoleDetails & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
const Aws::Vector< AwsIamRolePolicy > & GetRolePolicyList() const
AwsIamRoleDetails & WithRoleId(RoleIdT &&value)
AwsIamRoleDetails & AddRolePolicyList(RolePolicyListT &&value)
const Aws::String & GetAssumeRolePolicyDocument() const
const AwsIamPermissionsBoundary & GetPermissionsBoundary() const
void SetInstanceProfileList(InstanceProfileListT &&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