@stacksjs/ts-cloud 0.2.3 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/aws/acm.d.ts +215 -0
  2. package/dist/aws/application-autoscaling.d.ts +345 -0
  3. package/dist/aws/bedrock.d.ts +2672 -0
  4. package/dist/aws/client.d.ts +181 -0
  5. package/dist/aws/cloudformation.d.ts +187 -0
  6. package/dist/aws/cloudfront.d.ts +416 -0
  7. package/dist/aws/cloudwatch-logs.d.ts +70 -0
  8. package/dist/aws/comprehend.d.ts +616 -0
  9. package/dist/aws/connect.d.ts +533 -0
  10. package/dist/aws/deploy-imap.d.ts +26 -0
  11. package/dist/aws/dynamodb.d.ts +270 -0
  12. package/dist/aws/ec2.d.ts +545 -0
  13. package/dist/aws/ecr.d.ts +240 -0
  14. package/dist/aws/ecs.d.ts +267 -0
  15. package/dist/aws/efs.d.ts +36 -0
  16. package/dist/aws/elasticache.d.ts +112 -0
  17. package/dist/aws/elbv2.d.ts +389 -0
  18. package/dist/aws/email.d.ts +260 -0
  19. package/dist/aws/eventbridge.d.ts +197 -0
  20. package/dist/aws/iam.d.ts +1013 -0
  21. package/dist/aws/imap-server.d.ts +298 -0
  22. package/dist/aws/index.d.ts +53 -0
  23. package/dist/aws/kendra.d.ts +831 -0
  24. package/dist/aws/lambda.d.ts +319 -0
  25. package/dist/aws/opensearch.d.ts +121 -0
  26. package/dist/aws/personalize.d.ts +586 -0
  27. package/dist/aws/polly.d.ts +243 -0
  28. package/dist/aws/rds.d.ts +346 -0
  29. package/dist/aws/rekognition.d.ts +691 -0
  30. package/dist/aws/route53-domains.d.ts +161 -0
  31. package/dist/aws/route53.d.ts +330 -0
  32. package/dist/aws/s3.d.ts +535 -0
  33. package/dist/aws/scheduler.d.ts +224 -0
  34. package/dist/aws/secrets-manager.d.ts +267 -0
  35. package/dist/aws/ses.d.ts +441 -0
  36. package/dist/aws/setup-phone.d.ts +1 -0
  37. package/dist/aws/setup-sms.d.ts +116 -0
  38. package/dist/aws/sms.d.ts +477 -0
  39. package/dist/aws/smtp-server.d.ts +108 -0
  40. package/dist/aws/sns.d.ts +224 -0
  41. package/dist/aws/sqs.d.ts +107 -0
  42. package/dist/aws/ssm.d.ts +311 -0
  43. package/dist/aws/sts.d.ts +21 -0
  44. package/dist/aws/support.d.ts +139 -0
  45. package/dist/aws/test-imap.d.ts +15 -0
  46. package/dist/aws/textract.d.ts +477 -0
  47. package/dist/aws/transcribe.d.ts +79 -0
  48. package/dist/aws/translate.d.ts +424 -0
  49. package/dist/aws/voice.d.ts +361 -0
  50. package/dist/bin/cli.js +4480 -804
  51. package/dist/config.d.ts +5 -0
  52. package/dist/deploy/index.d.ts +6 -0
  53. package/dist/deploy/static-site-external-dns.d.ts +70 -0
  54. package/dist/deploy/static-site.d.ts +110 -0
  55. package/dist/dns/cloudflare.d.ts +74 -0
  56. package/dist/dns/godaddy.d.ts +63 -0
  57. package/dist/dns/index.d.ts +67 -0
  58. package/dist/dns/porkbun.d.ts +43 -0
  59. package/dist/dns/route53-adapter.d.ts +67 -0
  60. package/dist/dns/types.d.ts +100 -0
  61. package/dist/dns/validator.d.ts +105 -0
  62. package/dist/generators/index.d.ts +4 -0
  63. package/dist/generators/infrastructure.d.ts +115 -0
  64. package/dist/index.d.ts +9 -165
  65. package/dist/index.js +4971 -6013
  66. package/dist/push/apns.d.ts +140 -0
  67. package/dist/push/fcm.d.ts +205 -0
  68. package/dist/push/index.d.ts +44 -0
  69. package/dist/security/pre-deploy-scanner.d.ts +97 -0
  70. package/dist/ssl/acme-client.d.ts +133 -0
  71. package/dist/ssl/index.d.ts +6 -0
  72. package/dist/ssl/letsencrypt.d.ts +96 -0
  73. package/dist/utils/cli.d.ts +121 -0
  74. package/dist/validation/index.d.ts +4 -0
  75. package/dist/validation/template.d.ts +27 -0
  76. package/package.json +6 -6
