File Coverage

blib/lib/Paws/IAM.pm
Criterion Covered Total %
statement 65 879 7.3
branch 0 104 0.0
condition n/a
subroutine 23 154 14.9
pod 148 152 97.3
total 236 1289 18.3


line stmt bran cond sub pod time code
1             package Paws::IAM;
2 1     1   1794 use Moose;
  1     6   3  
  1         5  
  6         6112  
  6         13  
  6         53  
3 42     42 0 162 sub service { 'iam' }
4 3     3 0 14 sub version { '2010-05-08' }
5 0     0 0 0 sub flattened_arrays { 0 }
6             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
7             has retry => (is => 'ro', isa => 'HashRef', default => sub {
8             { base => 'rand', type => 'exponential', growth_factor => 2 }
9             });
10             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
11             ] });
12              
13             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::QueryCaller', 'Paws::Net::XMLResponse';
14              
15             has '+region_rules' => (default => sub {
16             my $regioninfo;
17             $regioninfo = [
18             {
19             constraints => [
20             [
21             'region',
22             'startsWith',
23             'cn-'
24             ]
25             ],
26             uri => 'https://{service}.{region}.amazonaws.com.cn'
27             },
28             {
29             constraints => [
30             [
31             'region',
32             'startsWith',
33             'us-gov'
34             ]
35             ],
36             uri => 'https://{service}.us-gov.amazonaws.com'
37             },
38             {
39             properties => {
40             credentialScope => {
41             region => 'us-east-1'
42             }
43             },
44             uri => 'https://iam.amazonaws.com'
45             }
46             ];
47              
48             return $regioninfo;
49             });
50              
51            
52             sub AddClientIDToOpenIDConnectProvider {
53 0     0 1 0 my $self = shift;
54 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AddClientIDToOpenIDConnectProvider', @_);
55 0         0 return $self->caller->do_call($self, $call_object);
56             }
57             sub AddRoleToInstanceProfile {
58 0     0 1 0 my $self = shift;
59 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AddRoleToInstanceProfile', @_);
60 0         0 return $self->caller->do_call($self, $call_object);
61             }
62             sub AddUserToGroup {
63 0     0 1 0 my $self = shift;
64 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AddUserToGroup', @_);
65 0         0 return $self->caller->do_call($self, $call_object);
66             }
67             sub AttachGroupPolicy {
68 0     0 1 0 my $self = shift;
69 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AttachGroupPolicy', @_);
70 0         0 return $self->caller->do_call($self, $call_object);
71             }
72             sub AttachRolePolicy {
73 0     0 1 0 my $self = shift;
74 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AttachRolePolicy', @_);
75 0         0 return $self->caller->do_call($self, $call_object);
76             }
77             sub AttachUserPolicy {
78 0     0 1 0 my $self = shift;
79 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::AttachUserPolicy', @_);
80 0         0 return $self->caller->do_call($self, $call_object);
81             }
82             sub ChangePassword {
83 0     0 1 0 my $self = shift;
84 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ChangePassword', @_);
85 0         0 return $self->caller->do_call($self, $call_object);
86             }
87             sub CreateAccessKey {
88 0     0 1 0 my $self = shift;
89 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateAccessKey', @_);
90 0         0 return $self->caller->do_call($self, $call_object);
91             }
92             sub CreateAccountAlias {
93 0     0 1 0 my $self = shift;
94 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateAccountAlias', @_);
95 0         0 return $self->caller->do_call($self, $call_object);
96             }
97             sub CreateGroup {
98 0     0 1 0 my $self = shift;
99 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateGroup', @_);
100 0         0 return $self->caller->do_call($self, $call_object);
101             }
102             sub CreateInstanceProfile {
103 0     0 1 0 my $self = shift;
104 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateInstanceProfile', @_);
105 0         0 return $self->caller->do_call($self, $call_object);
106             }
107             sub CreateLoginProfile {
108 0     0 1 0 my $self = shift;
109 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateLoginProfile', @_);
110 0         0 return $self->caller->do_call($self, $call_object);
111             }
112             sub CreateOpenIDConnectProvider {
113 0     0 1 0 my $self = shift;
114 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateOpenIDConnectProvider', @_);
115 0         0 return $self->caller->do_call($self, $call_object);
116             }
117             sub CreatePolicy {
118 0     0 1 0 my $self = shift;
119 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreatePolicy', @_);
120 0         0 return $self->caller->do_call($self, $call_object);
121             }
122             sub CreatePolicyVersion {
123 0     0 1 0 my $self = shift;
124 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreatePolicyVersion', @_);
125 0         0 return $self->caller->do_call($self, $call_object);
126             }
127             sub CreateRole {
128 1     1 1 6 my $self = shift;
129 1         7 my $call_object = $self->new_with_coercions('Paws::IAM::CreateRole', @_);
130 1         1193 return $self->caller->do_call($self, $call_object);
131             }
132             sub CreateSAMLProvider {
133 0     0 1 0 my $self = shift;
134 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateSAMLProvider', @_);
135 0         0 return $self->caller->do_call($self, $call_object);
136             }
137             sub CreateServiceLinkedRole {
138 0     0 1 0 my $self = shift;
139 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateServiceLinkedRole', @_);
140 0         0 return $self->caller->do_call($self, $call_object);
141             }
142             sub CreateServiceSpecificCredential {
143 0     0 1 0 my $self = shift;
144 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::CreateServiceSpecificCredential', @_);
145 0         0 return $self->caller->do_call($self, $call_object);
146             }
147             sub CreateUser {
148 2     2 1 5 my $self = shift;
149 2         8 my $call_object = $self->new_with_coercions('Paws::IAM::CreateUser', @_);
150 2         1135 return $self->caller->do_call($self, $call_object);
151             }
152             sub CreateVirtualMFADevice {
153 1     1 1 306 my $self = shift;
154 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::CreateVirtualMFADevice', @_);
155 1         537 return $self->caller->do_call($self, $call_object);
156             }
157             sub DeactivateMFADevice {
158 0     0 1 0 my $self = shift;
159 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeactivateMFADevice', @_);
160 0         0 return $self->caller->do_call($self, $call_object);
161             }
162             sub DeleteAccessKey {
163 0     0 1 0 my $self = shift;
164 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteAccessKey', @_);
165 0         0 return $self->caller->do_call($self, $call_object);
166             }
167             sub DeleteAccountAlias {
168 0     0 1 0 my $self = shift;
169 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteAccountAlias', @_);
170 0         0 return $self->caller->do_call($self, $call_object);
171             }
172             sub DeleteAccountPasswordPolicy {
173 0     0 1 0 my $self = shift;
174 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteAccountPasswordPolicy', @_);
175 0         0 return $self->caller->do_call($self, $call_object);
176             }
177             sub DeleteGroup {
178 2     2 1 555 my $self = shift;
179 2         9 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteGroup', @_);
180 2         858 return $self->caller->do_call($self, $call_object);
181             }
182             sub DeleteGroupPolicy {
183 0     0 1 0 my $self = shift;
184 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteGroupPolicy', @_);
185 0         0 return $self->caller->do_call($self, $call_object);
186             }
187             sub DeleteInstanceProfile {
188 0     0 1 0 my $self = shift;
189 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteInstanceProfile', @_);
190 0         0 return $self->caller->do_call($self, $call_object);
191             }
192             sub DeleteLoginProfile {
193 0     0 1 0 my $self = shift;
194 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteLoginProfile', @_);
195 0         0 return $self->caller->do_call($self, $call_object);
196             }
197             sub DeleteOpenIDConnectProvider {
198 0     0 1 0 my $self = shift;
199 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteOpenIDConnectProvider', @_);
200 0         0 return $self->caller->do_call($self, $call_object);
201             }
202             sub DeletePolicy {
203 0     0 1 0 my $self = shift;
204 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeletePolicy', @_);
205 0         0 return $self->caller->do_call($self, $call_object);
206             }
207             sub DeletePolicyVersion {
208 0     0 1 0 my $self = shift;
209 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeletePolicyVersion', @_);
210 0         0 return $self->caller->do_call($self, $call_object);
211             }
212             sub DeleteRole {
213 0     0 1 0 my $self = shift;
214 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteRole', @_);
215 0         0 return $self->caller->do_call($self, $call_object);
216             }
217             sub DeleteRolePolicy {
218 0     0 1 0 my $self = shift;
219 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteRolePolicy', @_);
220 0         0 return $self->caller->do_call($self, $call_object);
221             }
222             sub DeleteSAMLProvider {
223 0     0 1 0 my $self = shift;
224 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteSAMLProvider', @_);
225 0         0 return $self->caller->do_call($self, $call_object);
226             }
227             sub DeleteServerCertificate {
228 0     0 1 0 my $self = shift;
229 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteServerCertificate', @_);
230 0         0 return $self->caller->do_call($self, $call_object);
231             }
232             sub DeleteServiceLinkedRole {
233 0     0 1 0 my $self = shift;
234 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteServiceLinkedRole', @_);
235 0         0 return $self->caller->do_call($self, $call_object);
236             }
237             sub DeleteServiceSpecificCredential {
238 0     0 1 0 my $self = shift;
239 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteServiceSpecificCredential', @_);
240 0         0 return $self->caller->do_call($self, $call_object);
241             }
242             sub DeleteSigningCertificate {
243 0     0 1 0 my $self = shift;
244 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteSigningCertificate', @_);
245 0         0 return $self->caller->do_call($self, $call_object);
246             }
247             sub DeleteSSHPublicKey {
248 0     0 1 0 my $self = shift;
249 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteSSHPublicKey', @_);
250 0         0 return $self->caller->do_call($self, $call_object);
251             }
252             sub DeleteUser {
253 0     0 1 0 my $self = shift;
254 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteUser', @_);
255 0         0 return $self->caller->do_call($self, $call_object);
256             }
257             sub DeleteUserPolicy {
258 0     0 1 0 my $self = shift;
259 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteUserPolicy', @_);
260 0         0 return $self->caller->do_call($self, $call_object);
261             }
262             sub DeleteVirtualMFADevice {
263 0     0 1 0 my $self = shift;
264 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DeleteVirtualMFADevice', @_);
265 0         0 return $self->caller->do_call($self, $call_object);
266             }
267             sub DetachGroupPolicy {
268 0     0 1 0 my $self = shift;
269 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DetachGroupPolicy', @_);
270 0         0 return $self->caller->do_call($self, $call_object);
271             }
272             sub DetachRolePolicy {
273 0     0 1 0 my $self = shift;
274 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DetachRolePolicy', @_);
275 0         0 return $self->caller->do_call($self, $call_object);
276             }
277             sub DetachUserPolicy {
278 0     0 1 0 my $self = shift;
279 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::DetachUserPolicy', @_);
280 0         0 return $self->caller->do_call($self, $call_object);
281             }
282             sub EnableMFADevice {
283 0     0 1 0 my $self = shift;
284 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::EnableMFADevice', @_);
285 0         0 return $self->caller->do_call($self, $call_object);
286             }
287             sub GenerateCredentialReport {
288 0     0 1 0 my $self = shift;
289 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GenerateCredentialReport', @_);
290 0         0 return $self->caller->do_call($self, $call_object);
291             }
292             sub GetAccessKeyLastUsed {
293 0     0 1 0 my $self = shift;
294 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetAccessKeyLastUsed', @_);
295 0         0 return $self->caller->do_call($self, $call_object);
296             }
297             sub GetAccountAuthorizationDetails {
298 0     0 1 0 my $self = shift;
299 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetAccountAuthorizationDetails', @_);
300 0         0 return $self->caller->do_call($self, $call_object);
301             }
302             sub GetAccountPasswordPolicy {
303 0     0 1 0 my $self = shift;
304 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetAccountPasswordPolicy', @_);
305 0         0 return $self->caller->do_call($self, $call_object);
306             }
307             sub GetAccountSummary {
308 2     2 1 308 my $self = shift;
309 2         11 my $call_object = $self->new_with_coercions('Paws::IAM::GetAccountSummary', @_);
310 2         433 return $self->caller->do_call($self, $call_object);
311             }
312             sub GetContextKeysForCustomPolicy {
313 0     0 1 0 my $self = shift;
314 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetContextKeysForCustomPolicy', @_);
315 0         0 return $self->caller->do_call($self, $call_object);
316             }
317             sub GetContextKeysForPrincipalPolicy {
318 0     0 1 0 my $self = shift;
319 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetContextKeysForPrincipalPolicy', @_);
320 0         0 return $self->caller->do_call($self, $call_object);
321             }
322             sub GetCredentialReport {
323 0     0 1 0 my $self = shift;
324 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetCredentialReport', @_);
325 0         0 return $self->caller->do_call($self, $call_object);
326             }
327             sub GetGroup {
328 1     1 1 384 my $self = shift;
329 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::GetGroup', @_);
330 1         651 return $self->caller->do_call($self, $call_object);
331             }
332             sub GetGroupPolicy {
333 0     0 1 0 my $self = shift;
334 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetGroupPolicy', @_);
335 0         0 return $self->caller->do_call($self, $call_object);
336             }
337             sub GetInstanceProfile {
338 0     0 1 0 my $self = shift;
339 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetInstanceProfile', @_);
340 0         0 return $self->caller->do_call($self, $call_object);
341             }
342             sub GetLoginProfile {
343 0     0 1 0 my $self = shift;
344 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetLoginProfile', @_);
345 0         0 return $self->caller->do_call($self, $call_object);
346             }
347             sub GetOpenIDConnectProvider {
348 0     0 1 0 my $self = shift;
349 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetOpenIDConnectProvider', @_);
350 0         0 return $self->caller->do_call($self, $call_object);
351             }
352             sub GetPolicy {
353 0     0 1 0 my $self = shift;
354 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetPolicy', @_);
355 0         0 return $self->caller->do_call($self, $call_object);
356             }
357             sub GetPolicyVersion {
358 0     0 1 0 my $self = shift;
359 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetPolicyVersion', @_);
360 0         0 return $self->caller->do_call($self, $call_object);
361             }
362             sub GetRole {
363 0     0 1 0 my $self = shift;
364 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetRole', @_);
365 0         0 return $self->caller->do_call($self, $call_object);
366             }
367             sub GetRolePolicy {
368 0     0 1 0 my $self = shift;
369 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetRolePolicy', @_);
370 0         0 return $self->caller->do_call($self, $call_object);
371             }
372             sub GetSAMLProvider {
373 0     0 1 0 my $self = shift;
374 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetSAMLProvider', @_);
375 0         0 return $self->caller->do_call($self, $call_object);
376             }
377             sub GetServerCertificate {
378 0     0 1 0 my $self = shift;
379 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetServerCertificate', @_);
380 0         0 return $self->caller->do_call($self, $call_object);
381             }
382             sub GetServiceLinkedRoleDeletionStatus {
383 0     0 1 0 my $self = shift;
384 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetServiceLinkedRoleDeletionStatus', @_);
385 0         0 return $self->caller->do_call($self, $call_object);
386             }
387             sub GetSSHPublicKey {
388 0     0 1 0 my $self = shift;
389 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::GetSSHPublicKey', @_);
390 0         0 return $self->caller->do_call($self, $call_object);
391             }
392             sub GetUser {
393 2     2 1 364 my $self = shift;
394 2         12 my $call_object = $self->new_with_coercions('Paws::IAM::GetUser', @_);
395 2         549 return $self->caller->do_call($self, $call_object);
396             }
397             sub GetUserPolicy {
398 1     1 1 338 my $self = shift;
399 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::GetUserPolicy', @_);
400 1         711 return $self->caller->do_call($self, $call_object);
401             }
402             sub ListAccessKeys {
403 1     1 1 237 my $self = shift;
404 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::ListAccessKeys', @_);
405 1         499 return $self->caller->do_call($self, $call_object);
406             }
407             sub ListAccountAliases {
408 1     1 1 203 my $self = shift;
409 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::ListAccountAliases', @_);
410 1         376 return $self->caller->do_call($self, $call_object);
411             }
412             sub ListAttachedGroupPolicies {
413 0     0 1 0 my $self = shift;
414 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListAttachedGroupPolicies', @_);
415 0         0 return $self->caller->do_call($self, $call_object);
416             }
417             sub ListAttachedRolePolicies {
418 0     0 1 0 my $self = shift;
419 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListAttachedRolePolicies', @_);
420 0         0 return $self->caller->do_call($self, $call_object);
421             }
422             sub ListAttachedUserPolicies {
423 0     0 1 0 my $self = shift;
424 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListAttachedUserPolicies', @_);
425 0         0 return $self->caller->do_call($self, $call_object);
426             }
427             sub ListEntitiesForPolicy {
428 0     0 1 0 my $self = shift;
429 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListEntitiesForPolicy', @_);
430 0         0 return $self->caller->do_call($self, $call_object);
431             }
432             sub ListGroupPolicies {
433 0     0 1 0 my $self = shift;
434 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListGroupPolicies', @_);
435 0         0 return $self->caller->do_call($self, $call_object);
436             }
437             sub ListGroups {
438 2     2 1 479 my $self = shift;
439 2         11 my $call_object = $self->new_with_coercions('Paws::IAM::ListGroups', @_);
440 2         945 return $self->caller->do_call($self, $call_object);
441             }
442             sub ListGroupsForUser {
443 0     0 1 0 my $self = shift;
444 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListGroupsForUser', @_);
445 0         0 return $self->caller->do_call($self, $call_object);
446             }
447             sub ListInstanceProfiles {
448 1     1 1 388 my $self = shift;
449 1         7 my $call_object = $self->new_with_coercions('Paws::IAM::ListInstanceProfiles', @_);
450 1         481 return $self->caller->do_call($self, $call_object);
451             }
452             sub ListInstanceProfilesForRole {
453 0     0 1 0 my $self = shift;
454 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListInstanceProfilesForRole', @_);
455 0         0 return $self->caller->do_call($self, $call_object);
456             }
457             sub ListMFADevices {
458 1     1 1 236 my $self = shift;
459 1         7 my $call_object = $self->new_with_coercions('Paws::IAM::ListMFADevices', @_);
460 1         477 return $self->caller->do_call($self, $call_object);
461             }
462             sub ListOpenIDConnectProviders {
463 0     0 1 0 my $self = shift;
464 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListOpenIDConnectProviders', @_);
465 0         0 return $self->caller->do_call($self, $call_object);
466             }
467             sub ListPolicies {
468 0     0 1 0 my $self = shift;
469 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListPolicies', @_);
470 0         0 return $self->caller->do_call($self, $call_object);
471             }
472             sub ListPolicyVersions {
473 0     0 1 0 my $self = shift;
474 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListPolicyVersions', @_);
475 0         0 return $self->caller->do_call($self, $call_object);
476             }
477             sub ListRolePolicies {
478 0     0 1 0 my $self = shift;
479 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListRolePolicies', @_);
480 0         0 return $self->caller->do_call($self, $call_object);
481             }
482             sub ListRoles {
483 1     1 1 251 my $self = shift;
484 1         492 my $call_object = $self->new_with_coercions('Paws::IAM::ListRoles', @_);
485 1         473 return $self->caller->do_call($self, $call_object);
486             }
487             sub ListSAMLProviders {
488 0     0 1 0 my $self = shift;
489 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListSAMLProviders', @_);
490 0         0 return $self->caller->do_call($self, $call_object);
491             }
492             sub ListServerCertificates {
493 1     1 1 442 my $self = shift;
494 1         9 my $call_object = $self->new_with_coercions('Paws::IAM::ListServerCertificates', @_);
495 1         952 return $self->caller->do_call($self, $call_object);
496             }
497             sub ListServiceSpecificCredentials {
498 0     0 1 0 my $self = shift;
499 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListServiceSpecificCredentials', @_);
500 0         0 return $self->caller->do_call($self, $call_object);
501             }
502             sub ListSigningCertificates {
503 1     1 1 250 my $self = shift;
504 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::ListSigningCertificates', @_);
505 1         472 return $self->caller->do_call($self, $call_object);
506             }
507             sub ListSSHPublicKeys {
508 0     0 1 0 my $self = shift;
509 0         0 my $call_object = $self->new_with_coercions('Paws::IAM::ListSSHPublicKeys', @_);
510 0         0 return $self->caller->do_call($self, $call_object);
511             }
512             sub ListUserPolicies {
513 1     1 1 355 my $self = shift;
514 1         6 my $call_object = $self->new_with_coercions('Paws::IAM::ListUserPolicies', @_);
515 1         692 return $self->caller->do_call($self, $call_object);
516             }
517             sub ListUsers {
518 3     3 1 284 my $self = shift;
519 3         16 my $call_object = $self->new_with_coercions('Paws::IAM::ListUsers', @_);
520 3         1998 return $self->caller->do_call($self, $call_object);
521             }
522             sub ListVirtualMFADevices {
523 1     1 1 235 my $self = shift;
524 1         5 my $call_object = $self->new_with_coercions('Paws::IAM::ListVirtualMFADevices', @_);
525 1         490 return $self->caller->do_call($self, $call_object);
526             }
527             sub PutGroupPolicy {
528 0     0 1   my $self = shift;
529 0           my $call_object = $self->new_with_coercions('Paws::IAM::PutGroupPolicy', @_);
530 0           return $self->caller->do_call($self, $call_object);
531             }
532             sub PutRolePolicy {
533 0     0 1   my $self = shift;
534 0           my $call_object = $self->new_with_coercions('Paws::IAM::PutRolePolicy', @_);
535 0           return $self->caller->do_call($self, $call_object);
536             }
537             sub PutUserPolicy {
538 0     0 1   my $self = shift;
539 0           my $call_object = $self->new_with_coercions('Paws::IAM::PutUserPolicy', @_);
540 0           return $self->caller->do_call($self, $call_object);
541             }
542             sub RemoveClientIDFromOpenIDConnectProvider {
543 0     0 1   my $self = shift;
544 0           my $call_object = $self->new_with_coercions('Paws::IAM::RemoveClientIDFromOpenIDConnectProvider', @_);
545 0           return $self->caller->do_call($self, $call_object);
546             }
547             sub RemoveRoleFromInstanceProfile {
548 0     0 1   my $self = shift;
549 0           my $call_object = $self->new_with_coercions('Paws::IAM::RemoveRoleFromInstanceProfile', @_);
550 0           return $self->caller->do_call($self, $call_object);
551             }
552             sub RemoveUserFromGroup {
553 0     0 1   my $self = shift;
554 0           my $call_object = $self->new_with_coercions('Paws::IAM::RemoveUserFromGroup', @_);
555 0           return $self->caller->do_call($self, $call_object);
556             }
557             sub ResetServiceSpecificCredential {
558 0     0 1   my $self = shift;
559 0           my $call_object = $self->new_with_coercions('Paws::IAM::ResetServiceSpecificCredential', @_);
560 0           return $self->caller->do_call($self, $call_object);
561             }
562             sub ResyncMFADevice {
563 0     0 1   my $self = shift;
564 0           my $call_object = $self->new_with_coercions('Paws::IAM::ResyncMFADevice', @_);
565 0           return $self->caller->do_call($self, $call_object);
566             }
567             sub SetDefaultPolicyVersion {
568 0     0 1   my $self = shift;
569 0           my $call_object = $self->new_with_coercions('Paws::IAM::SetDefaultPolicyVersion', @_);
570 0           return $self->caller->do_call($self, $call_object);
571             }
572             sub SimulateCustomPolicy {
573 0     0 1   my $self = shift;
574 0           my $call_object = $self->new_with_coercions('Paws::IAM::SimulateCustomPolicy', @_);
575 0           return $self->caller->do_call($self, $call_object);
576             }
577             sub SimulatePrincipalPolicy {
578 0     0 1   my $self = shift;
579 0           my $call_object = $self->new_with_coercions('Paws::IAM::SimulatePrincipalPolicy', @_);
580 0           return $self->caller->do_call($self, $call_object);
581             }
582             sub UpdateAccessKey {
583 0     0 1   my $self = shift;
584 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateAccessKey', @_);
585 0           return $self->caller->do_call($self, $call_object);
586             }
587             sub UpdateAccountPasswordPolicy {
588 0     0 1   my $self = shift;
589 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateAccountPasswordPolicy', @_);
590 0           return $self->caller->do_call($self, $call_object);
591             }
592             sub UpdateAssumeRolePolicy {
593 0     0 1   my $self = shift;
594 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateAssumeRolePolicy', @_);
595 0           return $self->caller->do_call($self, $call_object);
596             }
597             sub UpdateGroup {
598 0     0 1   my $self = shift;
599 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateGroup', @_);
600 0           return $self->caller->do_call($self, $call_object);
601             }
602             sub UpdateLoginProfile {
603 0     0 1   my $self = shift;
604 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateLoginProfile', @_);
605 0           return $self->caller->do_call($self, $call_object);
606             }
607             sub UpdateOpenIDConnectProviderThumbprint {
608 0     0 1   my $self = shift;
609 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateOpenIDConnectProviderThumbprint', @_);
610 0           return $self->caller->do_call($self, $call_object);
611             }
612             sub UpdateRoleDescription {
613 0     0 1   my $self = shift;
614 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateRoleDescription', @_);
615 0           return $self->caller->do_call($self, $call_object);
616             }
617             sub UpdateSAMLProvider {
618 0     0 1   my $self = shift;
619 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateSAMLProvider', @_);
620 0           return $self->caller->do_call($self, $call_object);
621             }
622             sub UpdateServerCertificate {
623 0     0 1   my $self = shift;
624 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateServerCertificate', @_);
625 0           return $self->caller->do_call($self, $call_object);
626             }
627             sub UpdateServiceSpecificCredential {
628 0     0 1   my $self = shift;
629 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateServiceSpecificCredential', @_);
630 0           return $self->caller->do_call($self, $call_object);
631             }
632             sub UpdateSigningCertificate {
633 0     0 1   my $self = shift;
634 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateSigningCertificate', @_);
635 0           return $self->caller->do_call($self, $call_object);
636             }
637             sub UpdateSSHPublicKey {
638 0     0 1   my $self = shift;
639 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateSSHPublicKey', @_);
640 0           return $self->caller->do_call($self, $call_object);
641             }
642             sub UpdateUser {
643 0     0 1   my $self = shift;
644 0           my $call_object = $self->new_with_coercions('Paws::IAM::UpdateUser', @_);
645 0           return $self->caller->do_call($self, $call_object);
646             }
647             sub UploadServerCertificate {
648 0     0 1   my $self = shift;
649 0           my $call_object = $self->new_with_coercions('Paws::IAM::UploadServerCertificate', @_);
650 0           return $self->caller->do_call($self, $call_object);
651             }
652             sub UploadSigningCertificate {
653 0     0 1   my $self = shift;
654 0           my $call_object = $self->new_with_coercions('Paws::IAM::UploadSigningCertificate', @_);
655 0           return $self->caller->do_call($self, $call_object);
656             }
657             sub UploadSSHPublicKey {
658 0     0 1   my $self = shift;
659 0           my $call_object = $self->new_with_coercions('Paws::IAM::UploadSSHPublicKey', @_);
660 0           return $self->caller->do_call($self, $call_object);
661             }
662            
663             sub GetAllAccountAuthorizationDetails {
664 0     0 1   my $self = shift;
665              
666 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
667 0           my $result = $self->GetAccountAuthorizationDetails(@_);
668 0           my $next_result = $result;
669              
670 0 0         if (not defined $callback) {
671 0           while ($next_result->IsTruncated) {
672 0           $next_result = $self->GetAccountAuthorizationDetails(@_, Marker => $next_result->Marker);
673 0           push @{ $result->UserDetailList }, @{ $next_result->UserDetailList };
  0            
  0            
674 0           push @{ $result->GroupDetailList }, @{ $next_result->GroupDetailList };
  0            
  0            
675 0           push @{ $result->RoleDetailList }, @{ $next_result->RoleDetailList };
  0            
  0            
676 0           push @{ $result->Policies }, @{ $next_result->Policies };
  0            
  0            
677             }
678 0           return $result;
679             } else {
680 0           while ($result->IsTruncated) {
681 0           $callback->($_ => 'UserDetailList') foreach (@{ $result->UserDetailList });
  0            
682 0           $callback->($_ => 'GroupDetailList') foreach (@{ $result->GroupDetailList });
  0            
683 0           $callback->($_ => 'RoleDetailList') foreach (@{ $result->RoleDetailList });
  0            
684 0           $callback->($_ => 'Policies') foreach (@{ $result->Policies });
  0            
685 0           $result = $self->GetAccountAuthorizationDetails(@_, Marker => $result->Marker);
686             }
687 0           $callback->($_ => 'UserDetailList') foreach (@{ $result->UserDetailList });
  0            
688 0           $callback->($_ => 'GroupDetailList') foreach (@{ $result->GroupDetailList });
  0            
689 0           $callback->($_ => 'RoleDetailList') foreach (@{ $result->RoleDetailList });
  0            
690 0           $callback->($_ => 'Policies') foreach (@{ $result->Policies });
  0            
691             }
692              
693             return undef
694 0           }
695             sub GetAllGroup {
696 0     0 1   my $self = shift;
697              
698 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
699 0           my $result = $self->GetGroup(@_);
700 0           my $next_result = $result;
701              
702 0 0         if (not defined $callback) {
703 0           while ($next_result->IsTruncated) {
704 0           $next_result = $self->GetGroup(@_, Marker => $next_result->Marker);
705 0           push @{ $result->Users }, @{ $next_result->Users };
  0            
  0            
706             }
707 0           return $result;
708             } else {
709 0           while ($result->IsTruncated) {
710 0           $callback->($_ => 'Users') foreach (@{ $result->Users });
  0            
711 0           $result = $self->GetGroup(@_, Marker => $result->Marker);
712             }
713 0           $callback->($_ => 'Users') foreach (@{ $result->Users });
  0            
714             }
715              
716             return undef
717 0           }
718             sub ListAllAccessKeys {
719 0     0 1   my $self = shift;
720              
721 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
722 0           my $result = $self->ListAccessKeys(@_);
723 0           my $next_result = $result;
724              
725 0 0         if (not defined $callback) {
726 0           while ($next_result->IsTruncated) {
727 0           $next_result = $self->ListAccessKeys(@_, Marker => $next_result->Marker);
728 0           push @{ $result->AccessKeyMetadata }, @{ $next_result->AccessKeyMetadata };
  0            
  0            
729             }
730 0           return $result;
731             } else {
732 0           while ($result->IsTruncated) {
733 0           $callback->($_ => 'AccessKeyMetadata') foreach (@{ $result->AccessKeyMetadata });
  0            
734 0           $result = $self->ListAccessKeys(@_, Marker => $result->Marker);
735             }
736 0           $callback->($_ => 'AccessKeyMetadata') foreach (@{ $result->AccessKeyMetadata });
  0            
737             }
738              
739             return undef
740 0           }
741             sub ListAllAccountAliases {
742 0     0 1   my $self = shift;
743              
744 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
745 0           my $result = $self->ListAccountAliases(@_);
746 0           my $next_result = $result;
747              
748 0 0         if (not defined $callback) {
749 0           while ($next_result->IsTruncated) {
750 0           $next_result = $self->ListAccountAliases(@_, Marker => $next_result->Marker);
751 0           push @{ $result->AccountAliases }, @{ $next_result->AccountAliases };
  0            
  0            
752             }
753 0           return $result;
754             } else {
755 0           while ($result->IsTruncated) {
756 0           $callback->($_ => 'AccountAliases') foreach (@{ $result->AccountAliases });
  0            
757 0           $result = $self->ListAccountAliases(@_, Marker => $result->Marker);
758             }
759 0           $callback->($_ => 'AccountAliases') foreach (@{ $result->AccountAliases });
  0            
760             }
761              
762             return undef
763 0           }
764             sub ListAllAttachedGroupPolicies {
765 0     0 1   my $self = shift;
766              
767 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
768 0           my $result = $self->ListAttachedGroupPolicies(@_);
769 0           my $next_result = $result;
770              
771 0 0         if (not defined $callback) {
772 0           while ($next_result->IsTruncated) {
773 0           $next_result = $self->ListAttachedGroupPolicies(@_, Marker => $next_result->Marker);
774 0           push @{ $result->AttachedPolicies }, @{ $next_result->AttachedPolicies };
  0            
  0            
775             }
776 0           return $result;
777             } else {
778 0           while ($result->IsTruncated) {
779 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
780 0           $result = $self->ListAttachedGroupPolicies(@_, Marker => $result->Marker);
781             }
782 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
783             }
784              
785             return undef
786 0           }
787             sub ListAllAttachedRolePolicies {
788 0     0 1   my $self = shift;
789              
790 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
791 0           my $result = $self->ListAttachedRolePolicies(@_);
792 0           my $next_result = $result;
793              
794 0 0         if (not defined $callback) {
795 0           while ($next_result->IsTruncated) {
796 0           $next_result = $self->ListAttachedRolePolicies(@_, Marker => $next_result->Marker);
797 0           push @{ $result->AttachedPolicies }, @{ $next_result->AttachedPolicies };
  0            
  0            
798             }
799 0           return $result;
800             } else {
801 0           while ($result->IsTruncated) {
802 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
803 0           $result = $self->ListAttachedRolePolicies(@_, Marker => $result->Marker);
804             }
805 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
806             }
807              
808             return undef
809 0           }
810             sub ListAllAttachedUserPolicies {
811 0     0 1   my $self = shift;
812              
813 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
814 0           my $result = $self->ListAttachedUserPolicies(@_);
815 0           my $next_result = $result;
816              
817 0 0         if (not defined $callback) {
818 0           while ($next_result->IsTruncated) {
819 0           $next_result = $self->ListAttachedUserPolicies(@_, Marker => $next_result->Marker);
820 0           push @{ $result->AttachedPolicies }, @{ $next_result->AttachedPolicies };
  0            
  0            
821             }
822 0           return $result;
823             } else {
824 0           while ($result->IsTruncated) {
825 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
826 0           $result = $self->ListAttachedUserPolicies(@_, Marker => $result->Marker);
827             }
828 0           $callback->($_ => 'AttachedPolicies') foreach (@{ $result->AttachedPolicies });
  0            
829             }
830              
831             return undef
832 0           }
833             sub ListAllEntitiesForPolicy {
834 0     0 1   my $self = shift;
835              
836 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
837 0           my $result = $self->ListEntitiesForPolicy(@_);
838 0           my $next_result = $result;
839              
840 0 0         if (not defined $callback) {
841 0           while ($next_result->IsTruncated) {
842 0           $next_result = $self->ListEntitiesForPolicy(@_, Marker => $next_result->Marker);
843 0           push @{ $result->PolicyGroups }, @{ $next_result->PolicyGroups };
  0            
  0            
844 0           push @{ $result->PolicyUsers }, @{ $next_result->PolicyUsers };
  0            
  0            
845 0           push @{ $result->PolicyRoles }, @{ $next_result->PolicyRoles };
  0            
  0            
846             }
847 0           return $result;
848             } else {
849 0           while ($result->IsTruncated) {
850 0           $callback->($_ => 'PolicyGroups') foreach (@{ $result->PolicyGroups });
  0            
851 0           $callback->($_ => 'PolicyUsers') foreach (@{ $result->PolicyUsers });
  0            
852 0           $callback->($_ => 'PolicyRoles') foreach (@{ $result->PolicyRoles });
  0            
853 0           $result = $self->ListEntitiesForPolicy(@_, Marker => $result->Marker);
854             }
855 0           $callback->($_ => 'PolicyGroups') foreach (@{ $result->PolicyGroups });
  0            
856 0           $callback->($_ => 'PolicyUsers') foreach (@{ $result->PolicyUsers });
  0            
857 0           $callback->($_ => 'PolicyRoles') foreach (@{ $result->PolicyRoles });
  0            
858             }
859              
860             return undef
861 0           }
862             sub ListAllGroupPolicies {
863 0     0 1   my $self = shift;
864              
865 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
866 0           my $result = $self->ListGroupPolicies(@_);
867 0           my $next_result = $result;
868              
869 0 0         if (not defined $callback) {
870 0           while ($next_result->IsTruncated) {
871 0           $next_result = $self->ListGroupPolicies(@_, Marker => $next_result->Marker);
872 0           push @{ $result->PolicyNames }, @{ $next_result->PolicyNames };
  0            
  0            
873             }
874 0           return $result;
875             } else {
876 0           while ($result->IsTruncated) {
877 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
878 0           $result = $self->ListGroupPolicies(@_, Marker => $result->Marker);
879             }
880 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
881             }
882              
883             return undef
884 0           }
885             sub ListAllGroups {
886 0     0 1   my $self = shift;
887              
888 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
889 0           my $result = $self->ListGroups(@_);
890 0           my $next_result = $result;
891              
892 0 0         if (not defined $callback) {
893 0           while ($next_result->IsTruncated) {
894 0           $next_result = $self->ListGroups(@_, Marker => $next_result->Marker);
895 0           push @{ $result->Groups }, @{ $next_result->Groups };
  0            
  0            
896             }
897 0           return $result;
898             } else {
899 0           while ($result->IsTruncated) {
900 0           $callback->($_ => 'Groups') foreach (@{ $result->Groups });
  0            
901 0           $result = $self->ListGroups(@_, Marker => $result->Marker);
902             }
903 0           $callback->($_ => 'Groups') foreach (@{ $result->Groups });
  0            
904             }
905              
906             return undef
907 0           }
908             sub ListAllGroupsForUser {
909 0     0 1   my $self = shift;
910              
911 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
912 0           my $result = $self->ListGroupsForUser(@_);
913 0           my $next_result = $result;
914              
915 0 0         if (not defined $callback) {
916 0           while ($next_result->IsTruncated) {
917 0           $next_result = $self->ListGroupsForUser(@_, Marker => $next_result->Marker);
918 0           push @{ $result->Groups }, @{ $next_result->Groups };
  0            
  0            
919             }
920 0           return $result;
921             } else {
922 0           while ($result->IsTruncated) {
923 0           $callback->($_ => 'Groups') foreach (@{ $result->Groups });
  0            
924 0           $result = $self->ListGroupsForUser(@_, Marker => $result->Marker);
925             }
926 0           $callback->($_ => 'Groups') foreach (@{ $result->Groups });
  0            
927             }
928              
929             return undef
930 0           }
931             sub ListAllInstanceProfiles {
932 0     0 1   my $self = shift;
933              
934 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
935 0           my $result = $self->ListInstanceProfiles(@_);
936 0           my $next_result = $result;
937              
938 0 0         if (not defined $callback) {
939 0           while ($next_result->IsTruncated) {
940 0           $next_result = $self->ListInstanceProfiles(@_, Marker => $next_result->Marker);
941 0           push @{ $result->InstanceProfiles }, @{ $next_result->InstanceProfiles };
  0            
  0            
942             }
943 0           return $result;
944             } else {
945 0           while ($result->IsTruncated) {
946 0           $callback->($_ => 'InstanceProfiles') foreach (@{ $result->InstanceProfiles });
  0            
947 0           $result = $self->ListInstanceProfiles(@_, Marker => $result->Marker);
948             }
949 0           $callback->($_ => 'InstanceProfiles') foreach (@{ $result->InstanceProfiles });
  0            
950             }
951              
952             return undef
953 0           }
954             sub ListAllInstanceProfilesForRole {
955 0     0 1   my $self = shift;
956              
957 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
958 0           my $result = $self->ListInstanceProfilesForRole(@_);
959 0           my $next_result = $result;
960              
961 0 0         if (not defined $callback) {
962 0           while ($next_result->IsTruncated) {
963 0           $next_result = $self->ListInstanceProfilesForRole(@_, Marker => $next_result->Marker);
964 0           push @{ $result->InstanceProfiles }, @{ $next_result->InstanceProfiles };
  0            
  0            
965             }
966 0           return $result;
967             } else {
968 0           while ($result->IsTruncated) {
969 0           $callback->($_ => 'InstanceProfiles') foreach (@{ $result->InstanceProfiles });
  0            
970 0           $result = $self->ListInstanceProfilesForRole(@_, Marker => $result->Marker);
971             }
972 0           $callback->($_ => 'InstanceProfiles') foreach (@{ $result->InstanceProfiles });
  0            
973             }
974              
975             return undef
976 0           }
977             sub ListAllMFADevices {
978 0     0 1   my $self = shift;
979              
980 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
981 0           my $result = $self->ListMFADevices(@_);
982 0           my $next_result = $result;
983              
984 0 0         if (not defined $callback) {
985 0           while ($next_result->IsTruncated) {
986 0           $next_result = $self->ListMFADevices(@_, Marker => $next_result->Marker);
987 0           push @{ $result->MFADevices }, @{ $next_result->MFADevices };
  0            
  0            
988             }
989 0           return $result;
990             } else {
991 0           while ($result->IsTruncated) {
992 0           $callback->($_ => 'MFADevices') foreach (@{ $result->MFADevices });
  0            
993 0           $result = $self->ListMFADevices(@_, Marker => $result->Marker);
994             }
995 0           $callback->($_ => 'MFADevices') foreach (@{ $result->MFADevices });
  0            
996             }
997              
998             return undef
999 0           }
1000             sub ListAllPolicies {
1001 0     0 1   my $self = shift;
1002              
1003 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1004 0           my $result = $self->ListPolicies(@_);
1005 0           my $next_result = $result;
1006              
1007 0 0         if (not defined $callback) {
1008 0           while ($next_result->IsTruncated) {
1009 0           $next_result = $self->ListPolicies(@_, Marker => $next_result->Marker);
1010 0           push @{ $result->Policies }, @{ $next_result->Policies };
  0            
  0            
1011             }
1012 0           return $result;
1013             } else {
1014 0           while ($result->IsTruncated) {
1015 0           $callback->($_ => 'Policies') foreach (@{ $result->Policies });
  0            
1016 0           $result = $self->ListPolicies(@_, Marker => $result->Marker);
1017             }
1018 0           $callback->($_ => 'Policies') foreach (@{ $result->Policies });
  0            
1019             }
1020              
1021             return undef
1022 0           }
1023             sub ListAllPolicyVersions {
1024 0     0 1   my $self = shift;
1025              
1026 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1027 0           my $result = $self->ListPolicyVersions(@_);
1028 0           my $next_result = $result;
1029              
1030 0 0         if (not defined $callback) {
1031 0           while ($next_result->IsTruncated) {
1032 0           $next_result = $self->ListPolicyVersions(@_, Marker => $next_result->Marker);
1033 0           push @{ $result->Versions }, @{ $next_result->Versions };
  0            
  0            
1034             }
1035 0           return $result;
1036             } else {
1037 0           while ($result->IsTruncated) {
1038 0           $callback->($_ => 'Versions') foreach (@{ $result->Versions });
  0            
1039 0           $result = $self->ListPolicyVersions(@_, Marker => $result->Marker);
1040             }
1041 0           $callback->($_ => 'Versions') foreach (@{ $result->Versions });
  0            
1042             }
1043              
1044             return undef
1045 0           }
1046             sub ListAllRolePolicies {
1047 0     0 1   my $self = shift;
1048              
1049 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1050 0           my $result = $self->ListRolePolicies(@_);
1051 0           my $next_result = $result;
1052              
1053 0 0         if (not defined $callback) {
1054 0           while ($next_result->IsTruncated) {
1055 0           $next_result = $self->ListRolePolicies(@_, Marker => $next_result->Marker);
1056 0           push @{ $result->PolicyNames }, @{ $next_result->PolicyNames };
  0            
  0            
1057             }
1058 0           return $result;
1059             } else {
1060 0           while ($result->IsTruncated) {
1061 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
1062 0           $result = $self->ListRolePolicies(@_, Marker => $result->Marker);
1063             }
1064 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
1065             }
1066              
1067             return undef
1068 0           }
1069             sub ListAllRoles {
1070 0     0 1   my $self = shift;
1071              
1072 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1073 0           my $result = $self->ListRoles(@_);
1074 0           my $next_result = $result;
1075              
1076 0 0         if (not defined $callback) {
1077 0           while ($next_result->IsTruncated) {
1078 0           $next_result = $self->ListRoles(@_, Marker => $next_result->Marker);
1079 0           push @{ $result->Roles }, @{ $next_result->Roles };
  0            
  0            
1080             }
1081 0           return $result;
1082             } else {
1083 0           while ($result->IsTruncated) {
1084 0           $callback->($_ => 'Roles') foreach (@{ $result->Roles });
  0            
1085 0           $result = $self->ListRoles(@_, Marker => $result->Marker);
1086             }
1087 0           $callback->($_ => 'Roles') foreach (@{ $result->Roles });
  0            
1088             }
1089              
1090             return undef
1091 0           }
1092             sub ListAllServerCertificates {
1093 0     0 1   my $self = shift;
1094              
1095 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1096 0           my $result = $self->ListServerCertificates(@_);
1097 0           my $next_result = $result;
1098              
1099 0 0         if (not defined $callback) {
1100 0           while ($next_result->IsTruncated) {
1101 0           $next_result = $self->ListServerCertificates(@_, Marker => $next_result->Marker);
1102 0           push @{ $result->ServerCertificateMetadataList }, @{ $next_result->ServerCertificateMetadataList };
  0            
  0            
1103             }
1104 0           return $result;
1105             } else {
1106 0           while ($result->IsTruncated) {
1107 0           $callback->($_ => 'ServerCertificateMetadataList') foreach (@{ $result->ServerCertificateMetadataList });
  0            
1108 0           $result = $self->ListServerCertificates(@_, Marker => $result->Marker);
1109             }
1110 0           $callback->($_ => 'ServerCertificateMetadataList') foreach (@{ $result->ServerCertificateMetadataList });
  0            
1111             }
1112              
1113             return undef
1114 0           }
1115             sub ListAllSigningCertificates {
1116 0     0 1   my $self = shift;
1117              
1118 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1119 0           my $result = $self->ListSigningCertificates(@_);
1120 0           my $next_result = $result;
1121              
1122 0 0         if (not defined $callback) {
1123 0           while ($next_result->IsTruncated) {
1124 0           $next_result = $self->ListSigningCertificates(@_, Marker => $next_result->Marker);
1125 0           push @{ $result->Certificates }, @{ $next_result->Certificates };
  0            
  0            
1126             }
1127 0           return $result;
1128             } else {
1129 0           while ($result->IsTruncated) {
1130 0           $callback->($_ => 'Certificates') foreach (@{ $result->Certificates });
  0            
1131 0           $result = $self->ListSigningCertificates(@_, Marker => $result->Marker);
1132             }
1133 0           $callback->($_ => 'Certificates') foreach (@{ $result->Certificates });
  0            
1134             }
1135              
1136             return undef
1137 0           }
1138             sub ListAllSSHPublicKeys {
1139 0     0 1   my $self = shift;
1140              
1141 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1142 0           my $result = $self->ListSSHPublicKeys(@_);
1143 0           my $next_result = $result;
1144              
1145 0 0         if (not defined $callback) {
1146 0           while ($next_result->IsTruncated) {
1147 0           $next_result = $self->ListSSHPublicKeys(@_, Marker => $next_result->Marker);
1148 0           push @{ $result->SSHPublicKeys }, @{ $next_result->SSHPublicKeys };
  0            
  0            
1149             }
1150 0           return $result;
1151             } else {
1152 0           while ($result->IsTruncated) {
1153 0           $callback->($_ => 'SSHPublicKeys') foreach (@{ $result->SSHPublicKeys });
  0            
1154 0           $result = $self->ListSSHPublicKeys(@_, Marker => $result->Marker);
1155             }
1156 0           $callback->($_ => 'SSHPublicKeys') foreach (@{ $result->SSHPublicKeys });
  0            
1157             }
1158              
1159             return undef
1160 0           }
1161             sub ListAllUserPolicies {
1162 0     0 1   my $self = shift;
1163              
1164 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1165 0           my $result = $self->ListUserPolicies(@_);
1166 0           my $next_result = $result;
1167              
1168 0 0         if (not defined $callback) {
1169 0           while ($next_result->IsTruncated) {
1170 0           $next_result = $self->ListUserPolicies(@_, Marker => $next_result->Marker);
1171 0           push @{ $result->PolicyNames }, @{ $next_result->PolicyNames };
  0            
  0            
1172             }
1173 0           return $result;
1174             } else {
1175 0           while ($result->IsTruncated) {
1176 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
1177 0           $result = $self->ListUserPolicies(@_, Marker => $result->Marker);
1178             }
1179 0           $callback->($_ => 'PolicyNames') foreach (@{ $result->PolicyNames });
  0            
1180             }
1181              
1182             return undef
1183 0           }
1184             sub ListAllUsers {
1185 0     0 1   my $self = shift;
1186              
1187 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1188 0           my $result = $self->ListUsers(@_);
1189 0           my $next_result = $result;
1190              
1191 0 0         if (not defined $callback) {
1192 0           while ($next_result->IsTruncated) {
1193 0           $next_result = $self->ListUsers(@_, Marker => $next_result->Marker);
1194 0           push @{ $result->Users }, @{ $next_result->Users };
  0            
  0            
1195             }
1196 0           return $result;
1197             } else {
1198 0           while ($result->IsTruncated) {
1199 0           $callback->($_ => 'Users') foreach (@{ $result->Users });
  0            
1200 0           $result = $self->ListUsers(@_, Marker => $result->Marker);
1201             }
1202 0           $callback->($_ => 'Users') foreach (@{ $result->Users });
  0            
1203             }
1204              
1205             return undef
1206 0           }
1207             sub ListAllVirtualMFADevices {
1208 0     0 1   my $self = shift;
1209              
1210 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1211 0           my $result = $self->ListVirtualMFADevices(@_);
1212 0           my $next_result = $result;
1213              
1214 0 0         if (not defined $callback) {
1215 0           while ($next_result->IsTruncated) {
1216 0           $next_result = $self->ListVirtualMFADevices(@_, Marker => $next_result->Marker);
1217 0           push @{ $result->VirtualMFADevices }, @{ $next_result->VirtualMFADevices };
  0            
  0            
1218             }
1219 0           return $result;
1220             } else {
1221 0           while ($result->IsTruncated) {
1222 0           $callback->($_ => 'VirtualMFADevices') foreach (@{ $result->VirtualMFADevices });
  0            
1223 0           $result = $self->ListVirtualMFADevices(@_, Marker => $result->Marker);
1224             }
1225 0           $callback->($_ => 'VirtualMFADevices') foreach (@{ $result->VirtualMFADevices });
  0            
1226             }
1227              
1228             return undef
1229 0           }
1230             sub SimulateAllCustomPolicies {
1231 0     0 1   my $self = shift;
1232              
1233 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1234 0           my $result = $self->SimulateCustomPolicy(@_);
1235 0           my $next_result = $result;
1236              
1237 0 0         if (not defined $callback) {
1238 0           while ($next_result->IsTruncated) {
1239 0           $next_result = $self->SimulateCustomPolicy(@_, Marker => $next_result->Marker);
1240 0           push @{ $result->EvaluationResults }, @{ $next_result->EvaluationResults };
  0            
  0            
1241             }
1242 0           return $result;
1243             } else {
1244 0           while ($result->IsTruncated) {
1245 0           $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
  0            
1246 0           $result = $self->SimulateCustomPolicy(@_, Marker => $result->Marker);
1247             }
1248 0           $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
  0            
1249             }
1250              
1251             return undef
1252 0           }
1253             sub SimulateAllPrincipalPolicies {
1254 0     0 1   my $self = shift;
1255              
1256 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1257 0           my $result = $self->SimulatePrincipalPolicy(@_);
1258 0           my $next_result = $result;
1259              
1260 0 0         if (not defined $callback) {
1261 0           while ($next_result->IsTruncated) {
1262 0           $next_result = $self->SimulatePrincipalPolicy(@_, Marker => $next_result->Marker);
1263 0           push @{ $result->EvaluationResults }, @{ $next_result->EvaluationResults };
  0            
  0            
1264             }
1265 0           return $result;
1266             } else {
1267 0           while ($result->IsTruncated) {
1268 0           $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
  0            
1269 0           $result = $self->SimulatePrincipalPolicy(@_, Marker => $result->Marker);
1270             }
1271 0           $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
  0            
1272             }
1273              
1274             return undef
1275 0           }
1276              
1277              
1278 0     0 0   sub operations { qw/AddClientIDToOpenIDConnectProvider AddRoleToInstanceProfile AddUserToGroup AttachGroupPolicy AttachRolePolicy AttachUserPolicy ChangePassword CreateAccessKey CreateAccountAlias CreateGroup CreateInstanceProfile CreateLoginProfile CreateOpenIDConnectProvider CreatePolicy CreatePolicyVersion CreateRole CreateSAMLProvider CreateServiceLinkedRole CreateServiceSpecificCredential CreateUser CreateVirtualMFADevice DeactivateMFADevice DeleteAccessKey DeleteAccountAlias DeleteAccountPasswordPolicy DeleteGroup DeleteGroupPolicy DeleteInstanceProfile DeleteLoginProfile DeleteOpenIDConnectProvider DeletePolicy DeletePolicyVersion DeleteRole DeleteRolePolicy DeleteSAMLProvider DeleteServerCertificate DeleteServiceLinkedRole DeleteServiceSpecificCredential DeleteSigningCertificate DeleteSSHPublicKey DeleteUser DeleteUserPolicy DeleteVirtualMFADevice DetachGroupPolicy DetachRolePolicy DetachUserPolicy EnableMFADevice GenerateCredentialReport GetAccessKeyLastUsed GetAccountAuthorizationDetails GetAccountPasswordPolicy GetAccountSummary GetContextKeysForCustomPolicy GetContextKeysForPrincipalPolicy GetCredentialReport GetGroup GetGroupPolicy GetInstanceProfile GetLoginProfile GetOpenIDConnectProvider GetPolicy GetPolicyVersion GetRole GetRolePolicy GetSAMLProvider GetServerCertificate GetServiceLinkedRoleDeletionStatus GetSSHPublicKey GetUser GetUserPolicy ListAccessKeys ListAccountAliases ListAttachedGroupPolicies ListAttachedRolePolicies ListAttachedUserPolicies ListEntitiesForPolicy ListGroupPolicies ListGroups ListGroupsForUser ListInstanceProfiles ListInstanceProfilesForRole ListMFADevices ListOpenIDConnectProviders ListPolicies ListPolicyVersions ListRolePolicies ListRoles ListSAMLProviders ListServerCertificates ListServiceSpecificCredentials ListSigningCertificates ListSSHPublicKeys ListUserPolicies ListUsers ListVirtualMFADevices PutGroupPolicy PutRolePolicy PutUserPolicy RemoveClientIDFromOpenIDConnectProvider RemoveRoleFromInstanceProfile RemoveUserFromGroup ResetServiceSpecificCredential ResyncMFADevice SetDefaultPolicyVersion SimulateCustomPolicy SimulatePrincipalPolicy UpdateAccessKey UpdateAccountPasswordPolicy UpdateAssumeRolePolicy UpdateGroup UpdateLoginProfile UpdateOpenIDConnectProviderThumbprint UpdateRoleDescription UpdateSAMLProvider UpdateServerCertificate UpdateServiceSpecificCredential UpdateSigningCertificate UpdateSSHPublicKey UpdateUser UploadServerCertificate UploadSigningCertificate UploadSSHPublicKey / }
1279              
1280             1;
1281              
1282             ### main pod documentation begin ###
1283              
1284             =head1 NAME
1285              
1286             Paws::IAM - Perl Interface to AWS AWS Identity and Access Management
1287              
1288             =head1 SYNOPSIS
1289              
1290             use Paws;
1291              
1292             my $obj = Paws->service('IAM');
1293             my $res = $obj->Method(
1294             Arg1 => $val1,
1295             Arg2 => [ 'V1', 'V2' ],
1296             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
1297             # of the arguments type
1298             Arg3 => { Att1 => 'Val1' },
1299             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
1300             # the constructor of the arguments type
1301             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
1302             );
1303              
1304             =head1 DESCRIPTION
1305              
1306             AWS Identity and Access Management
1307              
1308             AWS Identity and Access Management (IAM) is a web service that you can
1309             use to manage users and user permissions under your AWS account. This
1310             guide provides descriptions of IAM actions that you can call
1311             programmatically. For general information about IAM, see AWS Identity
1312             and Access Management (IAM). For the user guide for IAM, see Using IAM.
1313              
1314             AWS provides SDKs that consist of libraries and sample code for various
1315             programming languages and platforms (Java, Ruby, .NET, iOS, Android,
1316             etc.). The SDKs provide a convenient way to create programmatic access
1317             to IAM and AWS. For example, the SDKs take care of tasks such as
1318             cryptographically signing requests (see below), managing errors, and
1319             retrying requests automatically. For information about the AWS SDKs,
1320             including how to download and install them, see the Tools for Amazon
1321             Web Services page.
1322              
1323             We recommend that you use the AWS SDKs to make programmatic API calls
1324             to IAM. However, you can also use the IAM Query API to make direct
1325             calls to the IAM web service. To learn more about the IAM Query API,
1326             see Making Query Requests in the I<Using IAM> guide. IAM supports GET
1327             and POST requests for all actions. That is, the API does not require
1328             you to use GET for some actions and POST for others. However, GET
1329             requests are subject to the limitation size of a URL. Therefore, for
1330             operations that require larger sizes, use a POST request.
1331              
1332             B<Signing Requests>
1333              
1334             Requests must be signed using an access key ID and a secret access key.
1335             We strongly recommend that you do not use your AWS account access key
1336             ID and secret access key for everyday work with IAM. You can use the
1337             access key ID and secret access key for an IAM user or you can use the
1338             AWS Security Token Service to generate temporary security credentials
1339             and use those to sign requests.
1340              
1341             To sign requests, we recommend that you use Signature Version 4. If you
1342             have an existing application that uses Signature Version 2, you do not
1343             have to update it to use Signature Version 4. However, some operations
1344             now require Signature Version 4. The documentation for operations that
1345             require version 4 indicate this requirement.
1346              
1347             B<Additional Resources>
1348              
1349             For more information, see the following:
1350              
1351             =over
1352              
1353             =item *
1354              
1355             AWS Security Credentials. This topic provides general information about
1356             the types of credentials used for accessing AWS.
1357              
1358             =item *
1359              
1360             IAM Best Practices. This topic presents a list of suggestions for using
1361             the IAM service to help secure your AWS resources.
1362              
1363             =item *
1364              
1365             Signing AWS API Requests. This set of topics walk you through the
1366             process of signing a request using an access key ID and secret access
1367             key.
1368              
1369             =back
1370              
1371              
1372             =head1 METHODS
1373              
1374             =head2 AddClientIDToOpenIDConnectProvider(ClientID => Str, OpenIDConnectProviderArn => Str)
1375              
1376             Each argument is described in detail in: L<Paws::IAM::AddClientIDToOpenIDConnectProvider>
1377              
1378             Returns: nothing
1379              
1380             Adds a new client ID (also known as audience) to the list of client IDs
1381             already registered for the specified IAM OpenID Connect (OIDC) provider
1382             resource.
1383              
1384             This action is idempotent; it does not fail or return an error if you
1385             add an existing client ID to the provider.
1386              
1387              
1388             =head2 AddRoleToInstanceProfile(InstanceProfileName => Str, RoleName => Str)
1389              
1390             Each argument is described in detail in: L<Paws::IAM::AddRoleToInstanceProfile>
1391              
1392             Returns: nothing
1393              
1394             Adds the specified IAM role to the specified instance profile. An
1395             instance profile can contain only one role, and this limit cannot be
1396             increased.
1397              
1398             The caller of this API must be granted the C<PassRole> permission on
1399             the IAM role by a permission policy.
1400              
1401             For more information about roles, go to Working with Roles. For more
1402             information about instance profiles, go to About Instance Profiles.
1403              
1404              
1405             =head2 AddUserToGroup(GroupName => Str, UserName => Str)
1406              
1407             Each argument is described in detail in: L<Paws::IAM::AddUserToGroup>
1408              
1409             Returns: nothing
1410              
1411             Adds the specified user to the specified group.
1412              
1413              
1414             =head2 AttachGroupPolicy(GroupName => Str, PolicyArn => Str)
1415              
1416             Each argument is described in detail in: L<Paws::IAM::AttachGroupPolicy>
1417              
1418             Returns: nothing
1419              
1420             Attaches the specified managed policy to the specified IAM group.
1421              
1422             You use this API to attach a managed policy to a group. To embed an
1423             inline policy in a group, use PutGroupPolicy.
1424              
1425             For more information about policies, see Managed Policies and Inline
1426             Policies in the I<IAM User Guide>.
1427              
1428              
1429             =head2 AttachRolePolicy(PolicyArn => Str, RoleName => Str)
1430              
1431             Each argument is described in detail in: L<Paws::IAM::AttachRolePolicy>
1432              
1433             Returns: nothing
1434              
1435             Attaches the specified managed policy to the specified IAM role. When
1436             you attach a managed policy to a role, the managed policy becomes part
1437             of the role's permission (access) policy.
1438              
1439             You cannot use a managed policy as the role's trust policy. The role's
1440             trust policy is created at the same time as the role, using CreateRole.
1441             You can update a role's trust policy using UpdateAssumeRolePolicy.
1442              
1443             Use this API to attach a I<managed> policy to a role. To embed an
1444             inline policy in a role, use PutRolePolicy. For more information about
1445             policies, see Managed Policies and Inline Policies in the I<IAM User
1446             Guide>.
1447              
1448              
1449             =head2 AttachUserPolicy(PolicyArn => Str, UserName => Str)
1450              
1451             Each argument is described in detail in: L<Paws::IAM::AttachUserPolicy>
1452              
1453             Returns: nothing
1454              
1455             Attaches the specified managed policy to the specified user.
1456              
1457             You use this API to attach a I<managed> policy to a user. To embed an
1458             inline policy in a user, use PutUserPolicy.
1459              
1460             For more information about policies, see Managed Policies and Inline
1461             Policies in the I<IAM User Guide>.
1462              
1463              
1464             =head2 ChangePassword(NewPassword => Str, OldPassword => Str)
1465              
1466             Each argument is described in detail in: L<Paws::IAM::ChangePassword>
1467              
1468             Returns: nothing
1469              
1470             Changes the password of the IAM user who is calling this action. The
1471             root account password is not affected by this action.
1472              
1473             To change the password for a different user, see UpdateLoginProfile.
1474             For more information about modifying passwords, see Managing Passwords
1475             in the I<IAM User Guide>.
1476              
1477              
1478             =head2 CreateAccessKey([UserName => Str])
1479              
1480             Each argument is described in detail in: L<Paws::IAM::CreateAccessKey>
1481              
1482             Returns: a L<Paws::IAM::CreateAccessKeyResponse> instance
1483              
1484             Creates a new AWS secret access key and corresponding AWS access key ID
1485             for the specified user. The default status for new keys is C<Active>.
1486              
1487             If you do not specify a user name, IAM determines the user name
1488             implicitly based on the AWS access key ID signing the request. Because
1489             this action works for access keys under the AWS account, you can use
1490             this action to manage root credentials even if the AWS account has no
1491             associated users.
1492              
1493             For information about limits on the number of keys you can create, see
1494             Limitations on IAM Entities in the I<IAM User Guide>.
1495              
1496             To ensure the security of your AWS account, the secret access key is
1497             accessible only during key and user creation. You must save the key
1498             (for example, in a text file) if you want to be able to access it
1499             again. If a secret key is lost, you can delete the access keys for the
1500             associated user and then create new keys.
1501              
1502              
1503             =head2 CreateAccountAlias(AccountAlias => Str)
1504              
1505             Each argument is described in detail in: L<Paws::IAM::CreateAccountAlias>
1506              
1507             Returns: nothing
1508              
1509             Creates an alias for your AWS account. For information about using an
1510             AWS account alias, see Using an Alias for Your AWS Account ID in the
1511             I<IAM User Guide>.
1512              
1513              
1514             =head2 CreateGroup(GroupName => Str, [Path => Str])
1515              
1516             Each argument is described in detail in: L<Paws::IAM::CreateGroup>
1517              
1518             Returns: a L<Paws::IAM::CreateGroupResponse> instance
1519              
1520             Creates a new group.
1521              
1522             For information about the number of groups you can create, see
1523             Limitations on IAM Entities in the I<IAM User Guide>.
1524              
1525              
1526             =head2 CreateInstanceProfile(InstanceProfileName => Str, [Path => Str])
1527              
1528             Each argument is described in detail in: L<Paws::IAM::CreateInstanceProfile>
1529              
1530             Returns: a L<Paws::IAM::CreateInstanceProfileResponse> instance
1531              
1532             Creates a new instance profile. For information about instance
1533             profiles, go to About Instance Profiles.
1534              
1535             For information about the number of instance profiles you can create,
1536             see Limitations on IAM Entities in the I<IAM User Guide>.
1537              
1538              
1539             =head2 CreateLoginProfile(Password => Str, UserName => Str, [PasswordResetRequired => Bool])
1540              
1541             Each argument is described in detail in: L<Paws::IAM::CreateLoginProfile>
1542              
1543             Returns: a L<Paws::IAM::CreateLoginProfileResponse> instance
1544              
1545             Creates a password for the specified user, giving the user the ability
1546             to access AWS services through the AWS Management Console. For more
1547             information about managing passwords, see Managing Passwords in the
1548             I<IAM User Guide>.
1549              
1550              
1551             =head2 CreateOpenIDConnectProvider(ThumbprintList => ArrayRef[Str|Undef], Url => Str, [ClientIDList => ArrayRef[Str|Undef]])
1552              
1553             Each argument is described in detail in: L<Paws::IAM::CreateOpenIDConnectProvider>
1554              
1555             Returns: a L<Paws::IAM::CreateOpenIDConnectProviderResponse> instance
1556              
1557             Creates an IAM entity to describe an identity provider (IdP) that
1558             supports OpenID Connect (OIDC).
1559              
1560             The OIDC provider that you create with this operation can be used as a
1561             principal in a role's trust policy to establish a trust relationship
1562             between AWS and the OIDC provider.
1563              
1564             When you create the IAM OIDC provider, you specify the URL of the OIDC
1565             identity provider (IdP) to trust, a list of client IDs (also known as
1566             audiences) that identify the application or applications that are
1567             allowed to authenticate using the OIDC provider, and a list of
1568             thumbprints of the server certificate(s) that the IdP uses. You get all
1569             of this information from the OIDC IdP that you want to use for access
1570             to AWS.
1571              
1572             Because trust for the OIDC provider is ultimately derived from the IAM
1573             provider that this action creates, it is a best practice to limit
1574             access to the CreateOpenIDConnectProvider action to highly-privileged
1575             users.
1576              
1577              
1578             =head2 CreatePolicy(PolicyDocument => Str, PolicyName => Str, [Description => Str, Path => Str])
1579              
1580             Each argument is described in detail in: L<Paws::IAM::CreatePolicy>
1581              
1582             Returns: a L<Paws::IAM::CreatePolicyResponse> instance
1583              
1584             Creates a new managed policy for your AWS account.
1585              
1586             This operation creates a policy version with a version identifier of
1587             C<v1> and sets v1 as the policy's default version. For more information
1588             about policy versions, see Versioning for Managed Policies in the I<IAM
1589             User Guide>.
1590              
1591             For more information about managed policies in general, see Managed
1592             Policies and Inline Policies in the I<IAM User Guide>.
1593              
1594              
1595             =head2 CreatePolicyVersion(PolicyArn => Str, PolicyDocument => Str, [SetAsDefault => Bool])
1596              
1597             Each argument is described in detail in: L<Paws::IAM::CreatePolicyVersion>
1598              
1599             Returns: a L<Paws::IAM::CreatePolicyVersionResponse> instance
1600              
1601             Creates a new version of the specified managed policy. To update a
1602             managed policy, you create a new policy version. A managed policy can
1603             have up to five versions. If the policy has five versions, you must
1604             delete an existing version using DeletePolicyVersion before you create
1605             a new version.
1606              
1607             Optionally, you can set the new version as the policy's default
1608             version. The default version is the version that is in effect for the
1609             IAM users, groups, and roles to which the policy is attached.
1610              
1611             For more information about managed policy versions, see Versioning for
1612             Managed Policies in the I<IAM User Guide>.
1613              
1614              
1615             =head2 CreateRole(AssumeRolePolicyDocument => Str, RoleName => Str, [Description => Str, Path => Str])
1616              
1617             Each argument is described in detail in: L<Paws::IAM::CreateRole>
1618              
1619             Returns: a L<Paws::IAM::CreateRoleResponse> instance
1620              
1621             Creates a new role for your AWS account. For more information about
1622             roles, go to Working with Roles. For information about limitations on
1623             role names and the number of roles you can create, go to Limitations on
1624             IAM Entities in the I<IAM User Guide>.
1625              
1626              
1627             =head2 CreateSAMLProvider(Name => Str, SAMLMetadataDocument => Str)
1628              
1629             Each argument is described in detail in: L<Paws::IAM::CreateSAMLProvider>
1630              
1631             Returns: a L<Paws::IAM::CreateSAMLProviderResponse> instance
1632              
1633             Creates an IAM resource that describes an identity provider (IdP) that
1634             supports SAML 2.0.
1635              
1636             The SAML provider resource that you create with this operation can be
1637             used as a principal in an IAM role's trust policy to enable federated
1638             users who sign-in using the SAML IdP to assume the role. You can create
1639             an IAM role that supports Web-based single sign-on (SSO) to the AWS
1640             Management Console or one that supports API access to AWS.
1641              
1642             When you create the SAML provider resource, you upload an a SAML
1643             metadata document that you get from your IdP and that includes the
1644             issuer's name, expiration information, and keys that can be used to
1645             validate the SAML authentication response (assertions) that the IdP
1646             sends. You must generate the metadata document using the identity
1647             management software that is used as your organization's IdP.
1648              
1649             This operation requires Signature Version 4.
1650              
1651             For more information, see Enabling SAML 2.0 Federated Users to Access
1652             the AWS Management Console and About SAML 2.0-based Federation in the
1653             I<IAM User Guide>.
1654              
1655              
1656             =head2 CreateServiceLinkedRole(AWSServiceName => Str, [CustomSuffix => Str, Description => Str])
1657              
1658             Each argument is described in detail in: L<Paws::IAM::CreateServiceLinkedRole>
1659              
1660             Returns: a L<Paws::IAM::CreateServiceLinkedRoleResponse> instance
1661              
1662             Creates an IAM role that is linked to a specific AWS service. The
1663             service controls the attached policies and when the role can be
1664             deleted. This helps ensure that the service is not broken by an
1665             unexpectedly changed or deleted role, which could put your AWS
1666             resources into an unknown state. Allowing the service to control the
1667             role helps improve service stability and proper cleanup when a service
1668             and its role are no longer needed.
1669              
1670             The name of the role is autogenerated by combining the string that you
1671             specify for the C<AWSServiceName> parameter with the string that you
1672             specify for the C<CustomSuffix> parameter. The resulting name must be
1673             unique in your account or the request fails.
1674              
1675             To attach a policy to this service-linked role, you must make the
1676             request using the AWS service that depends on this role.
1677              
1678              
1679             =head2 CreateServiceSpecificCredential(ServiceName => Str, UserName => Str)
1680              
1681             Each argument is described in detail in: L<Paws::IAM::CreateServiceSpecificCredential>
1682              
1683             Returns: a L<Paws::IAM::CreateServiceSpecificCredentialResponse> instance
1684              
1685             Generates a set of credentials consisting of a user name and password
1686             that can be used to access the service specified in the request. These
1687             credentials are generated by IAM, and can be used only for the
1688             specified service.
1689              
1690             You can have a maximum of two sets of service-specific credentials for
1691             each supported service per user.
1692              
1693             The only supported service at this time is AWS CodeCommit.
1694              
1695             You can reset the password to a new service-generated value by calling
1696             ResetServiceSpecificCredential.
1697              
1698             For more information about service-specific credentials, see Using IAM
1699             with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in
1700             the I<IAM User Guide>.
1701              
1702              
1703             =head2 CreateUser(UserName => Str, [Path => Str])
1704              
1705             Each argument is described in detail in: L<Paws::IAM::CreateUser>
1706              
1707             Returns: a L<Paws::IAM::CreateUserResponse> instance
1708              
1709             Creates a new IAM user for your AWS account.
1710              
1711             For information about limitations on the number of IAM users you can
1712             create, see Limitations on IAM Entities in the I<IAM User Guide>.
1713              
1714              
1715             =head2 CreateVirtualMFADevice(VirtualMFADeviceName => Str, [Path => Str])
1716              
1717             Each argument is described in detail in: L<Paws::IAM::CreateVirtualMFADevice>
1718              
1719             Returns: a L<Paws::IAM::CreateVirtualMFADeviceResponse> instance
1720              
1721             Creates a new virtual MFA device for the AWS account. After creating
1722             the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM
1723             user. For more information about creating and working with virtual MFA
1724             devices, go to Using a Virtual MFA Device in the I<IAM User Guide>.
1725              
1726             For information about limits on the number of MFA devices you can
1727             create, see Limitations on Entities in the I<IAM User Guide>.
1728              
1729             The seed information contained in the QR code and the Base32 string
1730             should be treated like any other secret access information, such as
1731             your AWS access keys or your passwords. After you provision your
1732             virtual device, you should ensure that the information is destroyed
1733             following secure procedures.
1734              
1735              
1736             =head2 DeactivateMFADevice(SerialNumber => Str, UserName => Str)
1737              
1738             Each argument is described in detail in: L<Paws::IAM::DeactivateMFADevice>
1739              
1740             Returns: nothing
1741              
1742             Deactivates the specified MFA device and removes it from association
1743             with the user name for which it was originally enabled.
1744              
1745             For more information about creating and working with virtual MFA
1746             devices, go to Using a Virtual MFA Device in the I<IAM User Guide>.
1747              
1748              
1749             =head2 DeleteAccessKey(AccessKeyId => Str, [UserName => Str])
1750              
1751             Each argument is described in detail in: L<Paws::IAM::DeleteAccessKey>
1752              
1753             Returns: nothing
1754              
1755             Deletes the access key pair associated with the specified IAM user.
1756              
1757             If you do not specify a user name, IAM determines the user name
1758             implicitly based on the AWS access key ID signing the request. Because
1759             this action works for access keys under the AWS account, you can use
1760             this action to manage root credentials even if the AWS account has no
1761             associated users.
1762              
1763              
1764             =head2 DeleteAccountAlias(AccountAlias => Str)
1765              
1766             Each argument is described in detail in: L<Paws::IAM::DeleteAccountAlias>
1767              
1768             Returns: nothing
1769              
1770             Deletes the specified AWS account alias. For information about using an
1771             AWS account alias, see Using an Alias for Your AWS Account ID in the
1772             I<IAM User Guide>.
1773              
1774              
1775             =head2 DeleteAccountPasswordPolicy( => )
1776              
1777             Each argument is described in detail in: L<Paws::IAM::DeleteAccountPasswordPolicy>
1778              
1779             Returns: nothing
1780              
1781             Deletes the password policy for the AWS account. There are no
1782             parameters.
1783              
1784              
1785             =head2 DeleteGroup(GroupName => Str)
1786              
1787             Each argument is described in detail in: L<Paws::IAM::DeleteGroup>
1788              
1789             Returns: nothing
1790              
1791             Deletes the specified IAM group. The group must not contain any users
1792             or have any attached policies.
1793              
1794              
1795             =head2 DeleteGroupPolicy(GroupName => Str, PolicyName => Str)
1796              
1797             Each argument is described in detail in: L<Paws::IAM::DeleteGroupPolicy>
1798              
1799             Returns: nothing
1800              
1801             Deletes the specified inline policy that is embedded in the specified
1802             IAM group.
1803              
1804             A group can also have managed policies attached to it. To detach a
1805             managed policy from a group, use DetachGroupPolicy. For more
1806             information about policies, refer to Managed Policies and Inline
1807             Policies in the I<IAM User Guide>.
1808              
1809              
1810             =head2 DeleteInstanceProfile(InstanceProfileName => Str)
1811              
1812             Each argument is described in detail in: L<Paws::IAM::DeleteInstanceProfile>
1813              
1814             Returns: nothing
1815              
1816             Deletes the specified instance profile. The instance profile must not
1817             have an associated role.
1818              
1819             Make sure you do not have any Amazon EC2 instances running with the
1820             instance profile you are about to delete. Deleting a role or instance
1821             profile that is associated with a running instance will break any
1822             applications running on the instance.
1823              
1824             For more information about instance profiles, go to About Instance
1825             Profiles.
1826              
1827              
1828             =head2 DeleteLoginProfile(UserName => Str)
1829              
1830             Each argument is described in detail in: L<Paws::IAM::DeleteLoginProfile>
1831              
1832             Returns: nothing
1833              
1834             Deletes the password for the specified IAM user, which terminates the
1835             user's ability to access AWS services through the AWS Management
1836             Console.
1837              
1838             Deleting a user's password does not prevent a user from accessing AWS
1839             through the command line interface or the API. To prevent all user
1840             access you must also either make any access keys inactive or delete
1841             them. For more information about making keys inactive or deleting them,
1842             see UpdateAccessKey and DeleteAccessKey.
1843              
1844              
1845             =head2 DeleteOpenIDConnectProvider(OpenIDConnectProviderArn => Str)
1846              
1847             Each argument is described in detail in: L<Paws::IAM::DeleteOpenIDConnectProvider>
1848              
1849             Returns: nothing
1850              
1851             Deletes an OpenID Connect identity provider (IdP) resource object in
1852             IAM.
1853              
1854             Deleting an IAM OIDC provider resource does not update any roles that
1855             reference the provider as a principal in their trust policies. Any
1856             attempt to assume a role that references a deleted provider fails.
1857              
1858             This action is idempotent; it does not fail or return an error if you
1859             call the action for a provider that does not exist.
1860              
1861              
1862             =head2 DeletePolicy(PolicyArn => Str)
1863              
1864             Each argument is described in detail in: L<Paws::IAM::DeletePolicy>
1865              
1866             Returns: nothing
1867              
1868             Deletes the specified managed policy.
1869              
1870             Before you can delete a managed policy, you must first detach the
1871             policy from all users, groups, and roles that it is attached to, and
1872             you must delete all of the policy's versions. The following steps
1873             describe the process for deleting a managed policy:
1874              
1875             =over
1876              
1877             =item *
1878              
1879             Detach the policy from all users, groups, and roles that the policy is
1880             attached to, using the DetachUserPolicy, DetachGroupPolicy, or
1881             DetachRolePolicy APIs. To list all the users, groups, and roles that a
1882             policy is attached to, use ListEntitiesForPolicy.
1883              
1884             =item *
1885              
1886             Delete all versions of the policy using DeletePolicyVersion. To list
1887             the policy's versions, use ListPolicyVersions. You cannot use
1888             DeletePolicyVersion to delete the version that is marked as the default
1889             version. You delete the policy's default version in the next step of
1890             the process.
1891              
1892             =item *
1893              
1894             Delete the policy (this automatically deletes the policy's default
1895             version) using this API.
1896              
1897             =back
1898              
1899             For information about managed policies, see Managed Policies and Inline
1900             Policies in the I<IAM User Guide>.
1901              
1902              
1903             =head2 DeletePolicyVersion(PolicyArn => Str, VersionId => Str)
1904              
1905             Each argument is described in detail in: L<Paws::IAM::DeletePolicyVersion>
1906              
1907             Returns: nothing
1908              
1909             Deletes the specified version from the specified managed policy.
1910              
1911             You cannot delete the default version from a policy using this API. To
1912             delete the default version from a policy, use DeletePolicy. To find out
1913             which version of a policy is marked as the default version, use
1914             ListPolicyVersions.
1915              
1916             For information about versions for managed policies, see Versioning for
1917             Managed Policies in the I<IAM User Guide>.
1918              
1919              
1920             =head2 DeleteRole(RoleName => Str)
1921              
1922             Each argument is described in detail in: L<Paws::IAM::DeleteRole>
1923              
1924             Returns: nothing
1925              
1926             Deletes the specified role. The role must not have any policies
1927             attached. For more information about roles, go to Working with Roles.
1928              
1929             Make sure you do not have any Amazon EC2 instances running with the
1930             role you are about to delete. Deleting a role or instance profile that
1931             is associated with a running instance will break any applications
1932             running on the instance.
1933              
1934              
1935             =head2 DeleteRolePolicy(PolicyName => Str, RoleName => Str)
1936              
1937             Each argument is described in detail in: L<Paws::IAM::DeleteRolePolicy>
1938              
1939             Returns: nothing
1940              
1941             Deletes the specified inline policy that is embedded in the specified
1942             IAM role.
1943              
1944             A role can also have managed policies attached to it. To detach a
1945             managed policy from a role, use DetachRolePolicy. For more information
1946             about policies, refer to Managed Policies and Inline Policies in the
1947             I<IAM User Guide>.
1948              
1949              
1950             =head2 DeleteSAMLProvider(SAMLProviderArn => Str)
1951              
1952             Each argument is described in detail in: L<Paws::IAM::DeleteSAMLProvider>
1953              
1954             Returns: nothing
1955              
1956             Deletes a SAML provider resource in IAM.
1957              
1958             Deleting the provider resource from IAM does not update any roles that
1959             reference the SAML provider resource's ARN as a principal in their
1960             trust policies. Any attempt to assume a role that references a
1961             non-existent provider resource ARN fails.
1962              
1963             This operation requires Signature Version 4.
1964              
1965              
1966             =head2 DeleteServerCertificate(ServerCertificateName => Str)
1967              
1968             Each argument is described in detail in: L<Paws::IAM::DeleteServerCertificate>
1969              
1970             Returns: nothing
1971              
1972             Deletes the specified server certificate.
1973              
1974             For more information about working with server certificates, including
1975             a list of AWS services that can use the server certificates that you
1976             manage with IAM, go to Working with Server Certificates in the I<IAM
1977             User Guide>.
1978              
1979             If you are using a server certificate with Elastic Load Balancing,
1980             deleting the certificate could have implications for your application.
1981             If Elastic Load Balancing doesn't detect the deletion of bound
1982             certificates, it may continue to use the certificates. This could cause
1983             Elastic Load Balancing to stop accepting traffic. We recommend that you
1984             remove the reference to the certificate from Elastic Load Balancing
1985             before using this command to delete the certificate. For more
1986             information, go to DeleteLoadBalancerListeners in the I<Elastic Load
1987             Balancing API Reference>.
1988              
1989              
1990             =head2 DeleteServiceLinkedRole(RoleName => Str)
1991              
1992             Each argument is described in detail in: L<Paws::IAM::DeleteServiceLinkedRole>
1993              
1994             Returns: a L<Paws::IAM::DeleteServiceLinkedRoleResponse> instance
1995              
1996             Submits a service-linked role deletion request and returns a
1997             C<DeletionTaskId>, which you can use to check the status of the
1998             deletion. Before you call this operation, confirm that the role has no
1999             active sessions and that any resources used by the role in the linked
2000             service are deleted. If you call this operation more than once for the
2001             same service-linked role and an earlier deletion task is not complete,
2002             then the C<DeletionTaskId> of the earlier request is returned.
2003              
2004             If you submit a deletion request for a service-linked role whose linked
2005             service is still accessing a resource, then the deletion task fails. If
2006             it fails, the GetServiceLinkedRoleDeletionStatus API operation returns
2007             the reason for the failure, including the resources that must be
2008             deleted. To delete the service-linked role, you must first remove those
2009             resources from the linked service and then submit the deletion request
2010             again. Resources are specific to the service that is linked to the
2011             role. For more information about removing resources from a service, see
2012             the AWS documentation for your service.
2013              
2014             For more information about service-linked roles, see Roles Terms and
2015             Concepts: AWS Service-Linked Role in the I<IAM User Guide>.
2016              
2017              
2018             =head2 DeleteServiceSpecificCredential(ServiceSpecificCredentialId => Str, [UserName => Str])
2019              
2020             Each argument is described in detail in: L<Paws::IAM::DeleteServiceSpecificCredential>
2021              
2022             Returns: nothing
2023              
2024             Deletes the specified service-specific credential.
2025              
2026              
2027             =head2 DeleteSigningCertificate(CertificateId => Str, [UserName => Str])
2028              
2029             Each argument is described in detail in: L<Paws::IAM::DeleteSigningCertificate>
2030              
2031             Returns: nothing
2032              
2033             Deletes a signing certificate associated with the specified IAM user.
2034              
2035             If you do not specify a user name, IAM determines the user name
2036             implicitly based on the AWS access key ID signing the request. Because
2037             this action works for access keys under the AWS account, you can use
2038             this action to manage root credentials even if the AWS account has no
2039             associated IAM users.
2040              
2041              
2042             =head2 DeleteSSHPublicKey(SSHPublicKeyId => Str, UserName => Str)
2043              
2044             Each argument is described in detail in: L<Paws::IAM::DeleteSSHPublicKey>
2045              
2046             Returns: nothing
2047              
2048             Deletes the specified SSH public key.
2049              
2050             The SSH public key deleted by this action is used only for
2051             authenticating the associated IAM user to an AWS CodeCommit repository.
2052             For more information about using SSH keys to authenticate to an AWS
2053             CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in
2054             the I<AWS CodeCommit User Guide>.
2055              
2056              
2057             =head2 DeleteUser(UserName => Str)
2058              
2059             Each argument is described in detail in: L<Paws::IAM::DeleteUser>
2060              
2061             Returns: nothing
2062              
2063             Deletes the specified IAM user. The user must not belong to any groups
2064             or have any access keys, signing certificates, or attached policies.
2065              
2066              
2067             =head2 DeleteUserPolicy(PolicyName => Str, UserName => Str)
2068              
2069             Each argument is described in detail in: L<Paws::IAM::DeleteUserPolicy>
2070              
2071             Returns: nothing
2072              
2073             Deletes the specified inline policy that is embedded in the specified
2074             IAM user.
2075              
2076             A user can also have managed policies attached to it. To detach a
2077             managed policy from a user, use DetachUserPolicy. For more information
2078             about policies, refer to Managed Policies and Inline Policies in the
2079             I<IAM User Guide>.
2080              
2081              
2082             =head2 DeleteVirtualMFADevice(SerialNumber => Str)
2083              
2084             Each argument is described in detail in: L<Paws::IAM::DeleteVirtualMFADevice>
2085              
2086             Returns: nothing
2087              
2088             Deletes a virtual MFA device.
2089              
2090             You must deactivate a user's virtual MFA device before you can delete
2091             it. For information about deactivating MFA devices, see
2092             DeactivateMFADevice.
2093              
2094              
2095             =head2 DetachGroupPolicy(GroupName => Str, PolicyArn => Str)
2096              
2097             Each argument is described in detail in: L<Paws::IAM::DetachGroupPolicy>
2098              
2099             Returns: nothing
2100              
2101             Removes the specified managed policy from the specified IAM group.
2102              
2103             A group can also have inline policies embedded with it. To delete an
2104             inline policy, use the DeleteGroupPolicy API. For information about
2105             policies, see Managed Policies and Inline Policies in the I<IAM User
2106             Guide>.
2107              
2108              
2109             =head2 DetachRolePolicy(PolicyArn => Str, RoleName => Str)
2110              
2111             Each argument is described in detail in: L<Paws::IAM::DetachRolePolicy>
2112              
2113             Returns: nothing
2114              
2115             Removes the specified managed policy from the specified role.
2116              
2117             A role can also have inline policies embedded with it. To delete an
2118             inline policy, use the DeleteRolePolicy API. For information about
2119             policies, see Managed Policies and Inline Policies in the I<IAM User
2120             Guide>.
2121              
2122              
2123             =head2 DetachUserPolicy(PolicyArn => Str, UserName => Str)
2124              
2125             Each argument is described in detail in: L<Paws::IAM::DetachUserPolicy>
2126              
2127             Returns: nothing
2128              
2129             Removes the specified managed policy from the specified user.
2130              
2131             A user can also have inline policies embedded with it. To delete an
2132             inline policy, use the DeleteUserPolicy API. For information about
2133             policies, see Managed Policies and Inline Policies in the I<IAM User
2134             Guide>.
2135              
2136              
2137             =head2 EnableMFADevice(AuthenticationCode1 => Str, AuthenticationCode2 => Str, SerialNumber => Str, UserName => Str)
2138              
2139             Each argument is described in detail in: L<Paws::IAM::EnableMFADevice>
2140              
2141             Returns: nothing
2142              
2143             Enables the specified MFA device and associates it with the specified
2144             IAM user. When enabled, the MFA device is required for every subsequent
2145             login by the IAM user associated with the device.
2146              
2147              
2148             =head2 GenerateCredentialReport( => )
2149              
2150             Each argument is described in detail in: L<Paws::IAM::GenerateCredentialReport>
2151              
2152             Returns: a L<Paws::IAM::GenerateCredentialReportResponse> instance
2153              
2154             Generates a credential report for the AWS account. For more information
2155             about the credential report, see Getting Credential Reports in the
2156             I<IAM User Guide>.
2157              
2158              
2159             =head2 GetAccessKeyLastUsed(AccessKeyId => Str)
2160              
2161             Each argument is described in detail in: L<Paws::IAM::GetAccessKeyLastUsed>
2162              
2163             Returns: a L<Paws::IAM::GetAccessKeyLastUsedResponse> instance
2164              
2165             Retrieves information about when the specified access key was last
2166             used. The information includes the date and time of last use, along
2167             with the AWS service and region that were specified in the last request
2168             made with that key.
2169              
2170              
2171             =head2 GetAccountAuthorizationDetails([Filter => ArrayRef[Str|Undef], Marker => Str, MaxItems => Int])
2172              
2173             Each argument is described in detail in: L<Paws::IAM::GetAccountAuthorizationDetails>
2174              
2175             Returns: a L<Paws::IAM::GetAccountAuthorizationDetailsResponse> instance
2176              
2177             Retrieves information about all IAM users, groups, roles, and policies
2178             in your AWS account, including their relationships to one another. Use
2179             this API to obtain a snapshot of the configuration of IAM permissions
2180             (users, groups, roles, and policies) in your account.
2181              
2182             You can optionally filter the results using the C<Filter> parameter.
2183             You can paginate the results using the C<MaxItems> and C<Marker>
2184             parameters.
2185              
2186              
2187             =head2 GetAccountPasswordPolicy( => )
2188              
2189             Each argument is described in detail in: L<Paws::IAM::GetAccountPasswordPolicy>
2190              
2191             Returns: a L<Paws::IAM::GetAccountPasswordPolicyResponse> instance
2192              
2193             Retrieves the password policy for the AWS account. For more information
2194             about using a password policy, go to Managing an IAM Password Policy.
2195              
2196              
2197             =head2 GetAccountSummary( => )
2198              
2199             Each argument is described in detail in: L<Paws::IAM::GetAccountSummary>
2200              
2201             Returns: a L<Paws::IAM::GetAccountSummaryResponse> instance
2202              
2203             Retrieves information about IAM entity usage and IAM quotas in the AWS
2204             account.
2205              
2206             For information about limitations on IAM entities, see Limitations on
2207             IAM Entities in the I<IAM User Guide>.
2208              
2209              
2210             =head2 GetContextKeysForCustomPolicy(PolicyInputList => ArrayRef[Str|Undef])
2211              
2212             Each argument is described in detail in: L<Paws::IAM::GetContextKeysForCustomPolicy>
2213              
2214             Returns: a L<Paws::IAM::GetContextKeysForPolicyResponse> instance
2215              
2216             Gets a list of all of the context keys referenced in the input
2217             policies. The policies are supplied as a list of one or more strings.
2218             To get the context keys from policies associated with an IAM user,
2219             group, or role, use GetContextKeysForPrincipalPolicy.
2220              
2221             Context keys are variables maintained by AWS and its services that
2222             provide details about the context of an API query request, and can be
2223             evaluated by testing against a value specified in an IAM policy. Use
2224             GetContextKeysForCustomPolicy to understand what key names and values
2225             you must supply when you call SimulateCustomPolicy. Note that all
2226             parameters are shown in unencoded form here for clarity, but must be
2227             URL encoded to be included as a part of a real HTML request.
2228              
2229              
2230             =head2 GetContextKeysForPrincipalPolicy(PolicySourceArn => Str, [PolicyInputList => ArrayRef[Str|Undef]])
2231              
2232             Each argument is described in detail in: L<Paws::IAM::GetContextKeysForPrincipalPolicy>
2233              
2234             Returns: a L<Paws::IAM::GetContextKeysForPolicyResponse> instance
2235              
2236             Gets a list of all of the context keys referenced in all of the IAM
2237             policies attached to the specified IAM entity. The entity can be an IAM
2238             user, group, or role. If you specify a user, then the request also
2239             includes all of the policies attached to groups that the user is a
2240             member of.
2241              
2242             You can optionally include a list of one or more additional policies,
2243             specified as strings. If you want to include I<only> a list of policies
2244             by string, use GetContextKeysForCustomPolicy instead.
2245              
2246             B<Note:> This API discloses information about the permissions granted
2247             to other users. If you do not want users to see other user's
2248             permissions, then consider allowing them to use
2249             GetContextKeysForCustomPolicy instead.
2250              
2251             Context keys are variables maintained by AWS and its services that
2252             provide details about the context of an API query request, and can be
2253             evaluated by testing against a value in an IAM policy. Use
2254             GetContextKeysForPrincipalPolicy to understand what key names and
2255             values you must supply when you call SimulatePrincipalPolicy.
2256              
2257              
2258             =head2 GetCredentialReport( => )
2259              
2260             Each argument is described in detail in: L<Paws::IAM::GetCredentialReport>
2261              
2262             Returns: a L<Paws::IAM::GetCredentialReportResponse> instance
2263              
2264             Retrieves a credential report for the AWS account. For more information
2265             about the credential report, see Getting Credential Reports in the
2266             I<IAM User Guide>.
2267              
2268              
2269             =head2 GetGroup(GroupName => Str, [Marker => Str, MaxItems => Int])
2270              
2271             Each argument is described in detail in: L<Paws::IAM::GetGroup>
2272              
2273             Returns: a L<Paws::IAM::GetGroupResponse> instance
2274              
2275             Returns a list of IAM users that are in the specified IAM group. You
2276             can paginate the results using the C<MaxItems> and C<Marker>
2277             parameters.
2278              
2279              
2280             =head2 GetGroupPolicy(GroupName => Str, PolicyName => Str)
2281              
2282             Each argument is described in detail in: L<Paws::IAM::GetGroupPolicy>
2283              
2284             Returns: a L<Paws::IAM::GetGroupPolicyResponse> instance
2285              
2286             Retrieves the specified inline policy document that is embedded in the
2287             specified IAM group.
2288              
2289             Policies returned by this API are URL-encoded compliant with RFC 3986.
2290             You can use a URL decoding method to convert the policy back to plain
2291             JSON text. For example, if you use Java, you can use the C<decode>
2292             method of the C<java.net.URLDecoder> utility class in the Java SDK.
2293             Other languages and SDKs provide similar functionality.
2294              
2295             An IAM group can also have managed policies attached to it. To retrieve
2296             a managed policy document that is attached to a group, use GetPolicy to
2297             determine the policy's default version, then use GetPolicyVersion to
2298             retrieve the policy document.
2299              
2300             For more information about policies, see Managed Policies and Inline
2301             Policies in the I<IAM User Guide>.
2302              
2303              
2304             =head2 GetInstanceProfile(InstanceProfileName => Str)
2305              
2306             Each argument is described in detail in: L<Paws::IAM::GetInstanceProfile>
2307              
2308             Returns: a L<Paws::IAM::GetInstanceProfileResponse> instance
2309              
2310             Retrieves information about the specified instance profile, including
2311             the instance profile's path, GUID, ARN, and role. For more information
2312             about instance profiles, see About Instance Profiles in the I<IAM User
2313             Guide>.
2314              
2315              
2316             =head2 GetLoginProfile(UserName => Str)
2317              
2318             Each argument is described in detail in: L<Paws::IAM::GetLoginProfile>
2319              
2320             Returns: a L<Paws::IAM::GetLoginProfileResponse> instance
2321              
2322             Retrieves the user name and password-creation date for the specified
2323             IAM user. If the user has not been assigned a password, the action
2324             returns a 404 (C<NoSuchEntity>) error.
2325              
2326              
2327             =head2 GetOpenIDConnectProvider(OpenIDConnectProviderArn => Str)
2328              
2329             Each argument is described in detail in: L<Paws::IAM::GetOpenIDConnectProvider>
2330              
2331             Returns: a L<Paws::IAM::GetOpenIDConnectProviderResponse> instance
2332              
2333             Returns information about the specified OpenID Connect (OIDC) provider
2334             resource object in IAM.
2335              
2336              
2337             =head2 GetPolicy(PolicyArn => Str)
2338              
2339             Each argument is described in detail in: L<Paws::IAM::GetPolicy>
2340              
2341             Returns: a L<Paws::IAM::GetPolicyResponse> instance
2342              
2343             Retrieves information about the specified managed policy, including the
2344             policy's default version and the total number of IAM users, groups, and
2345             roles to which the policy is attached. To retrieve the list of the
2346             specific users, groups, and roles that the policy is attached to, use
2347             the ListEntitiesForPolicy API. This API returns metadata about the
2348             policy. To retrieve the actual policy document for a specific version
2349             of the policy, use GetPolicyVersion.
2350              
2351             This API retrieves information about managed policies. To retrieve
2352             information about an inline policy that is embedded with an IAM user,
2353             group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy
2354             API.
2355              
2356             For more information about policies, see Managed Policies and Inline
2357             Policies in the I<IAM User Guide>.
2358              
2359              
2360             =head2 GetPolicyVersion(PolicyArn => Str, VersionId => Str)
2361              
2362             Each argument is described in detail in: L<Paws::IAM::GetPolicyVersion>
2363              
2364             Returns: a L<Paws::IAM::GetPolicyVersionResponse> instance
2365              
2366             Retrieves information about the specified version of the specified
2367             managed policy, including the policy document.
2368              
2369             Policies returned by this API are URL-encoded compliant with RFC 3986.
2370             You can use a URL decoding method to convert the policy back to plain
2371             JSON text. For example, if you use Java, you can use the C<decode>
2372             method of the C<java.net.URLDecoder> utility class in the Java SDK.
2373             Other languages and SDKs provide similar functionality.
2374              
2375             To list the available versions for a policy, use ListPolicyVersions.
2376              
2377             This API retrieves information about managed policies. To retrieve
2378             information about an inline policy that is embedded in a user, group,
2379             or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
2380              
2381             For more information about the types of policies, see Managed Policies
2382             and Inline Policies in the I<IAM User Guide>.
2383              
2384             For more information about managed policy versions, see Versioning for
2385             Managed Policies in the I<IAM User Guide>.
2386              
2387              
2388             =head2 GetRole(RoleName => Str)
2389              
2390             Each argument is described in detail in: L<Paws::IAM::GetRole>
2391              
2392             Returns: a L<Paws::IAM::GetRoleResponse> instance
2393              
2394             Retrieves information about the specified role, including the role's
2395             path, GUID, ARN, and the role's trust policy that grants permission to
2396             assume the role. For more information about roles, see Working with
2397             Roles.
2398              
2399             Policies returned by this API are URL-encoded compliant with RFC 3986.
2400             You can use a URL decoding method to convert the policy back to plain
2401             JSON text. For example, if you use Java, you can use the C<decode>
2402             method of the C<java.net.URLDecoder> utility class in the Java SDK.
2403             Other languages and SDKs provide similar functionality.
2404              
2405              
2406             =head2 GetRolePolicy(PolicyName => Str, RoleName => Str)
2407              
2408             Each argument is described in detail in: L<Paws::IAM::GetRolePolicy>
2409              
2410             Returns: a L<Paws::IAM::GetRolePolicyResponse> instance
2411              
2412             Retrieves the specified inline policy document that is embedded with
2413             the specified IAM role.
2414              
2415             Policies returned by this API are URL-encoded compliant with RFC 3986.
2416             You can use a URL decoding method to convert the policy back to plain
2417             JSON text. For example, if you use Java, you can use the C<decode>
2418             method of the C<java.net.URLDecoder> utility class in the Java SDK.
2419             Other languages and SDKs provide similar functionality.
2420              
2421             An IAM role can also have managed policies attached to it. To retrieve
2422             a managed policy document that is attached to a role, use GetPolicy to
2423             determine the policy's default version, then use GetPolicyVersion to
2424             retrieve the policy document.
2425              
2426             For more information about policies, see Managed Policies and Inline
2427             Policies in the I<IAM User Guide>.
2428              
2429             For more information about roles, see Using Roles to Delegate
2430             Permissions and Federate Identities.
2431              
2432              
2433             =head2 GetSAMLProvider(SAMLProviderArn => Str)
2434              
2435             Each argument is described in detail in: L<Paws::IAM::GetSAMLProvider>
2436              
2437             Returns: a L<Paws::IAM::GetSAMLProviderResponse> instance
2438              
2439             Returns the SAML provider metadocument that was uploaded when the IAM
2440             SAML provider resource object was created or updated.
2441              
2442             This operation requires Signature Version 4.
2443              
2444              
2445             =head2 GetServerCertificate(ServerCertificateName => Str)
2446              
2447             Each argument is described in detail in: L<Paws::IAM::GetServerCertificate>
2448              
2449             Returns: a L<Paws::IAM::GetServerCertificateResponse> instance
2450              
2451             Retrieves information about the specified server certificate stored in
2452             IAM.
2453              
2454             For more information about working with server certificates, including
2455             a list of AWS services that can use the server certificates that you
2456             manage with IAM, go to Working with Server Certificates in the I<IAM
2457             User Guide>.
2458              
2459              
2460             =head2 GetServiceLinkedRoleDeletionStatus(DeletionTaskId => Str)
2461              
2462             Each argument is described in detail in: L<Paws::IAM::GetServiceLinkedRoleDeletionStatus>
2463              
2464             Returns: a L<Paws::IAM::GetServiceLinkedRoleDeletionStatusResponse> instance
2465              
2466             Retrieves the status of your service-linked role deletion. After you
2467             use the DeleteServiceLinkedRole API operation to submit a
2468             service-linked role for deletion, you can use the C<DeletionTaskId>
2469             parameter in C<GetServiceLinkedRoleDeletionStatus> to check the status
2470             of the deletion. If the deletion fails, this operation returns the
2471             reason that it failed.
2472              
2473              
2474             =head2 GetSSHPublicKey(Encoding => Str, SSHPublicKeyId => Str, UserName => Str)
2475              
2476             Each argument is described in detail in: L<Paws::IAM::GetSSHPublicKey>
2477              
2478             Returns: a L<Paws::IAM::GetSSHPublicKeyResponse> instance
2479              
2480             Retrieves the specified SSH public key, including metadata about the
2481             key.
2482              
2483             The SSH public key retrieved by this action is used only for
2484             authenticating the associated IAM user to an AWS CodeCommit repository.
2485             For more information about using SSH keys to authenticate to an AWS
2486             CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in
2487             the I<AWS CodeCommit User Guide>.
2488              
2489              
2490             =head2 GetUser([UserName => Str])
2491              
2492             Each argument is described in detail in: L<Paws::IAM::GetUser>
2493              
2494             Returns: a L<Paws::IAM::GetUserResponse> instance
2495              
2496             Retrieves information about the specified IAM user, including the
2497             user's creation date, path, unique ID, and ARN.
2498              
2499             If you do not specify a user name, IAM determines the user name
2500             implicitly based on the AWS access key ID used to sign the request to
2501             this API.
2502              
2503              
2504             =head2 GetUserPolicy(PolicyName => Str, UserName => Str)
2505              
2506             Each argument is described in detail in: L<Paws::IAM::GetUserPolicy>
2507              
2508             Returns: a L<Paws::IAM::GetUserPolicyResponse> instance
2509              
2510             Retrieves the specified inline policy document that is embedded in the
2511             specified IAM user.
2512              
2513             Policies returned by this API are URL-encoded compliant with RFC 3986.
2514             You can use a URL decoding method to convert the policy back to plain
2515             JSON text. For example, if you use Java, you can use the C<decode>
2516             method of the C<java.net.URLDecoder> utility class in the Java SDK.
2517             Other languages and SDKs provide similar functionality.
2518              
2519             An IAM user can also have managed policies attached to it. To retrieve
2520             a managed policy document that is attached to a user, use GetPolicy to
2521             determine the policy's default version, then use GetPolicyVersion to
2522             retrieve the policy document.
2523              
2524             For more information about policies, see Managed Policies and Inline
2525             Policies in the I<IAM User Guide>.
2526              
2527              
2528             =head2 ListAccessKeys([Marker => Str, MaxItems => Int, UserName => Str])
2529              
2530             Each argument is described in detail in: L<Paws::IAM::ListAccessKeys>
2531              
2532             Returns: a L<Paws::IAM::ListAccessKeysResponse> instance
2533              
2534             Returns information about the access key IDs associated with the
2535             specified IAM user. If there are none, the action returns an empty
2536             list.
2537              
2538             Although each user is limited to a small number of keys, you can still
2539             paginate the results using the C<MaxItems> and C<Marker> parameters.
2540              
2541             If the C<UserName> field is not specified, the UserName is determined
2542             implicitly based on the AWS access key ID used to sign the request.
2543             Because this action works for access keys under the AWS account, you
2544             can use this action to manage root credentials even if the AWS account
2545             has no associated users.
2546              
2547             To ensure the security of your AWS account, the secret access key is
2548             accessible only during key and user creation.
2549              
2550              
2551             =head2 ListAccountAliases([Marker => Str, MaxItems => Int])
2552              
2553             Each argument is described in detail in: L<Paws::IAM::ListAccountAliases>
2554              
2555             Returns: a L<Paws::IAM::ListAccountAliasesResponse> instance
2556              
2557             Lists the account alias associated with the AWS account (Note: you can
2558             have only one). For information about using an AWS account alias, see
2559             Using an Alias for Your AWS Account ID in the I<IAM User Guide>.
2560              
2561              
2562             =head2 ListAttachedGroupPolicies(GroupName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
2563              
2564             Each argument is described in detail in: L<Paws::IAM::ListAttachedGroupPolicies>
2565              
2566             Returns: a L<Paws::IAM::ListAttachedGroupPoliciesResponse> instance
2567              
2568             Lists all managed policies that are attached to the specified IAM
2569             group.
2570              
2571             An IAM group can also have inline policies embedded with it. To list
2572             the inline policies for a group, use the ListGroupPolicies API. For
2573             information about policies, see Managed Policies and Inline Policies in
2574             the I<IAM User Guide>.
2575              
2576             You can paginate the results using the C<MaxItems> and C<Marker>
2577             parameters. You can use the C<PathPrefix> parameter to limit the list
2578             of policies to only those matching the specified path prefix. If there
2579             are no policies attached to the specified group (or none that match the
2580             specified path prefix), the action returns an empty list.
2581              
2582              
2583             =head2 ListAttachedRolePolicies(RoleName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
2584              
2585             Each argument is described in detail in: L<Paws::IAM::ListAttachedRolePolicies>
2586              
2587             Returns: a L<Paws::IAM::ListAttachedRolePoliciesResponse> instance
2588              
2589             Lists all managed policies that are attached to the specified IAM role.
2590              
2591             An IAM role can also have inline policies embedded with it. To list the
2592             inline policies for a role, use the ListRolePolicies API. For
2593             information about policies, see Managed Policies and Inline Policies in
2594             the I<IAM User Guide>.
2595              
2596             You can paginate the results using the C<MaxItems> and C<Marker>
2597             parameters. You can use the C<PathPrefix> parameter to limit the list
2598             of policies to only those matching the specified path prefix. If there
2599             are no policies attached to the specified role (or none that match the
2600             specified path prefix), the action returns an empty list.
2601              
2602              
2603             =head2 ListAttachedUserPolicies(UserName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
2604              
2605             Each argument is described in detail in: L<Paws::IAM::ListAttachedUserPolicies>
2606              
2607             Returns: a L<Paws::IAM::ListAttachedUserPoliciesResponse> instance
2608              
2609             Lists all managed policies that are attached to the specified IAM user.
2610              
2611             An IAM user can also have inline policies embedded with it. To list the
2612             inline policies for a user, use the ListUserPolicies API. For
2613             information about policies, see Managed Policies and Inline Policies in
2614             the I<IAM User Guide>.
2615              
2616             You can paginate the results using the C<MaxItems> and C<Marker>
2617             parameters. You can use the C<PathPrefix> parameter to limit the list
2618             of policies to only those matching the specified path prefix. If there
2619             are no policies attached to the specified group (or none that match the
2620             specified path prefix), the action returns an empty list.
2621              
2622              
2623             =head2 ListEntitiesForPolicy(PolicyArn => Str, [EntityFilter => Str, Marker => Str, MaxItems => Int, PathPrefix => Str])
2624              
2625             Each argument is described in detail in: L<Paws::IAM::ListEntitiesForPolicy>
2626              
2627             Returns: a L<Paws::IAM::ListEntitiesForPolicyResponse> instance
2628              
2629             Lists all IAM users, groups, and roles that the specified managed
2630             policy is attached to.
2631              
2632             You can use the optional C<EntityFilter> parameter to limit the results
2633             to a particular type of entity (users, groups, or roles). For example,
2634             to list only the roles that are attached to the specified policy, set
2635             C<EntityFilter> to C<Role>.
2636              
2637             You can paginate the results using the C<MaxItems> and C<Marker>
2638             parameters.
2639              
2640              
2641             =head2 ListGroupPolicies(GroupName => Str, [Marker => Str, MaxItems => Int])
2642              
2643             Each argument is described in detail in: L<Paws::IAM::ListGroupPolicies>
2644              
2645             Returns: a L<Paws::IAM::ListGroupPoliciesResponse> instance
2646              
2647             Lists the names of the inline policies that are embedded in the
2648             specified IAM group.
2649              
2650             An IAM group can also have managed policies attached to it. To list the
2651             managed policies that are attached to a group, use
2652             ListAttachedGroupPolicies. For more information about policies, see
2653             Managed Policies and Inline Policies in the I<IAM User Guide>.
2654              
2655             You can paginate the results using the C<MaxItems> and C<Marker>
2656             parameters. If there are no inline policies embedded with the specified
2657             group, the action returns an empty list.
2658              
2659              
2660             =head2 ListGroups([Marker => Str, MaxItems => Int, PathPrefix => Str])
2661              
2662             Each argument is described in detail in: L<Paws::IAM::ListGroups>
2663              
2664             Returns: a L<Paws::IAM::ListGroupsResponse> instance
2665              
2666             Lists the IAM groups that have the specified path prefix.
2667              
2668             You can paginate the results using the C<MaxItems> and C<Marker>
2669             parameters.
2670              
2671              
2672             =head2 ListGroupsForUser(UserName => Str, [Marker => Str, MaxItems => Int])
2673              
2674             Each argument is described in detail in: L<Paws::IAM::ListGroupsForUser>
2675              
2676             Returns: a L<Paws::IAM::ListGroupsForUserResponse> instance
2677              
2678             Lists the IAM groups that the specified IAM user belongs to.
2679              
2680             You can paginate the results using the C<MaxItems> and C<Marker>
2681             parameters.
2682              
2683              
2684             =head2 ListInstanceProfiles([Marker => Str, MaxItems => Int, PathPrefix => Str])
2685              
2686             Each argument is described in detail in: L<Paws::IAM::ListInstanceProfiles>
2687              
2688             Returns: a L<Paws::IAM::ListInstanceProfilesResponse> instance
2689              
2690             Lists the instance profiles that have the specified path prefix. If
2691             there are none, the action returns an empty list. For more information
2692             about instance profiles, go to About Instance Profiles.
2693              
2694             You can paginate the results using the C<MaxItems> and C<Marker>
2695             parameters.
2696              
2697              
2698             =head2 ListInstanceProfilesForRole(RoleName => Str, [Marker => Str, MaxItems => Int])
2699              
2700             Each argument is described in detail in: L<Paws::IAM::ListInstanceProfilesForRole>
2701              
2702             Returns: a L<Paws::IAM::ListInstanceProfilesForRoleResponse> instance
2703              
2704             Lists the instance profiles that have the specified associated IAM
2705             role. If there are none, the action returns an empty list. For more
2706             information about instance profiles, go to About Instance Profiles.
2707              
2708             You can paginate the results using the C<MaxItems> and C<Marker>
2709             parameters.
2710              
2711              
2712             =head2 ListMFADevices([Marker => Str, MaxItems => Int, UserName => Str])
2713              
2714             Each argument is described in detail in: L<Paws::IAM::ListMFADevices>
2715              
2716             Returns: a L<Paws::IAM::ListMFADevicesResponse> instance
2717              
2718             Lists the MFA devices for an IAM user. If the request includes a IAM
2719             user name, then this action lists all the MFA devices associated with
2720             the specified user. If you do not specify a user name, IAM determines
2721             the user name implicitly based on the AWS access key ID signing the
2722             request for this API.
2723              
2724             You can paginate the results using the C<MaxItems> and C<Marker>
2725             parameters.
2726              
2727              
2728             =head2 ListOpenIDConnectProviders()
2729              
2730             Each argument is described in detail in: L<Paws::IAM::ListOpenIDConnectProviders>
2731              
2732             Returns: a L<Paws::IAM::ListOpenIDConnectProvidersResponse> instance
2733              
2734             Lists information about the IAM OpenID Connect (OIDC) provider resource
2735             objects defined in the AWS account.
2736              
2737              
2738             =head2 ListPolicies([Marker => Str, MaxItems => Int, OnlyAttached => Bool, PathPrefix => Str, Scope => Str])
2739              
2740             Each argument is described in detail in: L<Paws::IAM::ListPolicies>
2741              
2742             Returns: a L<Paws::IAM::ListPoliciesResponse> instance
2743              
2744             Lists all the managed policies that are available in your AWS account,
2745             including your own customer-defined managed policies and all AWS
2746             managed policies.
2747              
2748             You can filter the list of policies that is returned using the optional
2749             C<OnlyAttached>, C<Scope>, and C<PathPrefix> parameters. For example,
2750             to list only the customer managed policies in your AWS account, set
2751             C<Scope> to C<Local>. To list only AWS managed policies, set C<Scope>
2752             to C<AWS>.
2753              
2754             You can paginate the results using the C<MaxItems> and C<Marker>
2755             parameters.
2756              
2757             For more information about managed policies, see Managed Policies and
2758             Inline Policies in the I<IAM User Guide>.
2759              
2760              
2761             =head2 ListPolicyVersions(PolicyArn => Str, [Marker => Str, MaxItems => Int])
2762              
2763             Each argument is described in detail in: L<Paws::IAM::ListPolicyVersions>
2764              
2765             Returns: a L<Paws::IAM::ListPolicyVersionsResponse> instance
2766              
2767             Lists information about the versions of the specified managed policy,
2768             including the version that is currently set as the policy's default
2769             version.
2770              
2771             For more information about managed policies, see Managed Policies and
2772             Inline Policies in the I<IAM User Guide>.
2773              
2774              
2775             =head2 ListRolePolicies(RoleName => Str, [Marker => Str, MaxItems => Int])
2776              
2777             Each argument is described in detail in: L<Paws::IAM::ListRolePolicies>
2778              
2779             Returns: a L<Paws::IAM::ListRolePoliciesResponse> instance
2780              
2781             Lists the names of the inline policies that are embedded in the
2782             specified IAM role.
2783              
2784             An IAM role can also have managed policies attached to it. To list the
2785             managed policies that are attached to a role, use
2786             ListAttachedRolePolicies. For more information about policies, see
2787             Managed Policies and Inline Policies in the I<IAM User Guide>.
2788              
2789             You can paginate the results using the C<MaxItems> and C<Marker>
2790             parameters. If there are no inline policies embedded with the specified
2791             role, the action returns an empty list.
2792              
2793              
2794             =head2 ListRoles([Marker => Str, MaxItems => Int, PathPrefix => Str])
2795              
2796             Each argument is described in detail in: L<Paws::IAM::ListRoles>
2797              
2798             Returns: a L<Paws::IAM::ListRolesResponse> instance
2799              
2800             Lists the IAM roles that have the specified path prefix. If there are
2801             none, the action returns an empty list. For more information about
2802             roles, go to Working with Roles.
2803              
2804             You can paginate the results using the C<MaxItems> and C<Marker>
2805             parameters.
2806              
2807              
2808             =head2 ListSAMLProviders()
2809              
2810             Each argument is described in detail in: L<Paws::IAM::ListSAMLProviders>
2811              
2812             Returns: a L<Paws::IAM::ListSAMLProvidersResponse> instance
2813              
2814             Lists the SAML provider resource objects defined in IAM in the account.
2815              
2816             This operation requires Signature Version 4.
2817              
2818              
2819             =head2 ListServerCertificates([Marker => Str, MaxItems => Int, PathPrefix => Str])
2820              
2821             Each argument is described in detail in: L<Paws::IAM::ListServerCertificates>
2822              
2823             Returns: a L<Paws::IAM::ListServerCertificatesResponse> instance
2824              
2825             Lists the server certificates stored in IAM that have the specified
2826             path prefix. If none exist, the action returns an empty list.
2827              
2828             You can paginate the results using the C<MaxItems> and C<Marker>
2829             parameters.
2830              
2831             For more information about working with server certificates, including
2832             a list of AWS services that can use the server certificates that you
2833             manage with IAM, go to Working with Server Certificates in the I<IAM
2834             User Guide>.
2835              
2836              
2837             =head2 ListServiceSpecificCredentials([ServiceName => Str, UserName => Str])
2838              
2839             Each argument is described in detail in: L<Paws::IAM::ListServiceSpecificCredentials>
2840              
2841             Returns: a L<Paws::IAM::ListServiceSpecificCredentialsResponse> instance
2842              
2843             Returns information about the service-specific credentials associated
2844             with the specified IAM user. If there are none, the action returns an
2845             empty list. The service-specific credentials returned by this action
2846             are used only for authenticating the IAM user to a specific service.
2847             For more information about using service-specific credentials to
2848             authenticate to an AWS service, see Set Up service-specific credentials
2849             in the AWS CodeCommit User Guide.
2850              
2851              
2852             =head2 ListSigningCertificates([Marker => Str, MaxItems => Int, UserName => Str])
2853              
2854             Each argument is described in detail in: L<Paws::IAM::ListSigningCertificates>
2855              
2856             Returns: a L<Paws::IAM::ListSigningCertificatesResponse> instance
2857              
2858             Returns information about the signing certificates associated with the
2859             specified IAM user. If there are none, the action returns an empty
2860             list.
2861              
2862             Although each user is limited to a small number of signing
2863             certificates, you can still paginate the results using the C<MaxItems>
2864             and C<Marker> parameters.
2865              
2866             If the C<UserName> field is not specified, the user name is determined
2867             implicitly based on the AWS access key ID used to sign the request for
2868             this API. Because this action works for access keys under the AWS
2869             account, you can use this action to manage root credentials even if the
2870             AWS account has no associated users.
2871              
2872              
2873             =head2 ListSSHPublicKeys([Marker => Str, MaxItems => Int, UserName => Str])
2874              
2875             Each argument is described in detail in: L<Paws::IAM::ListSSHPublicKeys>
2876              
2877             Returns: a L<Paws::IAM::ListSSHPublicKeysResponse> instance
2878              
2879             Returns information about the SSH public keys associated with the
2880             specified IAM user. If there are none, the action returns an empty
2881             list.
2882              
2883             The SSH public keys returned by this action are used only for
2884             authenticating the IAM user to an AWS CodeCommit repository. For more
2885             information about using SSH keys to authenticate to an AWS CodeCommit
2886             repository, see Set up AWS CodeCommit for SSH Connections in the I<AWS
2887             CodeCommit User Guide>.
2888              
2889             Although each user is limited to a small number of keys, you can still
2890             paginate the results using the C<MaxItems> and C<Marker> parameters.
2891              
2892              
2893             =head2 ListUserPolicies(UserName => Str, [Marker => Str, MaxItems => Int])
2894              
2895             Each argument is described in detail in: L<Paws::IAM::ListUserPolicies>
2896              
2897             Returns: a L<Paws::IAM::ListUserPoliciesResponse> instance
2898              
2899             Lists the names of the inline policies embedded in the specified IAM
2900             user.
2901              
2902             An IAM user can also have managed policies attached to it. To list the
2903             managed policies that are attached to a user, use
2904             ListAttachedUserPolicies. For more information about policies, see
2905             Managed Policies and Inline Policies in the I<IAM User Guide>.
2906              
2907             You can paginate the results using the C<MaxItems> and C<Marker>
2908             parameters. If there are no inline policies embedded with the specified
2909             user, the action returns an empty list.
2910              
2911              
2912             =head2 ListUsers([Marker => Str, MaxItems => Int, PathPrefix => Str])
2913              
2914             Each argument is described in detail in: L<Paws::IAM::ListUsers>
2915              
2916             Returns: a L<Paws::IAM::ListUsersResponse> instance
2917              
2918             Lists the IAM users that have the specified path prefix. If no path
2919             prefix is specified, the action returns all users in the AWS account.
2920             If there are none, the action returns an empty list.
2921              
2922             You can paginate the results using the C<MaxItems> and C<Marker>
2923             parameters.
2924              
2925              
2926             =head2 ListVirtualMFADevices([AssignmentStatus => Str, Marker => Str, MaxItems => Int])
2927              
2928             Each argument is described in detail in: L<Paws::IAM::ListVirtualMFADevices>
2929              
2930             Returns: a L<Paws::IAM::ListVirtualMFADevicesResponse> instance
2931              
2932             Lists the virtual MFA devices defined in the AWS account by assignment
2933             status. If you do not specify an assignment status, the action returns
2934             a list of all virtual MFA devices. Assignment status can be
2935             C<Assigned>, C<Unassigned>, or C<Any>.
2936              
2937             You can paginate the results using the C<MaxItems> and C<Marker>
2938             parameters.
2939              
2940              
2941             =head2 PutGroupPolicy(GroupName => Str, PolicyDocument => Str, PolicyName => Str)
2942              
2943             Each argument is described in detail in: L<Paws::IAM::PutGroupPolicy>
2944              
2945             Returns: nothing
2946              
2947             Adds or updates an inline policy document that is embedded in the
2948             specified IAM group.
2949              
2950             A user can also have managed policies attached to it. To attach a
2951             managed policy to a group, use AttachGroupPolicy. To create a new
2952             managed policy, use CreatePolicy. For information about policies, see
2953             Managed Policies and Inline Policies in the I<IAM User Guide>.
2954              
2955             For information about limits on the number of inline policies that you
2956             can embed in a group, see Limitations on IAM Entities in the I<IAM User
2957             Guide>.
2958              
2959             Because policy documents can be large, you should use POST rather than
2960             GET when calling C<PutGroupPolicy>. For general information about using
2961             the Query API with IAM, go to Making Query Requests in the I<IAM User
2962             Guide>.
2963              
2964              
2965             =head2 PutRolePolicy(PolicyDocument => Str, PolicyName => Str, RoleName => Str)
2966              
2967             Each argument is described in detail in: L<Paws::IAM::PutRolePolicy>
2968              
2969             Returns: nothing
2970              
2971             Adds or updates an inline policy document that is embedded in the
2972             specified IAM role.
2973              
2974             When you embed an inline policy in a role, the inline policy is used as
2975             part of the role's access (permissions) policy. The role's trust policy
2976             is created at the same time as the role, using CreateRole. You can
2977             update a role's trust policy using UpdateAssumeRolePolicy. For more
2978             information about IAM roles, go to Using Roles to Delegate Permissions
2979             and Federate Identities.
2980              
2981             A role can also have a managed policy attached to it. To attach a
2982             managed policy to a role, use AttachRolePolicy. To create a new managed
2983             policy, use CreatePolicy. For information about policies, see Managed
2984             Policies and Inline Policies in the I<IAM User Guide>.
2985              
2986             For information about limits on the number of inline policies that you
2987             can embed with a role, see Limitations on IAM Entities in the I<IAM
2988             User Guide>.
2989              
2990             Because policy documents can be large, you should use POST rather than
2991             GET when calling C<PutRolePolicy>. For general information about using
2992             the Query API with IAM, go to Making Query Requests in the I<IAM User
2993             Guide>.
2994              
2995              
2996             =head2 PutUserPolicy(PolicyDocument => Str, PolicyName => Str, UserName => Str)
2997              
2998             Each argument is described in detail in: L<Paws::IAM::PutUserPolicy>
2999              
3000             Returns: nothing
3001              
3002             Adds or updates an inline policy document that is embedded in the
3003             specified IAM user.
3004              
3005             An IAM user can also have a managed policy attached to it. To attach a
3006             managed policy to a user, use AttachUserPolicy. To create a new managed
3007             policy, use CreatePolicy. For information about policies, see Managed
3008             Policies and Inline Policies in the I<IAM User Guide>.
3009              
3010             For information about limits on the number of inline policies that you
3011             can embed in a user, see Limitations on IAM Entities in the I<IAM User
3012             Guide>.
3013              
3014             Because policy documents can be large, you should use POST rather than
3015             GET when calling C<PutUserPolicy>. For general information about using
3016             the Query API with IAM, go to Making Query Requests in the I<IAM User
3017             Guide>.
3018              
3019              
3020             =head2 RemoveClientIDFromOpenIDConnectProvider(ClientID => Str, OpenIDConnectProviderArn => Str)
3021              
3022             Each argument is described in detail in: L<Paws::IAM::RemoveClientIDFromOpenIDConnectProvider>
3023              
3024             Returns: nothing
3025              
3026             Removes the specified client ID (also known as audience) from the list
3027             of client IDs registered for the specified IAM OpenID Connect (OIDC)
3028             provider resource object.
3029              
3030             This action is idempotent; it does not fail or return an error if you
3031             try to remove a client ID that does not exist.
3032              
3033              
3034             =head2 RemoveRoleFromInstanceProfile(InstanceProfileName => Str, RoleName => Str)
3035              
3036             Each argument is described in detail in: L<Paws::IAM::RemoveRoleFromInstanceProfile>
3037              
3038             Returns: nothing
3039              
3040             Removes the specified IAM role from the specified EC2 instance profile.
3041              
3042             Make sure you do not have any Amazon EC2 instances running with the
3043             role you are about to remove from the instance profile. Removing a role
3044             from an instance profile that is associated with a running instance
3045             might break any applications running on the instance.
3046              
3047             For more information about IAM roles, go to Working with Roles. For
3048             more information about instance profiles, go to About Instance
3049             Profiles.
3050              
3051              
3052             =head2 RemoveUserFromGroup(GroupName => Str, UserName => Str)
3053              
3054             Each argument is described in detail in: L<Paws::IAM::RemoveUserFromGroup>
3055              
3056             Returns: nothing
3057              
3058             Removes the specified user from the specified group.
3059              
3060              
3061             =head2 ResetServiceSpecificCredential(ServiceSpecificCredentialId => Str, [UserName => Str])
3062              
3063             Each argument is described in detail in: L<Paws::IAM::ResetServiceSpecificCredential>
3064              
3065             Returns: a L<Paws::IAM::ResetServiceSpecificCredentialResponse> instance
3066              
3067             Resets the password for a service-specific credential. The new password
3068             is AWS generated and cryptographically strong. It cannot be configured
3069             by the user. Resetting the password immediately invalidates the
3070             previous password associated with this user.
3071              
3072              
3073             =head2 ResyncMFADevice(AuthenticationCode1 => Str, AuthenticationCode2 => Str, SerialNumber => Str, UserName => Str)
3074              
3075             Each argument is described in detail in: L<Paws::IAM::ResyncMFADevice>
3076              
3077             Returns: nothing
3078              
3079             Synchronizes the specified MFA device with its IAM resource object on
3080             the AWS servers.
3081              
3082             For more information about creating and working with virtual MFA
3083             devices, go to Using a Virtual MFA Device in the I<IAM User Guide>.
3084              
3085              
3086             =head2 SetDefaultPolicyVersion(PolicyArn => Str, VersionId => Str)
3087              
3088             Each argument is described in detail in: L<Paws::IAM::SetDefaultPolicyVersion>
3089              
3090             Returns: nothing
3091              
3092             Sets the specified version of the specified policy as the policy's
3093             default (operative) version.
3094              
3095             This action affects all users, groups, and roles that the policy is
3096             attached to. To list the users, groups, and roles that the policy is
3097             attached to, use the ListEntitiesForPolicy API.
3098              
3099             For information about managed policies, see Managed Policies and Inline
3100             Policies in the I<IAM User Guide>.
3101              
3102              
3103             =head2 SimulateCustomPolicy(ActionNames => ArrayRef[Str|Undef], PolicyInputList => ArrayRef[Str|Undef], [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3104              
3105             Each argument is described in detail in: L<Paws::IAM::SimulateCustomPolicy>
3106              
3107             Returns: a L<Paws::IAM::SimulatePolicyResponse> instance
3108              
3109             Simulate how a set of IAM policies and optionally a resource-based
3110             policy works with a list of API actions and AWS resources to determine
3111             the policies' effective permissions. The policies are provided as
3112             strings.
3113              
3114             The simulation does not perform the API actions; it only checks the
3115             authorization to determine if the simulated policies allow or deny the
3116             actions.
3117              
3118             If you want to simulate existing policies attached to an IAM user,
3119             group, or role, use SimulatePrincipalPolicy instead.
3120              
3121             Context keys are variables maintained by AWS and its services that
3122             provide details about the context of an API query request. You can use
3123             the C<Condition> element of an IAM policy to evaluate context keys. To
3124             get the list of context keys that the policies require for correct
3125             simulation, use GetContextKeysForCustomPolicy.
3126              
3127             If the output is long, you can use C<MaxItems> and C<Marker> parameters
3128             to paginate the results.
3129              
3130              
3131             =head2 SimulatePrincipalPolicy(ActionNames => ArrayRef[Str|Undef], PolicySourceArn => Str, [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, PolicyInputList => ArrayRef[Str|Undef], ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3132              
3133             Each argument is described in detail in: L<Paws::IAM::SimulatePrincipalPolicy>
3134              
3135             Returns: a L<Paws::IAM::SimulatePolicyResponse> instance
3136              
3137             Simulate how a set of IAM policies attached to an IAM entity works with
3138             a list of API actions and AWS resources to determine the policies'
3139             effective permissions. The entity can be an IAM user, group, or role.
3140             If you specify a user, then the simulation also includes all of the
3141             policies that are attached to groups that the user belongs to .
3142              
3143             You can optionally include a list of one or more additional policies
3144             specified as strings to include in the simulation. If you want to
3145             simulate only policies specified as strings, use SimulateCustomPolicy
3146             instead.
3147              
3148             You can also optionally include one resource-based policy to be
3149             evaluated with each of the resources included in the simulation.
3150              
3151             The simulation does not perform the API actions, it only checks the
3152             authorization to determine if the simulated policies allow or deny the
3153             actions.
3154              
3155             B<Note:> This API discloses information about the permissions granted
3156             to other users. If you do not want users to see other user's
3157             permissions, then consider allowing them to use SimulateCustomPolicy
3158             instead.
3159              
3160             Context keys are variables maintained by AWS and its services that
3161             provide details about the context of an API query request. You can use
3162             the C<Condition> element of an IAM policy to evaluate context keys. To
3163             get the list of context keys that the policies require for correct
3164             simulation, use GetContextKeysForPrincipalPolicy.
3165              
3166             If the output is long, you can use the C<MaxItems> and C<Marker>
3167             parameters to paginate the results.
3168              
3169              
3170             =head2 UpdateAccessKey(AccessKeyId => Str, Status => Str, [UserName => Str])
3171              
3172             Each argument is described in detail in: L<Paws::IAM::UpdateAccessKey>
3173              
3174             Returns: nothing
3175              
3176             Changes the status of the specified access key from Active to Inactive,
3177             or vice versa. This action can be used to disable a user's key as part
3178             of a key rotation work flow.
3179              
3180             If the C<UserName> field is not specified, the UserName is determined
3181             implicitly based on the AWS access key ID used to sign the request.
3182             Because this action works for access keys under the AWS account, you
3183             can use this action to manage root credentials even if the AWS account
3184             has no associated users.
3185              
3186             For information about rotating keys, see Managing Keys and Certificates
3187             in the I<IAM User Guide>.
3188              
3189              
3190             =head2 UpdateAccountPasswordPolicy([AllowUsersToChangePassword => Bool, HardExpiry => Bool, MaxPasswordAge => Int, MinimumPasswordLength => Int, PasswordReusePrevention => Int, RequireLowercaseCharacters => Bool, RequireNumbers => Bool, RequireSymbols => Bool, RequireUppercaseCharacters => Bool])
3191              
3192             Each argument is described in detail in: L<Paws::IAM::UpdateAccountPasswordPolicy>
3193              
3194             Returns: nothing
3195              
3196             Updates the password policy settings for the AWS account.
3197              
3198             This action does not support partial updates. No parameters are
3199             required, but if you do not specify a parameter, that parameter's value
3200             reverts to its default value. See the B<Request Parameters> section for
3201             each parameter's default value.
3202              
3203             For more information about using a password policy, see Managing an IAM
3204             Password Policy in the I<IAM User Guide>.
3205              
3206              
3207             =head2 UpdateAssumeRolePolicy(PolicyDocument => Str, RoleName => Str)
3208              
3209             Each argument is described in detail in: L<Paws::IAM::UpdateAssumeRolePolicy>
3210              
3211             Returns: nothing
3212              
3213             Updates the policy that grants an IAM entity permission to assume a
3214             role. This is typically referred to as the "role trust policy". For
3215             more information about roles, go to Using Roles to Delegate Permissions
3216             and Federate Identities.
3217              
3218              
3219             =head2 UpdateGroup(GroupName => Str, [NewGroupName => Str, NewPath => Str])
3220              
3221             Each argument is described in detail in: L<Paws::IAM::UpdateGroup>
3222              
3223             Returns: nothing
3224              
3225             Updates the name and/or the path of the specified IAM group.
3226              
3227             You should understand the implications of changing a group's path or
3228             name. For more information, see Renaming Users and Groups in the I<IAM
3229             User Guide>.
3230              
3231             To change an IAM group name the requester must have appropriate
3232             permissions on both the source object and the target object. For
3233             example, to change "Managers" to "MGRs", the entity making the request
3234             must have permission on both "Managers" and "MGRs", or must have
3235             permission on all (*). For more information about permissions, see
3236             Permissions and Policies.
3237              
3238              
3239             =head2 UpdateLoginProfile(UserName => Str, [Password => Str, PasswordResetRequired => Bool])
3240              
3241             Each argument is described in detail in: L<Paws::IAM::UpdateLoginProfile>
3242              
3243             Returns: nothing
3244              
3245             Changes the password for the specified IAM user.
3246              
3247             IAM users can change their own passwords by calling ChangePassword. For
3248             more information about modifying passwords, see Managing Passwords in
3249             the I<IAM User Guide>.
3250              
3251              
3252             =head2 UpdateOpenIDConnectProviderThumbprint(OpenIDConnectProviderArn => Str, ThumbprintList => ArrayRef[Str|Undef])
3253              
3254             Each argument is described in detail in: L<Paws::IAM::UpdateOpenIDConnectProviderThumbprint>
3255              
3256             Returns: nothing
3257              
3258             Replaces the existing list of server certificate thumbprints associated
3259             with an OpenID Connect (OIDC) provider resource object with a new list
3260             of thumbprints.
3261              
3262             The list that you pass with this action completely replaces the
3263             existing list of thumbprints. (The lists are not merged.)
3264              
3265             Typically, you need to update a thumbprint only when the identity
3266             provider's certificate changes, which occurs rarely. However, if the
3267             provider's certificate I<does> change, any attempt to assume an IAM
3268             role that specifies the OIDC provider as a principal fails until the
3269             certificate thumbprint is updated.
3270              
3271             Because trust for the OIDC provider is ultimately derived from the
3272             provider's certificate and is validated by the thumbprint, it is a best
3273             practice to limit access to the
3274             C<UpdateOpenIDConnectProviderThumbprint> action to highly-privileged
3275             users.
3276              
3277              
3278             =head2 UpdateRoleDescription(Description => Str, RoleName => Str)
3279              
3280             Each argument is described in detail in: L<Paws::IAM::UpdateRoleDescription>
3281              
3282             Returns: a L<Paws::IAM::UpdateRoleDescriptionResponse> instance
3283              
3284             Modifies the description of a role.
3285              
3286              
3287             =head2 UpdateSAMLProvider(SAMLMetadataDocument => Str, SAMLProviderArn => Str)
3288              
3289             Each argument is described in detail in: L<Paws::IAM::UpdateSAMLProvider>
3290              
3291             Returns: a L<Paws::IAM::UpdateSAMLProviderResponse> instance
3292              
3293             Updates the metadata document for an existing SAML provider resource
3294             object.
3295              
3296             This operation requires Signature Version 4.
3297              
3298              
3299             =head2 UpdateServerCertificate(ServerCertificateName => Str, [NewPath => Str, NewServerCertificateName => Str])
3300              
3301             Each argument is described in detail in: L<Paws::IAM::UpdateServerCertificate>
3302              
3303             Returns: nothing
3304              
3305             Updates the name and/or the path of the specified server certificate
3306             stored in IAM.
3307              
3308             For more information about working with server certificates, including
3309             a list of AWS services that can use the server certificates that you
3310             manage with IAM, go to Working with Server Certificates in the I<IAM
3311             User Guide>.
3312              
3313             You should understand the implications of changing a server
3314             certificate's path or name. For more information, see Renaming a Server
3315             Certificate in the I<IAM User Guide>.
3316              
3317             To change a server certificate name the requester must have appropriate
3318             permissions on both the source object and the target object. For
3319             example, to change the name from "ProductionCert" to "ProdCert", the
3320             entity making the request must have permission on "ProductionCert" and
3321             "ProdCert", or must have permission on all (*). For more information
3322             about permissions, see Access Management in the I<IAM User Guide>.
3323              
3324              
3325             =head2 UpdateServiceSpecificCredential(ServiceSpecificCredentialId => Str, Status => Str, [UserName => Str])
3326              
3327             Each argument is described in detail in: L<Paws::IAM::UpdateServiceSpecificCredential>
3328              
3329             Returns: nothing
3330              
3331             Sets the status of a service-specific credential to C<Active> or
3332             C<Inactive>. Service-specific credentials that are inactive cannot be
3333             used for authentication to the service. This action can be used to
3334             disable a userE<rsquo>s service-specific credential as part of a
3335             credential rotation work flow.
3336              
3337              
3338             =head2 UpdateSigningCertificate(CertificateId => Str, Status => Str, [UserName => Str])
3339              
3340             Each argument is described in detail in: L<Paws::IAM::UpdateSigningCertificate>
3341              
3342             Returns: nothing
3343              
3344             Changes the status of the specified user signing certificate from
3345             active to disabled, or vice versa. This action can be used to disable
3346             an IAM user's signing certificate as part of a certificate rotation
3347             work flow.
3348              
3349             If the C<UserName> field is not specified, the UserName is determined
3350             implicitly based on the AWS access key ID used to sign the request.
3351             Because this action works for access keys under the AWS account, you
3352             can use this action to manage root credentials even if the AWS account
3353             has no associated users.
3354              
3355              
3356             =head2 UpdateSSHPublicKey(SSHPublicKeyId => Str, Status => Str, UserName => Str)
3357              
3358             Each argument is described in detail in: L<Paws::IAM::UpdateSSHPublicKey>
3359              
3360             Returns: nothing
3361              
3362             Sets the status of an IAM user's SSH public key to active or inactive.
3363             SSH public keys that are inactive cannot be used for authentication.
3364             This action can be used to disable a user's SSH public key as part of a
3365             key rotation work flow.
3366              
3367             The SSH public key affected by this action is used only for
3368             authenticating the associated IAM user to an AWS CodeCommit repository.
3369             For more information about using SSH keys to authenticate to an AWS
3370             CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in
3371             the I<AWS CodeCommit User Guide>.
3372              
3373              
3374             =head2 UpdateUser(UserName => Str, [NewPath => Str, NewUserName => Str])
3375              
3376             Each argument is described in detail in: L<Paws::IAM::UpdateUser>
3377              
3378             Returns: nothing
3379              
3380             Updates the name and/or the path of the specified IAM user.
3381              
3382             You should understand the implications of changing an IAM user's path
3383             or name. For more information, see Renaming an IAM User and Renaming an
3384             IAM Group in the I<IAM User Guide>.
3385              
3386             To change a user name the requester must have appropriate permissions
3387             on both the source object and the target object. For example, to change
3388             Bob to Robert, the entity making the request must have permission on
3389             Bob and Robert, or must have permission on all (*). For more
3390             information about permissions, see Permissions and Policies.
3391              
3392              
3393             =head2 UploadServerCertificate(CertificateBody => Str, PrivateKey => Str, ServerCertificateName => Str, [CertificateChain => Str, Path => Str])
3394              
3395             Each argument is described in detail in: L<Paws::IAM::UploadServerCertificate>
3396              
3397             Returns: a L<Paws::IAM::UploadServerCertificateResponse> instance
3398              
3399             Uploads a server certificate entity for the AWS account. The server
3400             certificate entity includes a public key certificate, a private key,
3401             and an optional certificate chain, which should all be PEM-encoded.
3402              
3403             We recommend that you use AWS Certificate Manager to provision, manage,
3404             and deploy your server certificates. With ACM you can request a
3405             certificate, deploy it to AWS resources, and let ACM handle certificate
3406             renewals for you. Certificates provided by ACM are free. For more
3407             information about using ACM, see the AWS Certificate Manager User
3408             Guide.
3409              
3410             For more information about working with server certificates, including
3411             a list of AWS services that can use the server certificates that you
3412             manage with IAM, go to Working with Server Certificates in the I<IAM
3413             User Guide>.
3414              
3415             For information about the number of server certificates you can upload,
3416             see Limitations on IAM Entities and Objects in the I<IAM User Guide>.
3417              
3418             Because the body of the public key certificate, private key, and the
3419             certificate chain can be large, you should use POST rather than GET
3420             when calling C<UploadServerCertificate>. For information about setting
3421             up signatures and authorization through the API, go to Signing AWS API
3422             Requests in the I<AWS General Reference>. For general information about
3423             using the Query API with IAM, go to Calling the API by Making HTTP
3424             Query Requests in the I<IAM User Guide>.
3425              
3426              
3427             =head2 UploadSigningCertificate(CertificateBody => Str, [UserName => Str])
3428              
3429             Each argument is described in detail in: L<Paws::IAM::UploadSigningCertificate>
3430              
3431             Returns: a L<Paws::IAM::UploadSigningCertificateResponse> instance
3432              
3433             Uploads an X.509 signing certificate and associates it with the
3434             specified IAM user. Some AWS services use X.509 signing certificates to
3435             validate requests that are signed with a corresponding private key.
3436             When you upload the certificate, its default status is C<Active>.
3437              
3438             If the C<UserName> field is not specified, the IAM user name is
3439             determined implicitly based on the AWS access key ID used to sign the
3440             request. Because this action works for access keys under the AWS
3441             account, you can use this action to manage root credentials even if the
3442             AWS account has no associated users.
3443              
3444             Because the body of a X.509 certificate can be large, you should use
3445             POST rather than GET when calling C<UploadSigningCertificate>. For
3446             information about setting up signatures and authorization through the
3447             API, go to Signing AWS API Requests in the I<AWS General Reference>.
3448             For general information about using the Query API with IAM, go to
3449             Making Query Requests in the I<IAM User Guide>.
3450              
3451              
3452             =head2 UploadSSHPublicKey(SSHPublicKeyBody => Str, UserName => Str)
3453              
3454             Each argument is described in detail in: L<Paws::IAM::UploadSSHPublicKey>
3455              
3456             Returns: a L<Paws::IAM::UploadSSHPublicKeyResponse> instance
3457              
3458             Uploads an SSH public key and associates it with the specified IAM
3459             user.
3460              
3461             The SSH public key uploaded by this action can be used only for
3462             authenticating the associated IAM user to an AWS CodeCommit repository.
3463             For more information about using SSH keys to authenticate to an AWS
3464             CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in
3465             the I<AWS CodeCommit User Guide>.
3466              
3467              
3468              
3469              
3470             =head1 PAGINATORS
3471              
3472             Paginator methods are helpers that repetively call methods that return partial results
3473              
3474             =head2 GetAllAccountAuthorizationDetails(sub { },[Filter => ArrayRef[Str|Undef], Marker => Str, MaxItems => Int])
3475              
3476             =head2 GetAllAccountAuthorizationDetails([Filter => ArrayRef[Str|Undef], Marker => Str, MaxItems => Int])
3477              
3478              
3479             If passed a sub as first parameter, it will call the sub for each element found in :
3480              
3481             - UserDetailList, passing the object as the first parameter, and the string 'UserDetailList' as the second parameter
3482              
3483             - GroupDetailList, passing the object as the first parameter, and the string 'GroupDetailList' as the second parameter
3484              
3485             - RoleDetailList, passing the object as the first parameter, and the string 'RoleDetailList' as the second parameter
3486              
3487             - Policies, passing the object as the first parameter, and the string 'Policies' as the second parameter
3488              
3489             If not, it will return a a L<Paws::IAM::GetAccountAuthorizationDetailsResponse> instance with all the C<param>s; andC<param>s; andC<param>s; andC<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3490              
3491              
3492             =head2 GetAllGroup(sub { },GroupName => Str, [Marker => Str, MaxItems => Int])
3493              
3494             =head2 GetAllGroup(GroupName => Str, [Marker => Str, MaxItems => Int])
3495              
3496              
3497             If passed a sub as first parameter, it will call the sub for each element found in :
3498              
3499             - Users, passing the object as the first parameter, and the string 'Users' as the second parameter
3500              
3501             If not, it will return a a L<Paws::IAM::GetGroupResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3502              
3503              
3504             =head2 ListAllAccessKeys(sub { },[Marker => Str, MaxItems => Int, UserName => Str])
3505              
3506             =head2 ListAllAccessKeys([Marker => Str, MaxItems => Int, UserName => Str])
3507              
3508              
3509             If passed a sub as first parameter, it will call the sub for each element found in :
3510              
3511             - AccessKeyMetadata, passing the object as the first parameter, and the string 'AccessKeyMetadata' as the second parameter
3512              
3513             If not, it will return a a L<Paws::IAM::ListAccessKeysResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3514              
3515              
3516             =head2 ListAllAccountAliases(sub { },[Marker => Str, MaxItems => Int])
3517              
3518             =head2 ListAllAccountAliases([Marker => Str, MaxItems => Int])
3519              
3520              
3521             If passed a sub as first parameter, it will call the sub for each element found in :
3522              
3523             - AccountAliases, passing the object as the first parameter, and the string 'AccountAliases' as the second parameter
3524              
3525             If not, it will return a a L<Paws::IAM::ListAccountAliasesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3526              
3527              
3528             =head2 ListAllAttachedGroupPolicies(sub { },GroupName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3529              
3530             =head2 ListAllAttachedGroupPolicies(GroupName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3531              
3532              
3533             If passed a sub as first parameter, it will call the sub for each element found in :
3534              
3535             - AttachedPolicies, passing the object as the first parameter, and the string 'AttachedPolicies' as the second parameter
3536              
3537             If not, it will return a a L<Paws::IAM::ListAttachedGroupPoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3538              
3539              
3540             =head2 ListAllAttachedRolePolicies(sub { },RoleName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3541              
3542             =head2 ListAllAttachedRolePolicies(RoleName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3543              
3544              
3545             If passed a sub as first parameter, it will call the sub for each element found in :
3546              
3547             - AttachedPolicies, passing the object as the first parameter, and the string 'AttachedPolicies' as the second parameter
3548              
3549             If not, it will return a a L<Paws::IAM::ListAttachedRolePoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3550              
3551              
3552             =head2 ListAllAttachedUserPolicies(sub { },UserName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3553              
3554             =head2 ListAllAttachedUserPolicies(UserName => Str, [Marker => Str, MaxItems => Int, PathPrefix => Str])
3555              
3556              
3557             If passed a sub as first parameter, it will call the sub for each element found in :
3558              
3559             - AttachedPolicies, passing the object as the first parameter, and the string 'AttachedPolicies' as the second parameter
3560              
3561             If not, it will return a a L<Paws::IAM::ListAttachedUserPoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3562              
3563              
3564             =head2 ListAllEntitiesForPolicy(sub { },PolicyArn => Str, [EntityFilter => Str, Marker => Str, MaxItems => Int, PathPrefix => Str])
3565              
3566             =head2 ListAllEntitiesForPolicy(PolicyArn => Str, [EntityFilter => Str, Marker => Str, MaxItems => Int, PathPrefix => Str])
3567              
3568              
3569             If passed a sub as first parameter, it will call the sub for each element found in :
3570              
3571             - PolicyGroups, passing the object as the first parameter, and the string 'PolicyGroups' as the second parameter
3572              
3573             - PolicyUsers, passing the object as the first parameter, and the string 'PolicyUsers' as the second parameter
3574              
3575             - PolicyRoles, passing the object as the first parameter, and the string 'PolicyRoles' as the second parameter
3576              
3577             If not, it will return a a L<Paws::IAM::ListEntitiesForPolicyResponse> instance with all the C<param>s; andC<param>s; andC<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3578              
3579              
3580             =head2 ListAllGroupPolicies(sub { },GroupName => Str, [Marker => Str, MaxItems => Int])
3581              
3582             =head2 ListAllGroupPolicies(GroupName => Str, [Marker => Str, MaxItems => Int])
3583              
3584              
3585             If passed a sub as first parameter, it will call the sub for each element found in :
3586              
3587             - PolicyNames, passing the object as the first parameter, and the string 'PolicyNames' as the second parameter
3588              
3589             If not, it will return a a L<Paws::IAM::ListGroupPoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3590              
3591              
3592             =head2 ListAllGroups(sub { },[Marker => Str, MaxItems => Int, PathPrefix => Str])
3593              
3594             =head2 ListAllGroups([Marker => Str, MaxItems => Int, PathPrefix => Str])
3595              
3596              
3597             If passed a sub as first parameter, it will call the sub for each element found in :
3598              
3599             - Groups, passing the object as the first parameter, and the string 'Groups' as the second parameter
3600              
3601             If not, it will return a a L<Paws::IAM::ListGroupsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3602              
3603              
3604             =head2 ListAllGroupsForUser(sub { },UserName => Str, [Marker => Str, MaxItems => Int])
3605              
3606             =head2 ListAllGroupsForUser(UserName => Str, [Marker => Str, MaxItems => Int])
3607              
3608              
3609             If passed a sub as first parameter, it will call the sub for each element found in :
3610              
3611             - Groups, passing the object as the first parameter, and the string 'Groups' as the second parameter
3612              
3613             If not, it will return a a L<Paws::IAM::ListGroupsForUserResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3614              
3615              
3616             =head2 ListAllInstanceProfiles(sub { },[Marker => Str, MaxItems => Int, PathPrefix => Str])
3617              
3618             =head2 ListAllInstanceProfiles([Marker => Str, MaxItems => Int, PathPrefix => Str])
3619              
3620              
3621             If passed a sub as first parameter, it will call the sub for each element found in :
3622              
3623             - InstanceProfiles, passing the object as the first parameter, and the string 'InstanceProfiles' as the second parameter
3624              
3625             If not, it will return a a L<Paws::IAM::ListInstanceProfilesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3626              
3627              
3628             =head2 ListAllInstanceProfilesForRole(sub { },RoleName => Str, [Marker => Str, MaxItems => Int])
3629              
3630             =head2 ListAllInstanceProfilesForRole(RoleName => Str, [Marker => Str, MaxItems => Int])
3631              
3632              
3633             If passed a sub as first parameter, it will call the sub for each element found in :
3634              
3635             - InstanceProfiles, passing the object as the first parameter, and the string 'InstanceProfiles' as the second parameter
3636              
3637             If not, it will return a a L<Paws::IAM::ListInstanceProfilesForRoleResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3638              
3639              
3640             =head2 ListAllMFADevices(sub { },[Marker => Str, MaxItems => Int, UserName => Str])
3641              
3642             =head2 ListAllMFADevices([Marker => Str, MaxItems => Int, UserName => Str])
3643              
3644              
3645             If passed a sub as first parameter, it will call the sub for each element found in :
3646              
3647             - MFADevices, passing the object as the first parameter, and the string 'MFADevices' as the second parameter
3648              
3649             If not, it will return a a L<Paws::IAM::ListMFADevicesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3650              
3651              
3652             =head2 ListAllPolicies(sub { },[Marker => Str, MaxItems => Int, OnlyAttached => Bool, PathPrefix => Str, Scope => Str])
3653              
3654             =head2 ListAllPolicies([Marker => Str, MaxItems => Int, OnlyAttached => Bool, PathPrefix => Str, Scope => Str])
3655              
3656              
3657             If passed a sub as first parameter, it will call the sub for each element found in :
3658              
3659             - Policies, passing the object as the first parameter, and the string 'Policies' as the second parameter
3660              
3661             If not, it will return a a L<Paws::IAM::ListPoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3662              
3663              
3664             =head2 ListAllPolicyVersions(sub { },PolicyArn => Str, [Marker => Str, MaxItems => Int])
3665              
3666             =head2 ListAllPolicyVersions(PolicyArn => Str, [Marker => Str, MaxItems => Int])
3667              
3668              
3669             If passed a sub as first parameter, it will call the sub for each element found in :
3670              
3671             - Versions, passing the object as the first parameter, and the string 'Versions' as the second parameter
3672              
3673             If not, it will return a a L<Paws::IAM::ListPolicyVersionsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3674              
3675              
3676             =head2 ListAllRolePolicies(sub { },RoleName => Str, [Marker => Str, MaxItems => Int])
3677              
3678             =head2 ListAllRolePolicies(RoleName => Str, [Marker => Str, MaxItems => Int])
3679              
3680              
3681             If passed a sub as first parameter, it will call the sub for each element found in :
3682              
3683             - PolicyNames, passing the object as the first parameter, and the string 'PolicyNames' as the second parameter
3684              
3685             If not, it will return a a L<Paws::IAM::ListRolePoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3686              
3687              
3688             =head2 ListAllRoles(sub { },[Marker => Str, MaxItems => Int, PathPrefix => Str])
3689              
3690             =head2 ListAllRoles([Marker => Str, MaxItems => Int, PathPrefix => Str])
3691              
3692              
3693             If passed a sub as first parameter, it will call the sub for each element found in :
3694              
3695             - Roles, passing the object as the first parameter, and the string 'Roles' as the second parameter
3696              
3697             If not, it will return a a L<Paws::IAM::ListRolesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3698              
3699              
3700             =head2 ListAllServerCertificates(sub { },[Marker => Str, MaxItems => Int, PathPrefix => Str])
3701              
3702             =head2 ListAllServerCertificates([Marker => Str, MaxItems => Int, PathPrefix => Str])
3703              
3704              
3705             If passed a sub as first parameter, it will call the sub for each element found in :
3706              
3707             - ServerCertificateMetadataList, passing the object as the first parameter, and the string 'ServerCertificateMetadataList' as the second parameter
3708              
3709             If not, it will return a a L<Paws::IAM::ListServerCertificatesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3710              
3711              
3712             =head2 ListAllSigningCertificates(sub { },[Marker => Str, MaxItems => Int, UserName => Str])
3713              
3714             =head2 ListAllSigningCertificates([Marker => Str, MaxItems => Int, UserName => Str])
3715              
3716              
3717             If passed a sub as first parameter, it will call the sub for each element found in :
3718              
3719             - Certificates, passing the object as the first parameter, and the string 'Certificates' as the second parameter
3720              
3721             If not, it will return a a L<Paws::IAM::ListSigningCertificatesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3722              
3723              
3724             =head2 ListAllSSHPublicKeys(sub { },[Marker => Str, MaxItems => Int, UserName => Str])
3725              
3726             =head2 ListAllSSHPublicKeys([Marker => Str, MaxItems => Int, UserName => Str])
3727              
3728              
3729             If passed a sub as first parameter, it will call the sub for each element found in :
3730              
3731             - SSHPublicKeys, passing the object as the first parameter, and the string 'SSHPublicKeys' as the second parameter
3732              
3733             If not, it will return a a L<Paws::IAM::ListSSHPublicKeysResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3734              
3735              
3736             =head2 ListAllUserPolicies(sub { },UserName => Str, [Marker => Str, MaxItems => Int])
3737              
3738             =head2 ListAllUserPolicies(UserName => Str, [Marker => Str, MaxItems => Int])
3739              
3740              
3741             If passed a sub as first parameter, it will call the sub for each element found in :
3742              
3743             - PolicyNames, passing the object as the first parameter, and the string 'PolicyNames' as the second parameter
3744              
3745             If not, it will return a a L<Paws::IAM::ListUserPoliciesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3746              
3747              
3748             =head2 ListAllUsers(sub { },[Marker => Str, MaxItems => Int, PathPrefix => Str])
3749              
3750             =head2 ListAllUsers([Marker => Str, MaxItems => Int, PathPrefix => Str])
3751              
3752              
3753             If passed a sub as first parameter, it will call the sub for each element found in :
3754              
3755             - Users, passing the object as the first parameter, and the string 'Users' as the second parameter
3756              
3757             If not, it will return a a L<Paws::IAM::ListUsersResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3758              
3759              
3760             =head2 ListAllVirtualMFADevices(sub { },[AssignmentStatus => Str, Marker => Str, MaxItems => Int])
3761              
3762             =head2 ListAllVirtualMFADevices([AssignmentStatus => Str, Marker => Str, MaxItems => Int])
3763              
3764              
3765             If passed a sub as first parameter, it will call the sub for each element found in :
3766              
3767             - VirtualMFADevices, passing the object as the first parameter, and the string 'VirtualMFADevices' as the second parameter
3768              
3769             If not, it will return a a L<Paws::IAM::ListVirtualMFADevicesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3770              
3771              
3772             =head2 SimulateAllCustomPolicies(sub { },ActionNames => ArrayRef[Str|Undef], PolicyInputList => ArrayRef[Str|Undef], [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3773              
3774             =head2 SimulateAllCustomPolicies(ActionNames => ArrayRef[Str|Undef], PolicyInputList => ArrayRef[Str|Undef], [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3775              
3776              
3777             If passed a sub as first parameter, it will call the sub for each element found in :
3778              
3779             - EvaluationResults, passing the object as the first parameter, and the string 'EvaluationResults' as the second parameter
3780              
3781             If not, it will return a a L<Paws::IAM::SimulatePolicyResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3782              
3783              
3784             =head2 SimulateAllPrincipalPolicies(sub { },ActionNames => ArrayRef[Str|Undef], PolicySourceArn => Str, [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, PolicyInputList => ArrayRef[Str|Undef], ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3785              
3786             =head2 SimulateAllPrincipalPolicies(ActionNames => ArrayRef[Str|Undef], PolicySourceArn => Str, [CallerArn => Str, ContextEntries => ArrayRef[L<Paws::IAM::ContextEntry>], Marker => Str, MaxItems => Int, PolicyInputList => ArrayRef[Str|Undef], ResourceArns => ArrayRef[Str|Undef], ResourceHandlingOption => Str, ResourceOwner => Str, ResourcePolicy => Str])
3787              
3788              
3789             If passed a sub as first parameter, it will call the sub for each element found in :
3790              
3791             - EvaluationResults, passing the object as the first parameter, and the string 'EvaluationResults' as the second parameter
3792              
3793             If not, it will return a a L<Paws::IAM::SimulatePolicyResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
3794              
3795              
3796              
3797              
3798              
3799             =head1 SEE ALSO
3800              
3801             This service class forms part of L<Paws>
3802              
3803             =head1 BUGS and CONTRIBUTIONS
3804              
3805             The source code is located here: https://github.com/pplu/aws-sdk-perl
3806              
3807             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
3808              
3809             =cut
3810