@stacksjs/ts-cloud 0.1.2 → 0.1.5

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 (187) hide show
  1. package/README.md +98 -13
  2. package/dist/aws/acm.d.ts +129 -0
  3. package/dist/aws/application-autoscaling.d.ts +282 -0
  4. package/dist/aws/bedrock.d.ts +2292 -0
  5. package/dist/aws/client.d.ts +79 -0
  6. package/dist/aws/cloudformation.d.ts +105 -0
  7. package/dist/aws/cloudfront.d.ts +265 -0
  8. package/dist/aws/cloudwatch-logs.d.ts +48 -0
  9. package/dist/aws/comprehend.d.ts +505 -0
  10. package/dist/aws/connect.d.ts +377 -0
  11. package/dist/aws/deploy-imap.d.ts +14 -0
  12. package/dist/aws/dynamodb.d.ts +176 -0
  13. package/dist/aws/ec2.d.ts +272 -0
  14. package/dist/aws/ecr.d.ts +149 -0
  15. package/dist/aws/ecs.d.ts +162 -0
  16. package/dist/aws/elasticache.d.ts +71 -0
  17. package/dist/aws/elbv2.d.ts +248 -0
  18. package/dist/aws/email.d.ts +175 -0
  19. package/dist/aws/eventbridge.d.ts +142 -0
  20. package/dist/aws/iam.d.ts +638 -0
  21. package/dist/aws/imap-server.d.ts +119 -0
  22. package/{src/aws/index.ts → dist/aws/index.d.ts} +62 -83
  23. package/{src/aws/kendra.ts → dist/aws/kendra.d.ts} +71 -386
  24. package/dist/aws/lambda.d.ts +232 -0
  25. package/dist/aws/opensearch.d.ts +87 -0
  26. package/dist/aws/personalize.d.ts +516 -0
  27. package/dist/aws/polly.d.ts +214 -0
  28. package/dist/aws/rds.d.ts +240 -0
  29. package/dist/aws/rekognition.d.ts +543 -0
  30. package/dist/aws/route53-domains.d.ts +113 -0
  31. package/dist/aws/route53.d.ts +215 -0
  32. package/dist/aws/s3.d.ts +212 -0
  33. package/dist/aws/scheduler.d.ts +140 -0
  34. package/dist/aws/secrets-manager.d.ts +170 -0
  35. package/dist/aws/ses.d.ts +288 -0
  36. package/dist/aws/setup-phone.d.ts +0 -0
  37. package/dist/aws/setup-sms.d.ts +115 -0
  38. package/dist/aws/sms.d.ts +304 -0
  39. package/dist/aws/smtp-server.d.ts +61 -0
  40. package/dist/aws/sns.d.ts +117 -0
  41. package/dist/aws/sqs.d.ts +65 -0
  42. package/dist/aws/ssm.d.ts +179 -0
  43. package/dist/aws/sts.d.ts +15 -0
  44. package/dist/aws/support.d.ts +104 -0
  45. package/dist/aws/test-imap.d.ts +0 -0
  46. package/dist/aws/textract.d.ts +403 -0
  47. package/dist/aws/transcribe.d.ts +60 -0
  48. package/dist/aws/translate.d.ts +358 -0
  49. package/dist/aws/voice.d.ts +219 -0
  50. package/dist/bin/cli.js +1724 -0
  51. package/dist/config.d.ts +7 -0
  52. package/dist/deploy/index.d.ts +2 -0
  53. package/dist/deploy/static-site-external-dns.d.ts +51 -0
  54. package/dist/deploy/static-site.d.ts +71 -0
  55. package/dist/dns/cloudflare.d.ts +52 -0
  56. package/dist/dns/godaddy.d.ts +38 -0
  57. package/dist/dns/index.d.ts +45 -0
  58. package/dist/dns/porkbun.d.ts +18 -0
  59. package/dist/dns/route53-adapter.d.ts +38 -0
  60. package/{src/dns/types.ts → dist/dns/types.d.ts} +26 -63
  61. package/dist/dns/validator.d.ts +78 -0
  62. package/dist/generators/index.d.ts +1 -0
  63. package/dist/generators/infrastructure.d.ts +30 -0
  64. package/{src/index.ts → dist/index.d.ts} +70 -93
  65. package/dist/index.js +7881 -0
  66. package/dist/push/apns.d.ts +60 -0
  67. package/dist/push/fcm.d.ts +117 -0
  68. package/dist/push/index.d.ts +14 -0
  69. package/dist/security/pre-deploy-scanner.d.ts +69 -0
  70. package/dist/ssl/acme-client.d.ts +67 -0
  71. package/dist/ssl/index.d.ts +2 -0
  72. package/dist/ssl/letsencrypt.d.ts +48 -0
  73. package/dist/types.d.ts +1 -0
  74. package/dist/utils/cli.d.ts +123 -0
  75. package/dist/validation/index.d.ts +1 -0
  76. package/dist/validation/template.d.ts +23 -0
  77. package/package.json +8 -8
  78. package/bin/cli.ts +0 -133
  79. package/bin/commands/analytics.ts +0 -328
  80. package/bin/commands/api.ts +0 -379
  81. package/bin/commands/assets.ts +0 -221
  82. package/bin/commands/audit.ts +0 -501
  83. package/bin/commands/backup.ts +0 -682
  84. package/bin/commands/cache.ts +0 -294
  85. package/bin/commands/cdn.ts +0 -281
  86. package/bin/commands/config.ts +0 -202
  87. package/bin/commands/container.ts +0 -105
  88. package/bin/commands/cost.ts +0 -208
  89. package/bin/commands/database.ts +0 -401
  90. package/bin/commands/deploy.ts +0 -674
  91. package/bin/commands/domain.ts +0 -397
  92. package/bin/commands/email.ts +0 -423
  93. package/bin/commands/environment.ts +0 -285
  94. package/bin/commands/events.ts +0 -424
  95. package/bin/commands/firewall.ts +0 -145
  96. package/bin/commands/function.ts +0 -116
  97. package/bin/commands/generate.ts +0 -280
  98. package/bin/commands/git.ts +0 -139
  99. package/bin/commands/iam.ts +0 -464
  100. package/bin/commands/index.ts +0 -48
  101. package/bin/commands/init.ts +0 -120
  102. package/bin/commands/logs.ts +0 -148
  103. package/bin/commands/network.ts +0 -579
  104. package/bin/commands/notify.ts +0 -489
  105. package/bin/commands/queue.ts +0 -407
  106. package/bin/commands/scheduler.ts +0 -370
  107. package/bin/commands/secrets.ts +0 -54
  108. package/bin/commands/server.ts +0 -629
  109. package/bin/commands/shared.ts +0 -97
  110. package/bin/commands/ssl.ts +0 -138
  111. package/bin/commands/stack.ts +0 -325
  112. package/bin/commands/status.ts +0 -385
  113. package/bin/commands/storage.ts +0 -450
  114. package/bin/commands/team.ts +0 -96
  115. package/bin/commands/tunnel.ts +0 -489
  116. package/bin/commands/utils.ts +0 -202
  117. package/build.ts +0 -15
  118. package/cloud +0 -2
  119. package/src/aws/acm.ts +0 -768
  120. package/src/aws/application-autoscaling.ts +0 -845
  121. package/src/aws/bedrock.ts +0 -4074
  122. package/src/aws/client.ts +0 -878
  123. package/src/aws/cloudformation.ts +0 -896
  124. package/src/aws/cloudfront.ts +0 -1531
  125. package/src/aws/cloudwatch-logs.ts +0 -154
  126. package/src/aws/comprehend.ts +0 -839
  127. package/src/aws/connect.ts +0 -1056
  128. package/src/aws/deploy-imap.ts +0 -384
  129. package/src/aws/dynamodb.ts +0 -340
  130. package/src/aws/ec2.ts +0 -1385
  131. package/src/aws/ecr.ts +0 -621
  132. package/src/aws/ecs.ts +0 -615
  133. package/src/aws/elasticache.ts +0 -301
  134. package/src/aws/elbv2.ts +0 -942
  135. package/src/aws/email.ts +0 -928
  136. package/src/aws/eventbridge.ts +0 -248
  137. package/src/aws/iam.ts +0 -1689
  138. package/src/aws/imap-server.ts +0 -2100
  139. package/src/aws/lambda.ts +0 -786
  140. package/src/aws/opensearch.ts +0 -158
  141. package/src/aws/personalize.ts +0 -977
  142. package/src/aws/polly.ts +0 -559
  143. package/src/aws/rds.ts +0 -888
  144. package/src/aws/rekognition.ts +0 -846
  145. package/src/aws/route53-domains.ts +0 -359
  146. package/src/aws/route53.ts +0 -1046
  147. package/src/aws/s3.ts +0 -2318
  148. package/src/aws/scheduler.ts +0 -571
  149. package/src/aws/secrets-manager.ts +0 -769
  150. package/src/aws/ses.ts +0 -1081
  151. package/src/aws/setup-phone.ts +0 -104
  152. package/src/aws/setup-sms.ts +0 -580
  153. package/src/aws/sms.ts +0 -1735
  154. package/src/aws/smtp-server.ts +0 -531
  155. package/src/aws/sns.ts +0 -758
  156. package/src/aws/sqs.ts +0 -382
  157. package/src/aws/ssm.ts +0 -807
  158. package/src/aws/sts.ts +0 -92
  159. package/src/aws/support.ts +0 -391
  160. package/src/aws/test-imap.ts +0 -86
  161. package/src/aws/textract.ts +0 -780
  162. package/src/aws/transcribe.ts +0 -108
  163. package/src/aws/translate.ts +0 -641
  164. package/src/aws/voice.ts +0 -1379
  165. package/src/config.ts +0 -35
  166. package/src/deploy/index.ts +0 -7
  167. package/src/deploy/static-site-external-dns.ts +0 -906
  168. package/src/deploy/static-site.ts +0 -1125
  169. package/src/dns/godaddy.ts +0 -412
  170. package/src/dns/index.ts +0 -183
  171. package/src/dns/porkbun.ts +0 -362
  172. package/src/dns/route53-adapter.ts +0 -414
  173. package/src/dns/validator.ts +0 -369
  174. package/src/generators/index.ts +0 -5
  175. package/src/generators/infrastructure.ts +0 -1660
  176. package/src/push/apns.ts +0 -452
  177. package/src/push/fcm.ts +0 -506
  178. package/src/push/index.ts +0 -58
  179. package/src/ssl/acme-client.ts +0 -478
  180. package/src/ssl/index.ts +0 -7
  181. package/src/ssl/letsencrypt.ts +0 -747
  182. package/src/types.ts +0 -2
  183. package/src/utils/cli.ts +0 -398
  184. package/src/validation/index.ts +0 -5
  185. package/src/validation/template.ts +0 -405
  186. package/test/index.test.ts +0 -128
  187. package/tsconfig.json +0 -18