@@ -0,0 +1,1013 @@
1
+ /**
2
+ * AWS IAM (Identity and Access Management) Operations
3
+ * Direct API calls without AWS SDK dependency
4
+ */
5
+ export interface IAMUser {
6
+ UserName: string;
7
+ UserId: string;
8
+ Arn: string;
9
+ Path?: string;
10
+ CreateDate?: string;
11
+ PasswordLastUsed?: string;
12
+ PermissionsBoundary?: {
13
+ PermissionsBoundaryType: string;
14
+ PermissionsBoundaryArn: string;
15
+ };
16
+ Tags?: Array<{
17
+ Key: string;
18
+ Value: string;
19
+ }>;
20
+ }
21
+ export interface CreateUserParams {
22
+ UserName: string;
23
+ Path?: string;
24
+ PermissionsBoundary?: string;
25
+ Tags?: Array<{
26
+ Key: string;
27
+ Value: string;
28
+ }>;
29
+ }
30
+ export interface GetUserParams {
31
+ UserName?: string;
32
+ }
33
+ export interface ListUsersParams {
34
+ PathPrefix?: string;
35
+ Marker?: string;
36
+ MaxItems?: number;
37
+ }
38
+ export interface UpdateUserParams {
39
+ UserName: string;
40
+ NewUserName?: string;
41
+ NewPath?: string;
42
+ }
43
+ export interface DeleteUserParams {
44
+ UserName: string;
45
+ }
46
+ export interface IAMGroup {
47
+ GroupName: string;
48
+ GroupId: string;
49
+ Arn: string;
50
+ Path?: string;
51
+ CreateDate?: string;
52
+ }
53
+ export interface CreateGroupParams {
54
+ GroupName: string;
55
+ Path?: string;
56
+ }
57
+ export interface GetGroupParams {
58
+ GroupName: string;
59
+ Marker?: string;
60
+ MaxItems?: number;
61
+ }
62
+ export interface ListGroupsParams {
63
+ PathPrefix?: string;
64
+ Marker?: string;
65
+ MaxItems?: number;
66
+ }
67
+ export interface UpdateGroupParams {
68
+ GroupName: string;
69
+ NewGroupName?: string;
70
+ NewPath?: string;
71
+ }
72
+ export interface DeleteGroupParams {
73
+ GroupName: string;
74
+ }
75
+ export interface AddUserToGroupParams {
76
+ GroupName: string;
77
+ UserName: string;
78
+ }
79
+ export interface RemoveUserFromGroupParams {
80
+ GroupName: string;
81
+ UserName: string;
82
+ }
83
+ export interface ListGroupsForUserParams {
84
+ UserName: string;
85
+ Marker?: string;
86
+ MaxItems?: number;
87
+ }
88
+ export interface IAMRole {
89
+ RoleName: string;
90
+ RoleId: string;
91
+ Arn: string;
92
+ Path?: string;
93
+ CreateDate?: string;
94
+ AssumeRolePolicyDocument?: string;
95
+ Description?: string;
96
+ MaxSessionDuration?: number;
97
+ PermissionsBoundary?: {
98
+ PermissionsBoundaryType: string;
99
+ PermissionsBoundaryArn: string;
100
+ };
101
+ Tags?: Array<{
102
+ Key: string;
103
+ Value: string;
104
+ }>;
105
+ RoleLastUsed?: {
106
+ LastUsedDate?: string;
107
+ Region?: string;
108
+ };
109
+ }
110
+ export interface CreateRoleParams {
111
+ RoleName: string;
112
+ AssumeRolePolicyDocument: string;
113
+ Path?: string;
114
+ Description?: string;
115
+ MaxSessionDuration?: number;
116
+ PermissionsBoundary?: string;
117
+ Tags?: Array<{
118
+ Key: string;
119
+ Value: string;
120
+ }>;
121
+ }
122
+ export interface GetRoleParams {
123
+ RoleName: string;
124
+ }
125
+ export interface ListRolesParams {
126
+ PathPrefix?: string;
127
+ Marker?: string;
128
+ MaxItems?: number;
129
+ }
130
+ export interface UpdateRoleParams {
131
+ RoleName: string;
132
+ Description?: string;
133
+ MaxSessionDuration?: number;
134
+ }
135
+ export interface UpdateRoleDescriptionParams {
136
+ RoleName: string;
137
+ Description: string;
138
+ }
139
+ export interface UpdateAssumeRolePolicyParams {
140
+ RoleName: string;
141
+ PolicyDocument: string;
142
+ }
143
+ export interface DeleteRoleParams {
144
+ RoleName: string;
145
+ }
146
+ export interface TagRoleParams {
147
+ RoleName: string;
148
+ Tags: Array<{
149
+ Key: string;
150
+ Value: string;
151
+ }>;
152
+ }
153
+ export interface UntagRoleParams {
154
+ RoleName: string;
155
+ TagKeys: string[];
156
+ }
157
+ export interface ListRoleTagsParams {
158
+ RoleName: string;
159
+ Marker?: string;
160
+ MaxItems?: number;
161
+ }
162
+ export interface IAMPolicy {
163
+ PolicyName: string;
164
+ PolicyId: string;
165
+ Arn: string;
166
+ Path?: string;
167
+ DefaultVersionId?: string;
168
+ AttachmentCount?: number;
169
+ PermissionsBoundaryUsageCount?: number;
170
+ IsAttachable?: boolean;
171
+ Description?: string;
172
+ CreateDate?: string;
173
+ UpdateDate?: string;
174
+ Tags?: Array<{
175
+ Key: string;
176
+ Value: string;
177
+ }>;
178
+ }
179
+ export interface PolicyVersion {
180
+ VersionId: string;
181
+ IsDefaultVersion: boolean;
182
+ CreateDate?: string;
183
+ Document?: string;
184
+ }
185
+ export interface CreatePolicyParams {
186
+ PolicyName: string;
187
+ PolicyDocument: string;
188
+ Path?: string;
189
+ Description?: string;
190
+ Tags?: Array<{
191
+ Key: string;
192
+ Value: string;
193
+ }>;
194
+ }
195
+ export interface GetPolicyParams {
196
+ PolicyArn: string;
197
+ }
198
+ export interface GetPolicyVersionParams {
199
+ PolicyArn: string;
200
+ VersionId: string;
201
+ }
202
+ export interface ListPoliciesParams {
203
+ Scope?: 'All' | 'AWS' | 'Local';
204
+ OnlyAttached?: boolean;
205
+ PathPrefix?: string;
206
+ PolicyUsageFilter?: 'PermissionsPolicy' | 'PermissionsBoundary';
207
+ Marker?: string;
208
+ MaxItems?: number;
209
+ }
210
+ export interface ListPolicyVersionsParams {
211
+ PolicyArn: string;
212
+ Marker?: string;
213
+ MaxItems?: number;
214
+ }
215
+ export interface CreatePolicyVersionParams {
216
+ PolicyArn: string;
217
+ PolicyDocument: string;
218
+ SetAsDefault?: boolean;
219
+ }
220
+ export interface DeletePolicyVersionParams {
221
+ PolicyArn: string;
222
+ VersionId: string;
223
+ }
224
+ export interface SetDefaultPolicyVersionParams {
225
+ PolicyArn: string;
226
+ VersionId: string;
227
+ }
228
+ export interface DeletePolicyParams {
229
+ PolicyArn: string;
230
+ }
231
+ export interface AttachUserPolicyParams {
232
+ UserName: string;
233
+ PolicyArn: string;
234
+ }
235
+ export interface DetachUserPolicyParams {
236
+ UserName: string;
237
+ PolicyArn: string;
238
+ }
239
+ export interface AttachGroupPolicyParams {
240
+ GroupName: string;
241
+ PolicyArn: string;
242
+ }
243
+ export interface DetachGroupPolicyParams {
244
+ GroupName: string;
245
+ PolicyArn: string;
246
+ }
247
+ export interface AttachRolePolicyParams {
248
+ RoleName: string;
249
+ PolicyArn: string;
250
+ }
251
+ export interface DetachRolePolicyParams {
252
+ RoleName: string;
253
+ PolicyArn: string;
254
+ }
255
+ export interface ListAttachedUserPoliciesParams {
256
+ UserName: string;
257
+ PathPrefix?: string;
258
+ Marker?: string;
259
+ MaxItems?: number;
260
+ }
261
+ export interface ListAttachedGroupPoliciesParams {
262
+ GroupName: string;
263
+ PathPrefix?: string;
264
+ Marker?: string;
265
+ MaxItems?: number;
266
+ }
267
+ export interface ListAttachedRolePoliciesParams {
268
+ RoleName: string;
269
+ PathPrefix?: string;
270
+ Marker?: string;
271
+ MaxItems?: number;
272
+ }
273
+ export interface ListEntitiesForPolicyParams {
274
+ PolicyArn: string;
275
+ EntityFilter?: 'User' | 'Role' | 'Group' | 'LocalManagedPolicy' | 'AWSManagedPolicy';
276
+ PathPrefix?: string;
277
+ PolicyUsageFilter?: 'PermissionsPolicy' | 'PermissionsBoundary';
278
+ Marker?: string;
279
+ MaxItems?: number;
280
+ }
281
+ export interface PutUserPolicyParams {
282
+ UserName: string;
283
+ PolicyName: string;
284
+ PolicyDocument: string;
285
+ }
286
+ export interface GetUserPolicyParams {
287
+ UserName: string;
288
+ PolicyName: string;
289
+ }
290
+ export interface DeleteUserPolicyParams {
291
+ UserName: string;
292
+ PolicyName: string;
293
+ }
294
+ export interface ListUserPoliciesParams {
295
+ UserName: string;
296
+ Marker?: string;
297
+ MaxItems?: number;
298
+ }
299
+ export interface PutGroupPolicyParams {
300
+ GroupName: string;
301
+ PolicyName: string;
302
+ PolicyDocument: string;
303
+ }
304
+ export interface GetGroupPolicyParams {
305
+ GroupName: string;
306
+ PolicyName: string;
307
+ }
308
+ export interface DeleteGroupPolicyParams {
309
+ GroupName: string;
310
+ PolicyName: string;
311
+ }
312
+ export interface ListGroupPoliciesParams {
313
+ GroupName: string;
314
+ Marker?: string;
315
+ MaxItems?: number;
316
+ }
317
+ export interface PutRolePolicyParams {
318
+ RoleName: string;
319
+ PolicyName: string;
320
+ PolicyDocument: string;
321
+ }
322
+ export interface GetRolePolicyParams {
323
+ RoleName: string;
324
+ PolicyName: string;
325
+ }
326
+ export interface DeleteRolePolicyParams {
327
+ RoleName: string;
328
+ PolicyName: string;
329
+ }
330
+ export interface ListRolePoliciesParams {
331
+ RoleName: string;
332
+ Marker?: string;
333
+ MaxItems?: number;
334
+ }
335
+ export interface AccessKey {
336
+ UserName: string;
337
+ AccessKeyId: string;
338
+ Status: 'Active' | 'Inactive';
339
+ CreateDate?: string;
340
+ }
341
+ export interface AccessKeyMetadata {
342
+ UserName?: string;
343
+ AccessKeyId: string;
344
+ Status: 'Active' | 'Inactive';
345
+ CreateDate?: string;
346
+ }
347
+ export interface CreateAccessKeyParams {
348
+ UserName?: string;
349
+ }
350
+ export interface CreateAccessKeyResult {
351
+ AccessKey: {
352
+ UserName: string;
353
+ AccessKeyId: string;
354
+ Status: 'Active' | 'Inactive';
355
+ SecretAccessKey: string;
356
+ CreateDate?: string;
357
+ };
358
+ }
359
+ export interface ListAccessKeysParams {
360
+ UserName?: string;
361
+ Marker?: string;
362
+ MaxItems?: number;
363
+ }
364
+ export interface UpdateAccessKeyParams {
365
+ UserName?: string;
366
+ AccessKeyId: string;
367
+ Status: 'Active' | 'Inactive';
368
+ }
369
+ export interface DeleteAccessKeyParams {
370
+ UserName?: string;
371
+ AccessKeyId: string;
372
+ }
373
+ export interface GetAccessKeyLastUsedParams {
374
+ AccessKeyId: string;
375
+ }
376
+ export interface InstanceProfile {
377
+ InstanceProfileName: string;
378
+ InstanceProfileId: string;
379
+ Arn: string;
380
+ Path?: string;
381
+ CreateDate?: string;
382
+ Roles?: IAMRole[];
383
+ Tags?: Array<{
384
+ Key: string;
385
+ Value: string;
386
+ }>;
387
+ }
388
+ export interface CreateInstanceProfileParams {
389
+ InstanceProfileName: string;
390
+ Path?: string;
391
+ Tags?: Array<{
392
+ Key: string;
393
+ Value: string;
394
+ }>;
395
+ }
396
+ export interface GetInstanceProfileParams {
397
+ InstanceProfileName: string;
398
+ }
399
+ export interface ListInstanceProfilesParams {
400
+ PathPrefix?: string;
401
+ Marker?: string;
402
+ MaxItems?: number;
403
+ }
404
+ export interface ListInstanceProfilesForRoleParams {
405
+ RoleName: string;
406
+ Marker?: string;
407
+ MaxItems?: number;
408
+ }
409
+ export interface AddRoleToInstanceProfileParams {
410
+ InstanceProfileName: string;
411
+ RoleName: string;
412
+ }
413
+ export interface RemoveRoleFromInstanceProfileParams {
414
+ InstanceProfileName: string;
415
+ RoleName: string;
416
+ }
417
+ export interface DeleteInstanceProfileParams {
418
+ InstanceProfileName: string;
419
+ }
420
+ export interface ServerCertificate {
421
+ ServerCertificateName: string;
422
+ ServerCertificateId: string;
423
+ Arn: string;
424
+ Path?: string;
425
+ UploadDate?: string;
426
+ Expiration?: string;
427
+ }
428
+ export interface ServerCertificateMetadata {
429
+ ServerCertificateName: string;
430
+ ServerCertificateId: string;
431
+ Arn: string;
432
+ Path?: string;
433
+ UploadDate?: string;
434
+ Expiration?: string;
435
+ }
436
+ export interface UploadServerCertificateParams {
437
+ ServerCertificateName: string;
438
+ CertificateBody: string;
439
+ PrivateKey: string;
440
+ CertificateChain?: string;
441
+ Path?: string;
442
+ Tags?: Array<{
443
+ Key: string;
444
+ Value: string;
445
+ }>;
446
+ }
447
+ export interface GetServerCertificateParams {
448
+ ServerCertificateName: string;
449
+ }
450
+ export interface ListServerCertificatesParams {
451
+ PathPrefix?: string;
452
+ Marker?: string;
453
+ MaxItems?: number;
454
+ }
455
+ export interface UpdateServerCertificateParams {
456
+ ServerCertificateName: string;
457
+ NewServerCertificateName?: string;
458
+ NewPath?: string;
459
+ }
460
+ export interface DeleteServerCertificateParams {
461
+ ServerCertificateName: string;
462
+ }
463
+ export interface PasswordPolicy {
464
+ MinimumPasswordLength?: number;
465
+ RequireSymbols?: boolean;
466
+ RequireNumbers?: boolean;
467
+ RequireUppercaseCharacters?: boolean;
468
+ RequireLowercaseCharacters?: boolean;
469
+ AllowUsersToChangePassword?: boolean;
470
+ ExpirePasswords?: boolean;
471
+ MaxPasswordAge?: number;
472
+ PasswordReusePrevention?: number;
473
+ HardExpiry?: boolean;
474
+ }
475
+ export interface UpdateAccountPasswordPolicyParams {
476
+ MinimumPasswordLength?: number;
477
+ RequireSymbols?: boolean;
478
+ RequireNumbers?: boolean;
479
+ RequireUppercaseCharacters?: boolean;
480
+ RequireLowercaseCharacters?: boolean;
481
+ AllowUsersToChangePassword?: boolean;
482
+ MaxPasswordAge?: number;
483
+ PasswordReusePrevention?: number;
484
+ HardExpiry?: boolean;
485
+ }
486
+ export interface AccountSummary {
487
+ Users?: number;
488
+ UsersQuota?: number;
489
+ Groups?: number;
490
+ GroupsQuota?: number;
491
+ ServerCertificates?: number;
492
+ ServerCertificatesQuota?: number;
493
+ UserPolicySizeQuota?: number;
494
+ GroupPolicySizeQuota?: number;
495
+ GroupsPerUserQuota?: number;
496
+ SigningCertificatesPerUserQuota?: number;
497
+ AccessKeysPerUserQuota?: number;
498
+ MFADevices?: number;
499
+ MFADevicesInUse?: number;
500
+ AccountMFAEnabled?: number;
501
+ AccountAccessKeysPresent?: number;
502
+ AccountSigningCertificatesPresent?: number;
503
+ AttachedPoliciesPerGroupQuota?: number;
504
+ AttachedPoliciesPerRoleQuota?: number;
505
+ AttachedPoliciesPerUserQuota?: number;
506
+ Policies?: number;
507
+ PoliciesQuota?: number;
508
+ PolicySizeQuota?: number;
509
+ PolicyVersionsInUse?: number;
510
+ PolicyVersionsInUseQuota?: number;
511
+ VersionsPerPolicyQuota?: number;
512
+ GlobalEndpointTokenVersion?: number;
513
+ }
514
+ export interface SimulatePrincipalPolicyParams {
515
+ PolicySourceArn: string;
516
+ ActionNames: string[];
517
+ ResourceArns?: string[];
518
+ ResourcePolicy?: string;
519
+ ResourceOwner?: string;
520
+ CallerArn?: string;
521
+ ContextEntries?: Array<{
522
+ ContextKeyName: string;
523
+ ContextKeyValues: string[];
524
+ ContextKeyType: string;
525
+ }>;
526
+ ResourceHandlingOption?: string;
527
+ MaxItems?: number;
528
+ Marker?: string;
529
+ }
530
+ export interface EvaluationResult {
531
+ EvalActionName: string;
532
+ EvalResourceName?: string;
533
+ EvalDecision: string;
534
+ MatchedStatements?: Array<{
535
+ SourcePolicyId?: string;
536
+ SourcePolicyType?: string;
537
+ }>;
538
+ MissingContextValues?: string[];
539
+ }
540
+ export interface SimulatePolicyResponse {
541
+ EvaluationResults: EvaluationResult[];
542
+ IsTruncated: boolean;
543
+ Marker?: string;
544
+ }
545
+ export declare class IAMClient {
546
+ private client;
547
+ private region;
548
+ constructor(region?: string);
549
+ /**
550
+ * Make IAM API request
551
+ */
552
+ private request;
553
+ /**
554
+ * Create a new IAM user
555
+ */
556
+ createUser(params: CreateUserParams): Promise<IAMUser>;
557
+ /**
558
+ * Get information about an IAM user
559
+ */
560
+ getUser(params?: GetUserParams): Promise<IAMUser>;
561
+ /**
562
+ * List IAM users
563
+ */
564
+ listUsers(params?: ListUsersParams): Promise<{
565
+ Users: IAMUser[];
566
+ IsTruncated: boolean;
567
+ Marker?: string;
568
+ }>;
569
+ /**
570
+ * Update an IAM user
571
+ */
572
+ updateUser(params: UpdateUserParams): Promise<void>;
573
+ /**
574
+ * Delete an IAM user
575
+ */
576
+ deleteUser(params: DeleteUserParams): Promise<void>;
577
+ /**
578
+ * Parse user from XML response
579
+ */
580
+ private parseUser;
581
+ /**
582
+ * Parse users array from XML response
583
+ */
584
+ private parseUsers;
585
+ /**
586
+ * Create a new IAM group
587
+ */
588
+ createGroup(params: CreateGroupParams): Promise<IAMGroup>;
589
+ /**
590
+ * Get information about an IAM group
591
+ */
592
+ getGroup(params: GetGroupParams): Promise<{
593
+ Group: IAMGroup;
594
+ Users: IAMUser[];
595
+ IsTruncated: boolean;
596
+ Marker?: string;
597
+ }>;
598
+ /**
599
+ * List IAM groups
600
+ */
601
+ listGroups(params?: ListGroupsParams): Promise<{
602
+ Groups: IAMGroup[];
603
+ IsTruncated: boolean;
604
+ Marker?: string;
605
+ }>;
606
+ /**
607
+ * Update an IAM group
608
+ */
609
+ updateGroup(params: UpdateGroupParams): Promise<void>;
610
+ /**
611
+ * Delete an IAM group
612
+ */
613
+ deleteGroup(params: DeleteGroupParams): Promise<void>;
614
+ /**
615
+ * Add a user to a group
616
+ */
617
+ addUserToGroup(params: AddUserToGroupParams): Promise<void>;
618
+ /**
619
+ * Remove a user from a group
620
+ */
621
+ removeUserFromGroup(params: RemoveUserFromGroupParams): Promise<void>;
622
+ /**
623
+ * List groups for a user
624
+ */
625
+ listGroupsForUser(params: ListGroupsForUserParams): Promise<{
626
+ Groups: IAMGroup[];
627
+ IsTruncated: boolean;
628
+ Marker?: string;
629
+ }>;
630
+ /**
631
+ * Parse group from XML response
632
+ */
633
+ private parseGroup;
634
+ /**
635
+ * Parse groups array from XML response
636
+ */
637
+ private parseGroups;
638
+ /**
639
+ * Create a new IAM role
640
+ */
641
+ createRole(params: CreateRoleParams): Promise<IAMRole>;
642
+ /**
643
+ * Get information about an IAM role
644
+ */
645
+ getRole(params: GetRoleParams): Promise<IAMRole>;
646
+ /**
647
+ * List IAM roles
648
+ */
649
+ listRoles(params?: ListRolesParams): Promise<{
650
+ Roles: IAMRole[];
651
+ IsTruncated: boolean;
652
+ Marker?: string;
653
+ }>;
654
+ /**
655
+ * Update an IAM role
656
+ */
657
+ updateRole(params: UpdateRoleParams): Promise<void>;
658
+ /**
659
+ * Update an IAM role description
660
+ */
661
+ updateRoleDescription(params: UpdateRoleDescriptionParams): Promise<IAMRole>;
662
+ /**
663
+ * Update the assume role policy for a role
664
+ */
665
+ updateAssumeRolePolicy(params: UpdateAssumeRolePolicyParams): Promise<void>;
666
+ /**
667
+ * Delete an IAM role
668
+ */
669
+ deleteRole(params: DeleteRoleParams): Promise<void>;
670
+ /**
671
+ * Tag an IAM role
672
+ */
673
+ tagRole(params: TagRoleParams): Promise<void>;
674
+ /**
675
+ * Untag an IAM role
676
+ */
677
+ untagRole(params: UntagRoleParams): Promise<void>;
678
+ /**
679
+ * List tags for an IAM role
680
+ */
681
+ listRoleTags(params: ListRoleTagsParams): Promise<{
682
+ Tags: Array<{
683
+ Key: string;
684
+ Value: string;
685
+ }>;
686
+ IsTruncated: boolean;
687
+ Marker?: string;
688
+ }>;
689
+ /**
690
+ * Parse role from XML response
691
+ */
692
+ private parseRole;
693
+ /**
694
+ * Parse roles array from XML response
695
+ */
696
+ private parseRoles;
697
+ /**
698
+ * Parse tags from XML response
699
+ */
700
+ private parseTags;
701
+ /**
702
+ * Create a new managed policy
703
+ */
704
+ createPolicy(params: CreatePolicyParams): Promise<IAMPolicy>;
705
+ /**
706
+ * Get information about a managed policy
707
+ */
708
+ getPolicy(params: GetPolicyParams): Promise<IAMPolicy>;
709
+ /**
710
+ * Get a specific version of a managed policy
711
+ */
712
+ getPolicyVersion(params: GetPolicyVersionParams): Promise<PolicyVersion>;
713
+ /**
714
+ * List managed policies
715
+ */
716
+ listPolicies(params?: ListPoliciesParams): Promise<{
717
+ Policies: IAMPolicy[];
718
+ IsTruncated: boolean;
719
+ Marker?: string;
720
+ }>;
721
+ /**
722
+ * List versions of a managed policy
723
+ */
724
+ listPolicyVersions(params: ListPolicyVersionsParams): Promise<{
725
+ Versions: PolicyVersion[];
726
+ IsTruncated: boolean;
727
+ Marker?: string;
728
+ }>;
729
+ /**
730
+ * Create a new version of a managed policy
731
+ */
732
+ createPolicyVersion(params: CreatePolicyVersionParams): Promise<PolicyVersion>;
733
+ /**
734
+ * Delete a version of a managed policy
735
+ */
736
+ deletePolicyVersion(params: DeletePolicyVersionParams): Promise<void>;
737
+ /**
738
+ * Set the default version of a managed policy
739
+ */
740
+ setDefaultPolicyVersion(params: SetDefaultPolicyVersionParams): Promise<void>;
741
+ /**
742
+ * Delete a managed policy
743
+ */
744
+ deletePolicy(params: DeletePolicyParams): Promise<void>;
745
+ /**
746
+ * Attach a managed policy to a user
747
+ */
748
+ attachUserPolicy(params: AttachUserPolicyParams): Promise<void>;
749
+ /**
750
+ * Detach a managed policy from a user
751
+ */
752
+ detachUserPolicy(params: DetachUserPolicyParams): Promise<void>;
753
+ /**
754
+ * Attach a managed policy to a group
755
+ */
756
+ attachGroupPolicy(params: AttachGroupPolicyParams): Promise<void>;
757
+ /**
758
+ * Detach a managed policy from a group
759
+ */
760
+ detachGroupPolicy(params: DetachGroupPolicyParams): Promise<void>;
761
+ /**
762
+ * Attach a managed policy to a role
763
+ */
764
+ attachRolePolicy(params: AttachRolePolicyParams): Promise<void>;
765
+ /**
766
+ * Detach a managed policy from a role
767
+ */
768
+ detachRolePolicy(params: DetachRolePolicyParams): Promise<void>;
769
+ /**
770
+ * List managed policies attached to a user
771
+ */
772
+ listAttachedUserPolicies(params: ListAttachedUserPoliciesParams): Promise<{
773
+ AttachedPolicies: Array<{
774
+ PolicyName: string;
775
+ PolicyArn: string;
776
+ }>;
777
+ IsTruncated: boolean;
778
+ Marker?: string;
779
+ }>;
780
+ /**
781
+ * List managed policies attached to a group
782
+ */
783
+ listAttachedGroupPolicies(params: ListAttachedGroupPoliciesParams): Promise<{
784
+ AttachedPolicies: Array<{
785
+ PolicyName: string;
786
+ PolicyArn: string;
787
+ }>;
788
+ IsTruncated: boolean;
789
+ Marker?: string;
790
+ }>;
791
+ /**
792
+ * List managed policies attached to a role
793
+ */
794
+ listAttachedRolePolicies(params: ListAttachedRolePoliciesParams): Promise<{
795
+ AttachedPolicies: Array<{
796
+ PolicyName: string;
797
+ PolicyArn: string;
798
+ }>;
799
+ IsTruncated: boolean;
800
+ Marker?: string;
801
+ }>;
802
+ /**
803
+ * Parse policy from XML response
804
+ */
805
+ private parsePolicy;
806
+ /**
807
+ * Parse policies array from XML response
808
+ */
809
+ private parsePolicies;
810
+ /**
811
+ * Parse policy versions from XML response
812
+ */
813
+ private parsePolicyVersions;
814
+ /**
815
+ * Parse attached policies from XML response
816
+ */
817
+ private parseAttachedPolicies;
818
+ /**
819
+ * Add or update an inline policy for a user
820
+ */
821
+ putUserPolicy(params: PutUserPolicyParams): Promise<void>;
822
+ /**
823
+ * Get an inline policy for a user
824
+ */
825
+ getUserPolicy(params: GetUserPolicyParams): Promise<{
826
+ UserName: string;
827
+ PolicyName: string;
828
+ PolicyDocument: string;
829
+ }>;
830
+ /**
831
+ * Delete an inline policy from a user
832
+ */
833
+ deleteUserPolicy(params: DeleteUserPolicyParams): Promise<void>;
834
+ /**
835
+ * List inline policies for a user
836
+ */
837
+ listUserPolicies(params: ListUserPoliciesParams): Promise<{
838
+ PolicyNames: string[];
839
+ IsTruncated: boolean;
840
+ Marker?: string;
841
+ }>;
842
+ /**
843
+ * Add or update an inline policy for a group
844
+ */
845
+ putGroupPolicy(params: PutGroupPolicyParams): Promise<void>;
846
+ /**
847
+ * Get an inline policy for a group
848
+ */
849
+ getGroupPolicy(params: GetGroupPolicyParams): Promise<{
850
+ GroupName: string;
851
+ PolicyName: string;
852
+ PolicyDocument: string;
853
+ }>;
854
+ /**
855
+ * Delete an inline policy from a group
856
+ */
857
+ deleteGroupPolicy(params: DeleteGroupPolicyParams): Promise<void>;
858
+ /**
859
+ * List inline policies for a group
860
+ */
861
+ listGroupPolicies(params: ListGroupPoliciesParams): Promise<{
862
+ PolicyNames: string[];
863
+ IsTruncated: boolean;
864
+ Marker?: string;
865
+ }>;
866
+ /**
867
+ * Add or update an inline policy for a role
868
+ */
869
+ putRolePolicy(params: PutRolePolicyParams): Promise<void>;
870
+ /**
871
+ * Get an inline policy for a role
872
+ */
873
+ getRolePolicy(params: GetRolePolicyParams): Promise<{
874
+ RoleName: string;
875
+ PolicyName: string;
876
+ PolicyDocument: string;
877
+ }>;
878
+ /**
879
+ * Delete an inline policy from a role
880
+ */
881
+ deleteRolePolicy(params: DeleteRolePolicyParams): Promise<void>;
882
+ /**
883
+ * List inline policies for a role
884
+ */
885
+ listRolePolicies(params: ListRolePoliciesParams): Promise<{
886
+ PolicyNames: string[];
887
+ IsTruncated: boolean;
888
+ Marker?: string;
889
+ }>;
890
+ /**
891
+ * Create an access key for a user
892
+ */
893
+ createAccessKey(params?: CreateAccessKeyParams): Promise<CreateAccessKeyResult>;
894
+ /**
895
+ * List access keys for a user
896
+ */
897
+ listAccessKeys(params?: ListAccessKeysParams): Promise<{
898
+ AccessKeyMetadata: AccessKeyMetadata[];
899
+ IsTruncated: boolean;
900
+ Marker?: string;
901
+ }>;
902
+ /**
903
+ * Update an access key status
904
+ */
905
+ updateAccessKey(params: UpdateAccessKeyParams): Promise<void>;
906
+ /**
907
+ * Delete an access key
908
+ */
909
+ deleteAccessKey(params: DeleteAccessKeyParams): Promise<void>;
910
+ /**
911
+ * Get information about when an access key was last used
912
+ */
913
+ getAccessKeyLastUsed(params: GetAccessKeyLastUsedParams): Promise<{
914
+ UserName: string;
915
+ AccessKeyLastUsed: {
916
+ LastUsedDate?: string;
917
+ ServiceName?: string;
918
+ Region?: string;
919
+ };
920
+ }>;
921
+ /**
922
+ * Parse access keys from XML response
923
+ */
924
+ private parseAccessKeys;
925
+ /**
926
+ * Create an instance profile
927
+ */
928
+ createInstanceProfile(params: CreateInstanceProfileParams): Promise<InstanceProfile>;
929
+ /**
930
+ * Get information about an instance profile
931
+ */
932
+ getInstanceProfile(params: GetInstanceProfileParams): Promise<InstanceProfile>;
933
+ /**
934
+ * List instance profiles
935
+ */
936
+ listInstanceProfiles(params?: ListInstanceProfilesParams): Promise<{
937
+ InstanceProfiles: InstanceProfile[];
938
+ IsTruncated: boolean;
939
+ Marker?: string;
940
+ }>;
941
+ /**
942
+ * List instance profiles for a role
943
+ */
944
+ listInstanceProfilesForRole(params: ListInstanceProfilesForRoleParams): Promise<{
945
+ InstanceProfiles: InstanceProfile[];
946
+ IsTruncated: boolean;
947
+ Marker?: string;
948
+ }>;
949
+ /**
950
+ * Add a role to an instance profile
951
+ */
952
+ addRoleToInstanceProfile(params: AddRoleToInstanceProfileParams): Promise<void>;
953
+ /**
954
+ * Remove a role from an instance profile
955
+ */
956
+ removeRoleFromInstanceProfile(params: RemoveRoleFromInstanceProfileParams): Promise<void>;
957
+ /**
958
+ * Delete an instance profile
959
+ */
960
+ deleteInstanceProfile(params: DeleteInstanceProfileParams): Promise<void>;
961
+ /**
962
+ * Parse instance profile from XML response
963
+ */
964
+ private parseInstanceProfile;
965
+ /**
966
+ * Parse instance profiles from XML response
967
+ */
968
+ private parseInstanceProfiles;
969
+ /**
970
+ * Get account password policy
971
+ */
972
+ getAccountPasswordPolicy(): Promise<PasswordPolicy>;
973
+ /**
974
+ * Update account password policy
975
+ */
976
+ updateAccountPasswordPolicy(params: UpdateAccountPasswordPolicyParams): Promise<void>;
977
+ /**
978
+ * Delete account password policy
979
+ */
980
+ deleteAccountPasswordPolicy(): Promise<void>;
981
+ /**
982
+ * Get account summary
983
+ */
984
+ getAccountSummary(): Promise<AccountSummary>;
985
+ /**
986
+ * Get the account alias
987
+ */
988
+ listAccountAliases(): Promise<{
989
+ AccountAliases: string[];
990
+ IsTruncated: boolean;
991
+ Marker?: string;
992
+ }>;
993
+ /**
994
+ * Create an account alias
995
+ */
996
+ createAccountAlias(params: {
997
+ AccountAlias: string;
998
+ }): Promise<void>;
999
+ /**
1000
+ * Delete an account alias
1001
+ */
1002
+ deleteAccountAlias(params: {
1003
+ AccountAlias: string;
1004
+ }): Promise<void>;
1005
+ /**
1006
+ * Simulate the effect of policies attached to a principal
1007
+ */
1008
+ simulatePrincipalPolicy(params: SimulatePrincipalPolicyParams): Promise<SimulatePolicyResponse>;
1009
+ /**
1010
+ * Parse simulation results from XML response
1011
+ */
1012
+ private parseSimulationResults;
1013
+ }