File Coverage

blib/lib/Paws/IAM.pm
Criterion Covered Total %
statement 65 873 7.4
branch 0 104 0.0
condition n/a
subroutine 23 152 15.1
pod 146 150 97.3
total 234 1279 18.3


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