@@ -0,0 +1,638 @@
1
+ import { AWSClient } from './client';
2
+ // ============================================================================
3
+ // Types - Users
4
+ // ============================================================================
5
+ export declare 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<{ Key: string; Value: string }>
17
+ }
18
+ export declare interface CreateUserParams {
19
+ UserName: string
20
+ Path?: string
21
+ PermissionsBoundary?: string
22
+ Tags?: Array<{ Key: string; Value: string }>
23
+ }
24
+ export declare interface GetUserParams {
25
+ UserName?: string
26
+ }
27
+ export declare interface ListUsersParams {
28
+ PathPrefix?: string
29
+ Marker?: string
30
+ MaxItems?: number
31
+ }
32
+ export declare interface UpdateUserParams {
33
+ UserName: string
34
+ NewUserName?: string
35
+ NewPath?: string
36
+ }
37
+ export declare interface DeleteUserParams {
38
+ UserName: string
39
+ }
40
+ // ============================================================================
41
+ // Types - Groups
42
+ // ============================================================================
43
+ export declare interface IAMGroup {
44
+ GroupName: string
45
+ GroupId: string
46
+ Arn: string
47
+ Path?: string
48
+ CreateDate?: string
49
+ }
50
+ export declare interface CreateGroupParams {
51
+ GroupName: string
52
+ Path?: string
53
+ }
54
+ export declare interface GetGroupParams {
55
+ GroupName: string
56
+ Marker?: string
57
+ MaxItems?: number
58
+ }
59
+ export declare interface ListGroupsParams {
60
+ PathPrefix?: string
61
+ Marker?: string
62
+ MaxItems?: number
63
+ }
64
+ export declare interface UpdateGroupParams {
65
+ GroupName: string
66
+ NewGroupName?: string
67
+ NewPath?: string
68
+ }
69
+ export declare interface DeleteGroupParams {
70
+ GroupName: string
71
+ }
72
+ export declare interface AddUserToGroupParams {
73
+ GroupName: string
74
+ UserName: string
75
+ }
76
+ export declare interface RemoveUserFromGroupParams {
77
+ GroupName: string
78
+ UserName: string
79
+ }
80
+ export declare interface ListGroupsForUserParams {
81
+ UserName: string
82
+ Marker?: string
83
+ MaxItems?: number
84
+ }
85
+ // ============================================================================
86
+ // Types - Roles
87
+ // ============================================================================
88
+ export declare 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<{ Key: string; Value: string }>
102
+ RoleLastUsed?: {
103
+ LastUsedDate?: string
104
+ Region?: string
105
+ }
106
+ }
107
+ export declare interface CreateRoleParams {
108
+ RoleName: string
109
+ AssumeRolePolicyDocument: string
110
+ Path?: string
111
+ Description?: string
112
+ MaxSessionDuration?: number
113
+ PermissionsBoundary?: string
114
+ Tags?: Array<{ Key: string; Value: string }>
115
+ }
116
+ export declare interface GetRoleParams {
117
+ RoleName: string
118
+ }
119
+ export declare interface ListRolesParams {
120
+ PathPrefix?: string
121
+ Marker?: string
122
+ MaxItems?: number
123
+ }
124
+ export declare interface UpdateRoleParams {
125
+ RoleName: string
126
+ Description?: string
127
+ MaxSessionDuration?: number
128
+ }
129
+ export declare interface UpdateRoleDescriptionParams {
130
+ RoleName: string
131
+ Description: string
132
+ }
133
+ export declare interface UpdateAssumeRolePolicyParams {
134
+ RoleName: string
135
+ PolicyDocument: string
136
+ }
137
+ export declare interface DeleteRoleParams {
138
+ RoleName: string
139
+ }
140
+ export declare interface TagRoleParams {
141
+ RoleName: string
142
+ Tags: Array<{ Key: string; Value: string }>
143
+ }
144
+ export declare interface UntagRoleParams {
145
+ RoleName: string
146
+ TagKeys: string[]
147
+ }
148
+ export declare interface ListRoleTagsParams {
149
+ RoleName: string
150
+ Marker?: string
151
+ MaxItems?: number
152
+ }
153
+ // ============================================================================
154
+ // Types - Policies
155
+ // ============================================================================
156
+ export declare interface IAMPolicy {
157
+ PolicyName: string
158
+ PolicyId: string
159
+ Arn: string
160
+ Path?: string
161
+ DefaultVersionId?: string
162
+ AttachmentCount?: number
163
+ PermissionsBoundaryUsageCount?: number
164
+ IsAttachable?: boolean
165
+ Description?: string
166
+ CreateDate?: string
167
+ UpdateDate?: string
168
+ Tags?: Array<{ Key: string; Value: string }>
169
+ }
170
+ export declare interface PolicyVersion {
171
+ VersionId: string
172
+ IsDefaultVersion: boolean
173
+ CreateDate?: string
174
+ Document?: string
175
+ }
176
+ export declare interface CreatePolicyParams {
177
+ PolicyName: string
178
+ PolicyDocument: string
179
+ Path?: string
180
+ Description?: string
181
+ Tags?: Array<{ Key: string; Value: string }>
182
+ }
183
+ export declare interface GetPolicyParams {
184
+ PolicyArn: string
185
+ }
186
+ export declare interface GetPolicyVersionParams {
187
+ PolicyArn: string
188
+ VersionId: string
189
+ }
190
+ export declare interface ListPoliciesParams {
191
+ Scope?: 'All' | 'AWS' | 'Local'
192
+ OnlyAttached?: boolean
193
+ PathPrefix?: string
194
+ PolicyUsageFilter?: 'PermissionsPolicy' | 'PermissionsBoundary'
195
+ Marker?: string
196
+ MaxItems?: number
197
+ }
198
+ export declare interface ListPolicyVersionsParams {
199
+ PolicyArn: string
200
+ Marker?: string
201
+ MaxItems?: number
202
+ }
203
+ export declare interface CreatePolicyVersionParams {
204
+ PolicyArn: string
205
+ PolicyDocument: string
206
+ SetAsDefault?: boolean
207
+ }
208
+ export declare interface DeletePolicyVersionParams {
209
+ PolicyArn: string
210
+ VersionId: string
211
+ }
212
+ export declare interface SetDefaultPolicyVersionParams {
213
+ PolicyArn: string
214
+ VersionId: string
215
+ }
216
+ export declare interface DeletePolicyParams {
217
+ PolicyArn: string
218
+ }
219
+ export declare interface AttachUserPolicyParams {
220
+ UserName: string
221
+ PolicyArn: string
222
+ }
223
+ export declare interface DetachUserPolicyParams {
224
+ UserName: string
225
+ PolicyArn: string
226
+ }
227
+ export declare interface AttachGroupPolicyParams {
228
+ GroupName: string
229
+ PolicyArn: string
230
+ }
231
+ export declare interface DetachGroupPolicyParams {
232
+ GroupName: string
233
+ PolicyArn: string
234
+ }
235
+ export declare interface AttachRolePolicyParams {
236
+ RoleName: string
237
+ PolicyArn: string
238
+ }
239
+ export declare interface DetachRolePolicyParams {
240
+ RoleName: string
241
+ PolicyArn: string
242
+ }
243
+ export declare interface ListAttachedUserPoliciesParams {
244
+ UserName: string
245
+ PathPrefix?: string
246
+ Marker?: string
247
+ MaxItems?: number
248
+ }
249
+ export declare interface ListAttachedGroupPoliciesParams {
250
+ GroupName: string
251
+ PathPrefix?: string
252
+ Marker?: string
253
+ MaxItems?: number
254
+ }
255
+ export declare interface ListAttachedRolePoliciesParams {
256
+ RoleName: string
257
+ PathPrefix?: string
258
+ Marker?: string
259
+ MaxItems?: number
260
+ }
261
+ export declare interface ListEntitiesForPolicyParams {
262
+ PolicyArn: string
263
+ EntityFilter?: 'User' | 'Role' | 'Group' | 'LocalManagedPolicy' | 'AWSManagedPolicy'
264
+ PathPrefix?: string
265
+ PolicyUsageFilter?: 'PermissionsPolicy' | 'PermissionsBoundary'
266
+ Marker?: string
267
+ MaxItems?: number
268
+ }
269
+ // ============================================================================
270
+ // Types - Inline Policies
271
+ // ============================================================================
272
+ export declare interface PutUserPolicyParams {
273
+ UserName: string
274
+ PolicyName: string
275
+ PolicyDocument: string
276
+ }
277
+ export declare interface GetUserPolicyParams {
278
+ UserName: string
279
+ PolicyName: string
280
+ }
281
+ export declare interface DeleteUserPolicyParams {
282
+ UserName: string
283
+ PolicyName: string
284
+ }
285
+ export declare interface ListUserPoliciesParams {
286
+ UserName: string
287
+ Marker?: string
288
+ MaxItems?: number
289
+ }
290
+ export declare interface PutGroupPolicyParams {
291
+ GroupName: string
292
+ PolicyName: string
293
+ PolicyDocument: string
294
+ }
295
+ export declare interface GetGroupPolicyParams {
296
+ GroupName: string
297
+ PolicyName: string
298
+ }
299
+ export declare interface DeleteGroupPolicyParams {
300
+ GroupName: string
301
+ PolicyName: string
302
+ }
303
+ export declare interface ListGroupPoliciesParams {
304
+ GroupName: string
305
+ Marker?: string
306
+ MaxItems?: number
307
+ }
308
+ export declare interface PutRolePolicyParams {
309
+ RoleName: string
310
+ PolicyName: string
311
+ PolicyDocument: string
312
+ }
313
+ export declare interface GetRolePolicyParams {
314
+ RoleName: string
315
+ PolicyName: string
316
+ }
317
+ export declare interface DeleteRolePolicyParams {
318
+ RoleName: string
319
+ PolicyName: string
320
+ }
321
+ export declare interface ListRolePoliciesParams {
322
+ RoleName: string
323
+ Marker?: string
324
+ MaxItems?: number
325
+ }
326
+ // ============================================================================
327
+ // Types - Access Keys
328
+ // ============================================================================
329
+ export declare interface AccessKey {
330
+ UserName: string
331
+ AccessKeyId: string
332
+ Status: 'Active' | 'Inactive'
333
+ CreateDate?: string
334
+ }
335
+ export declare interface AccessKeyMetadata {
336
+ UserName?: string
337
+ AccessKeyId: string
338
+ Status: 'Active' | 'Inactive'
339
+ CreateDate?: string
340
+ }
341
+ export declare interface CreateAccessKeyParams {
342
+ UserName?: string
343
+ }
344
+ export declare interface CreateAccessKeyResult {
345
+ AccessKey: {
346
+ UserName: string
347
+ AccessKeyId: string
348
+ Status: 'Active' | 'Inactive'
349
+ SecretAccessKey: string
350
+ CreateDate?: string
351
+ }
352
+ }
353
+ export declare interface ListAccessKeysParams {
354
+ UserName?: string
355
+ Marker?: string
356
+ MaxItems?: number
357
+ }
358
+ export declare interface UpdateAccessKeyParams {
359
+ UserName?: string
360
+ AccessKeyId: string
361
+ Status: 'Active' | 'Inactive'
362
+ }
363
+ export declare interface DeleteAccessKeyParams {
364
+ UserName?: string
365
+ AccessKeyId: string
366
+ }
367
+ export declare interface GetAccessKeyLastUsedParams {
368
+ AccessKeyId: string
369
+ }
370
+ // ============================================================================
371
+ // Types - Instance Profiles
372
+ // ============================================================================
373
+ export declare interface InstanceProfile {
374
+ InstanceProfileName: string
375
+ InstanceProfileId: string
376
+ Arn: string
377
+ Path?: string
378
+ CreateDate?: string
379
+ Roles?: IAMRole[]
380
+ Tags?: Array<{ Key: string; Value: string }>
381
+ }
382
+ export declare interface CreateInstanceProfileParams {
383
+ InstanceProfileName: string
384
+ Path?: string
385
+ Tags?: Array<{ Key: string; Value: string }>
386
+ }
387
+ export declare interface GetInstanceProfileParams {
388
+ InstanceProfileName: string
389
+ }
390
+ export declare interface ListInstanceProfilesParams {
391
+ PathPrefix?: string
392
+ Marker?: string
393
+ MaxItems?: number
394
+ }
395
+ export declare interface ListInstanceProfilesForRoleParams {
396
+ RoleName: string
397
+ Marker?: string
398
+ MaxItems?: number
399
+ }
400
+ export declare interface AddRoleToInstanceProfileParams {
401
+ InstanceProfileName: string
402
+ RoleName: string
403
+ }
404
+ export declare interface RemoveRoleFromInstanceProfileParams {
405
+ InstanceProfileName: string
406
+ RoleName: string
407
+ }
408
+ export declare interface DeleteInstanceProfileParams {
409
+ InstanceProfileName: string
410
+ }
411
+ // ============================================================================
412
+ // Types - Server Certificates
413
+ // ============================================================================
414
+ export declare interface ServerCertificate {
415
+ ServerCertificateName: string
416
+ ServerCertificateId: string
417
+ Arn: string
418
+ Path?: string
419
+ UploadDate?: string
420
+ Expiration?: string
421
+ }
422
+ export declare interface ServerCertificateMetadata {
423
+ ServerCertificateName: string
424
+ ServerCertificateId: string
425
+ Arn: string
426
+ Path?: string
427
+ UploadDate?: string
428
+ Expiration?: string
429
+ }
430
+ export declare interface UploadServerCertificateParams {
431
+ ServerCertificateName: string
432
+ CertificateBody: string
433
+ PrivateKey: string
434
+ CertificateChain?: string
435
+ Path?: string
436
+ Tags?: Array<{ Key: string; Value: string }>
437
+ }
438
+ export declare interface GetServerCertificateParams {
439
+ ServerCertificateName: string
440
+ }
441
+ export declare interface ListServerCertificatesParams {
442
+ PathPrefix?: string
443
+ Marker?: string
444
+ MaxItems?: number
445
+ }
446
+ export declare interface UpdateServerCertificateParams {
447
+ ServerCertificateName: string
448
+ NewServerCertificateName?: string
449
+ NewPath?: string
450
+ }
451
+ export declare interface DeleteServerCertificateParams {
452
+ ServerCertificateName: string
453
+ }
454
+ // ============================================================================
455
+ // Types - Account and Password Policy
456
+ // ============================================================================
457
+ export declare interface PasswordPolicy {
458
+ MinimumPasswordLength?: number
459
+ RequireSymbols?: boolean
460
+ RequireNumbers?: boolean
461
+ RequireUppercaseCharacters?: boolean
462
+ RequireLowercaseCharacters?: boolean
463
+ AllowUsersToChangePassword?: boolean
464
+ ExpirePasswords?: boolean
465
+ MaxPasswordAge?: number
466
+ PasswordReusePrevention?: number
467
+ HardExpiry?: boolean
468
+ }
469
+ export declare interface UpdateAccountPasswordPolicyParams {
470
+ MinimumPasswordLength?: number
471
+ RequireSymbols?: boolean
472
+ RequireNumbers?: boolean
473
+ RequireUppercaseCharacters?: boolean
474
+ RequireLowercaseCharacters?: boolean
475
+ AllowUsersToChangePassword?: boolean
476
+ MaxPasswordAge?: number
477
+ PasswordReusePrevention?: number
478
+ HardExpiry?: boolean
479
+ }
480
+ export declare interface AccountSummary {
481
+ Users?: number
482
+ UsersQuota?: number
483
+ Groups?: number
484
+ GroupsQuota?: number
485
+ ServerCertificates?: number
486
+ ServerCertificatesQuota?: number
487
+ UserPolicySizeQuota?: number
488
+ GroupPolicySizeQuota?: number
489
+ GroupsPerUserQuota?: number
490
+ SigningCertificatesPerUserQuota?: number
491
+ AccessKeysPerUserQuota?: number
492
+ MFADevices?: number
493
+ MFADevicesInUse?: number
494
+ AccountMFAEnabled?: number
495
+ AccountAccessKeysPresent?: number
496
+ AccountSigningCertificatesPresent?: number
497
+ AttachedPoliciesPerGroupQuota?: number
498
+ AttachedPoliciesPerRoleQuota?: number
499
+ AttachedPoliciesPerUserQuota?: number
500
+ Policies?: number
501
+ PoliciesQuota?: number
502
+ PolicySizeQuota?: number
503
+ PolicyVersionsInUse?: number
504
+ PolicyVersionsInUseQuota?: number
505
+ VersionsPerPolicyQuota?: number
506
+ GlobalEndpointTokenVersion?: number
507
+ }
508
+ // ============================================================================
509
+ // Types - Policy Simulation
510
+ // ============================================================================
511
+ export declare interface SimulatePrincipalPolicyParams {
512
+ PolicySourceArn: string
513
+ ActionNames: string[]
514
+ ResourceArns?: string[]
515
+ ResourcePolicy?: string
516
+ ResourceOwner?: string
517
+ CallerArn?: string
518
+ ContextEntries?: Array<{
519
+ ContextKeyName: string
520
+ ContextKeyValues: string[]
521
+ ContextKeyType: string
522
+ }>
523
+ ResourceHandlingOption?: string
524
+ MaxItems?: number
525
+ Marker?: string
526
+ }
527
+ export declare interface EvaluationResult {
528
+ EvalActionName: string
529
+ EvalResourceName?: string
530
+ EvalDecision: string
531
+ MatchedStatements?: Array<{
532
+ SourcePolicyId?: string
533
+ SourcePolicyType?: string
534
+ }>
535
+ MissingContextValues?: string[]
536
+ }
537
+ export declare interface SimulatePolicyResponse {
538
+ EvaluationResults: EvaluationResult[]
539
+ IsTruncated: boolean
540
+ Marker?: string
541
+ }
542
+ // ============================================================================
543
+ // IAM Client
544
+ // ============================================================================
545
+ export declare class IAMClient {
546
+ private client: AWSClient;
547
+ private region: string;
548
+ constructor(region?: string);
549
+ private request(action: string, params?: object): Promise<any>;
550
+ createUser(params: CreateUserParams): Promise<IAMUser>;
551
+ getUser(params?: GetUserParams): Promise<IAMUser>;
552
+ listUsers(params?: ListUsersParams): Promise<{ Users: IAMUser[]; IsTruncated: boolean; Marker?: string }>;
553
+ updateUser(params: UpdateUserParams): Promise<void>;
554
+ deleteUser(params: DeleteUserParams): Promise<void>;
555
+ private parseUser(xml: string): IAMUser;
556
+ private parseUsers(xml: string): IAMUser[];
557
+ createGroup(params: CreateGroupParams): Promise<IAMGroup>;
558
+ getGroup(params: GetGroupParams): Promise<{ Group: IAMGroup; Users: IAMUser[]; IsTruncated: boolean; Marker?: string }>;
559
+ listGroups(params?: ListGroupsParams): Promise<{ Groups: IAMGroup[]; IsTruncated: boolean; Marker?: string }>;
560
+ updateGroup(params: UpdateGroupParams): Promise<void>;
561
+ deleteGroup(params: DeleteGroupParams): Promise<void>;
562
+ addUserToGroup(params: AddUserToGroupParams): Promise<void>;
563
+ removeUserFromGroup(params: RemoveUserFromGroupParams): Promise<void>;
564
+ listGroupsForUser(params: ListGroupsForUserParams): Promise<{ Groups: IAMGroup[]; IsTruncated: boolean; Marker?: string }>;
565
+ private parseGroup(xml: string): IAMGroup;
566
+ private parseGroups(xml: string): IAMGroup[];
567
+ createRole(params: CreateRoleParams): Promise<IAMRole>;
568
+ getRole(params: GetRoleParams): Promise<IAMRole>;
569
+ listRoles(params?: ListRolesParams): Promise<{ Roles: IAMRole[]; IsTruncated: boolean; Marker?: string }>;
570
+ updateRole(params: UpdateRoleParams): Promise<void>;
571
+ updateRoleDescription(params: UpdateRoleDescriptionParams): Promise<IAMRole>;
572
+ updateAssumeRolePolicy(params: UpdateAssumeRolePolicyParams): Promise<void>;
573
+ deleteRole(params: DeleteRoleParams): Promise<void>;
574
+ tagRole(params: TagRoleParams): Promise<void>;
575
+ untagRole(params: UntagRoleParams): Promise<void>;
576
+ listRoleTags(params: ListRoleTagsParams): Promise<{ Tags: Array<{ Key: string; Value: string }>; IsTruncated: boolean; Marker?: string }>;
577
+ private parseRole(xml: string): IAMRole;
578
+ private parseRoles(xml: string): IAMRole[];
579
+ private parseTags(xml: string): Array<{ Key: string; Value: string }>;
580
+ createPolicy(params: CreatePolicyParams): Promise<IAMPolicy>;
581
+ getPolicy(params: GetPolicyParams): Promise<IAMPolicy>;
582
+ getPolicyVersion(params: GetPolicyVersionParams): Promise<PolicyVersion>;
583
+ listPolicies(params?: ListPoliciesParams): Promise<{ Policies: IAMPolicy[]; IsTruncated: boolean; Marker?: string }>;
584
+ listPolicyVersions(params: ListPolicyVersionsParams): Promise<{ Versions: PolicyVersion[]; IsTruncated: boolean; Marker?: string }>;
585
+ createPolicyVersion(params: CreatePolicyVersionParams): Promise<PolicyVersion>;
586
+ deletePolicyVersion(params: DeletePolicyVersionParams): Promise<void>;
587
+ setDefaultPolicyVersion(params: SetDefaultPolicyVersionParams): Promise<void>;
588
+ deletePolicy(params: DeletePolicyParams): Promise<void>;
589
+ attachUserPolicy(params: AttachUserPolicyParams): Promise<void>;
590
+ detachUserPolicy(params: DetachUserPolicyParams): Promise<void>;
591
+ attachGroupPolicy(params: AttachGroupPolicyParams): Promise<void>;
592
+ detachGroupPolicy(params: DetachGroupPolicyParams): Promise<void>;
593
+ attachRolePolicy(params: AttachRolePolicyParams): Promise<void>;
594
+ detachRolePolicy(params: DetachRolePolicyParams): Promise<void>;
595
+ listAttachedUserPolicies(params: ListAttachedUserPoliciesParams): Promise<{ AttachedPolicies: Array<{ PolicyName: string; PolicyArn: string }>; IsTruncated: boolean; Marker?: string }>;
596
+ listAttachedGroupPolicies(params: ListAttachedGroupPoliciesParams): Promise<{ AttachedPolicies: Array<{ PolicyName: string; PolicyArn: string }>; IsTruncated: boolean; Marker?: string }>;
597
+ listAttachedRolePolicies(params: ListAttachedRolePoliciesParams): Promise<{ AttachedPolicies: Array<{ PolicyName: string; PolicyArn: string }>; IsTruncated: boolean; Marker?: string }>;
598
+ private parsePolicy(xml: string): IAMPolicy;
599
+ private parsePolicies(xml: string): IAMPolicy[];
600
+ private parsePolicyVersions(xml: string): PolicyVersion[];
601
+ private parseAttachedPolicies(xml: string): Array<{ PolicyName: string; PolicyArn: string }>;
602
+ putUserPolicy(params: PutUserPolicyParams): Promise<void>;
603
+ getUserPolicy(params: GetUserPolicyParams): Promise<{ UserName: string; PolicyName: string; PolicyDocument: string }>;
604
+ deleteUserPolicy(params: DeleteUserPolicyParams): Promise<void>;
605
+ listUserPolicies(params: ListUserPoliciesParams): Promise<{ PolicyNames: string[]; IsTruncated: boolean; Marker?: string }>;
606
+ putGroupPolicy(params: PutGroupPolicyParams): Promise<void>;
607
+ getGroupPolicy(params: GetGroupPolicyParams): Promise<{ GroupName: string; PolicyName: string; PolicyDocument: string }>;
608
+ deleteGroupPolicy(params: DeleteGroupPolicyParams): Promise<void>;
609
+ listGroupPolicies(params: ListGroupPoliciesParams): Promise<{ PolicyNames: string[]; IsTruncated: boolean; Marker?: string }>;
610
+ putRolePolicy(params: PutRolePolicyParams): Promise<void>;
611
+ getRolePolicy(params: GetRolePolicyParams): Promise<{ RoleName: string; PolicyName: string; PolicyDocument: string }>;
612
+ deleteRolePolicy(params: DeleteRolePolicyParams): Promise<void>;
613
+ listRolePolicies(params: ListRolePoliciesParams): Promise<{ PolicyNames: string[]; IsTruncated: boolean; Marker?: string }>;
614
+ createAccessKey(params?: CreateAccessKeyParams): Promise<CreateAccessKeyResult>;
615
+ listAccessKeys(params?: ListAccessKeysParams): Promise<{ AccessKeyMetadata: AccessKeyMetadata[]; IsTruncated: boolean; Marker?: string }>;
616
+ updateAccessKey(params: UpdateAccessKeyParams): Promise<void>;
617
+ deleteAccessKey(params: DeleteAccessKeyParams): Promise<void>;
618
+ getAccessKeyLastUsed(params: GetAccessKeyLastUsedParams): Promise<{ UserName: string; AccessKeyLastUsed: { LastUsedDate?: string; ServiceName?: string; Region?: string } }>;
619
+ private parseAccessKeys(xml: string): AccessKeyMetadata[];
620
+ createInstanceProfile(params: CreateInstanceProfileParams): Promise<InstanceProfile>;
621
+ getInstanceProfile(params: GetInstanceProfileParams): Promise<InstanceProfile>;
622
+ listInstanceProfiles(params?: ListInstanceProfilesParams): Promise<{ InstanceProfiles: InstanceProfile[]; IsTruncated: boolean; Marker?: string }>;
623
+ listInstanceProfilesForRole(params: ListInstanceProfilesForRoleParams): Promise<{ InstanceProfiles: InstanceProfile[]; IsTruncated: boolean; Marker?: string }>;
624
+ addRoleToInstanceProfile(params: AddRoleToInstanceProfileParams): Promise<void>;
625
+ removeRoleFromInstanceProfile(params: RemoveRoleFromInstanceProfileParams): Promise<void>;
626
+ deleteInstanceProfile(params: DeleteInstanceProfileParams): Promise<void>;
627
+ private parseInstanceProfile(xml: string): InstanceProfile;
628
+ private parseInstanceProfiles(xml: string): InstanceProfile[];
629
+ getAccountPasswordPolicy(): Promise<PasswordPolicy>;
630
+ updateAccountPasswordPolicy(params: UpdateAccountPasswordPolicyParams): Promise<void>;
631
+ deleteAccountPasswordPolicy(): Promise<void>;
632
+ getAccountSummary(): Promise<AccountSummary>;
633
+ listAccountAliases(): Promise<{ AccountAliases: string[]; IsTruncated: boolean; Marker?: string }>;
634
+ createAccountAlias(params: { AccountAlias: string }): Promise<void>;
635
+ deleteAccountAlias(params: { AccountAlias: string }): Promise<void>;
636
+ simulatePrincipalPolicy(params: SimulatePrincipalPolicyParams): Promise<SimulatePolicyResponse>;
637
+ private parseSimulationResults(xml: string): SimulatePolicyResponse;
638
+ }