@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,545 @@
1
+ /**
2
+ * AWS EC2 Client
3
+ * Manages EC2 instances, VPCs, security groups, and related resources using direct API calls
4
+ */
5
+ export interface Instance {
6
+ InstanceId?: string;
7
+ ImageId?: string;
8
+ InstanceType?: string;
9
+ State?: {
10
+ Code?: number;
11
+ Name?: 'pending' | 'running' | 'shutting-down' | 'terminated' | 'stopping' | 'stopped';
12
+ };
13
+ PrivateIpAddress?: string;
14
+ PublicIpAddress?: string;
15
+ SubnetId?: string;
16
+ VpcId?: string;
17
+ SecurityGroups?: {
18
+ GroupId?: string;
19
+ GroupName?: string;
20
+ }[];
21
+ Tags?: {
22
+ Key?: string;
23
+ Value?: string;
24
+ }[];
25
+ LaunchTime?: string;
26
+ Placement?: {
27
+ AvailabilityZone?: string;
28
+ Tenancy?: string;
29
+ };
30
+ Architecture?: string;
31
+ RootDeviceType?: string;
32
+ RootDeviceName?: string;
33
+ BlockDeviceMappings?: {
34
+ DeviceName?: string;
35
+ Ebs?: {
36
+ VolumeId?: string;
37
+ Status?: string;
38
+ AttachTime?: string;
39
+ DeleteOnTermination?: boolean;
40
+ };
41
+ }[];
42
+ IamInstanceProfile?: {
43
+ Arn?: string;
44
+ Id?: string;
45
+ };
46
+ }
47
+ export interface Vpc {
48
+ VpcId?: string;
49
+ CidrBlock?: string;
50
+ State?: 'pending' | 'available';
51
+ DhcpOptionsId?: string;
52
+ InstanceTenancy?: string;
53
+ IsDefault?: boolean;
54
+ Tags?: {
55
+ Key?: string;
56
+ Value?: string;
57
+ }[];
58
+ }
59
+ export interface Subnet {
60
+ SubnetId?: string;
61
+ VpcId?: string;
62
+ CidrBlock?: string;
63
+ AvailabilityZone?: string;
64
+ AvailableIpAddressCount?: number;
65
+ State?: 'pending' | 'available';
66
+ MapPublicIpOnLaunch?: boolean;
67
+ Tags?: {
68
+ Key?: string;
69
+ Value?: string;
70
+ }[];
71
+ }
72
+ export interface SecurityGroup {
73
+ GroupId?: string;
74
+ GroupName?: string;
75
+ Description?: string;
76
+ VpcId?: string;
77
+ IpPermissions?: IpPermission[];
78
+ IpPermissionsEgress?: IpPermission[];
79
+ Tags?: {
80
+ Key?: string;
81
+ Value?: string;
82
+ }[];
83
+ }
84
+ export interface IpPermission {
85
+ IpProtocol?: string;
86
+ FromPort?: number;
87
+ ToPort?: number;
88
+ IpRanges?: {
89
+ CidrIp?: string;
90
+ Description?: string;
91
+ }[];
92
+ Ipv6Ranges?: {
93
+ CidrIpv6?: string;
94
+ Description?: string;
95
+ }[];
96
+ UserIdGroupPairs?: {
97
+ GroupId?: string;
98
+ UserId?: string;
99
+ Description?: string;
100
+ }[];
101
+ }
102
+ export interface InternetGateway {
103
+ InternetGatewayId?: string;
104
+ Attachments?: {
105
+ VpcId?: string;
106
+ State?: string;
107
+ }[];
108
+ Tags?: {
109
+ Key?: string;
110
+ Value?: string;
111
+ }[];
112
+ }
113
+ export interface RouteTable {
114
+ RouteTableId?: string;
115
+ VpcId?: string;
116
+ Routes?: {
117
+ DestinationCidrBlock?: string;
118
+ GatewayId?: string;
119
+ NatGatewayId?: string;
120
+ State?: string;
121
+ }[];
122
+ Associations?: {
123
+ RouteTableAssociationId?: string;
124
+ SubnetId?: string;
125
+ Main?: boolean;
126
+ }[];
127
+ Tags?: {
128
+ Key?: string;
129
+ Value?: string;
130
+ }[];
131
+ }
132
+ export interface Address {
133
+ PublicIp?: string;
134
+ AllocationId?: string;
135
+ AssociationId?: string;
136
+ InstanceId?: string;
137
+ NetworkInterfaceId?: string;
138
+ PrivateIpAddress?: string;
139
+ Domain?: 'vpc' | 'standard';
140
+ Tags?: {
141
+ Key?: string;
142
+ Value?: string;
143
+ }[];
144
+ }
145
+ export interface ConsoleOutput {
146
+ InstanceId?: string;
147
+ Output?: string;
148
+ Timestamp?: string;
149
+ }
150
+ export interface InstanceStatus {
151
+ InstanceId?: string;
152
+ InstanceState?: {
153
+ Code?: number;
154
+ Name?: string;
155
+ };
156
+ InstanceStatus?: {
157
+ Status?: string;
158
+ Details?: {
159
+ Name?: string;
160
+ Status?: string;
161
+ }[];
162
+ };
163
+ SystemStatus?: {
164
+ Status?: string;
165
+ Details?: {
166
+ Name?: string;
167
+ Status?: string;
168
+ }[];
169
+ };
170
+ }
171
+ /**
172
+ * EC2 client using direct API calls
173
+ */
174
+ export declare class EC2Client {
175
+ private client;
176
+ private region;
177
+ constructor(region?: string);
178
+ /**
179
+ * Describe EC2 instances
180
+ */
181
+ describeInstances(options?: {
182
+ InstanceIds?: string[];
183
+ Filters?: {
184
+ Name: string;
185
+ Values: string[];
186
+ }[];
187
+ MaxResults?: number;
188
+ NextToken?: string;
189
+ }): Promise<{
190
+ Reservations?: {
191
+ ReservationId?: string;
192
+ Instances?: Instance[];
193
+ }[];
194
+ NextToken?: string;
195
+ }>;
196
+ /**
197
+ * Get a single instance by ID
198
+ */
199
+ getInstance(instanceId: string): Promise<Instance | undefined>;
200
+ /**
201
+ * Get console output from an EC2 instance
202
+ */
203
+ getConsoleOutput(instanceId: string, latest?: boolean): Promise<ConsoleOutput>;
204
+ /**
205
+ * Get console output decoded (convenience method)
206
+ */
207
+ getConsoleOutputDecoded(instanceId: string, options?: {
208
+ latest?: boolean;
209
+ tailLines?: number;
210
+ }): Promise<string>;
211
+ /**
212
+ * Describe instance status
213
+ */
214
+ describeInstanceStatus(options?: {
215
+ InstanceIds?: string[];
216
+ IncludeAllInstances?: boolean;
217
+ Filters?: {
218
+ Name: string;
219
+ Values: string[];
220
+ }[];
221
+ }): Promise<{
222
+ InstanceStatuses?: InstanceStatus[];
223
+ }>;
224
+ /**
225
+ * Start instances
226
+ */
227
+ startInstances(instanceIds: string[]): Promise<{
228
+ StartingInstances?: {
229
+ InstanceId?: string;
230
+ CurrentState?: {
231
+ Name?: string;
232
+ };
233
+ PreviousState?: {
234
+ Name?: string;
235
+ };
236
+ }[];
237
+ }>;
238
+ /**
239
+ * Stop instances
240
+ */
241
+ stopInstances(instanceIds: string[], force?: boolean): Promise<{
242
+ StoppingInstances?: {
243
+ InstanceId?: string;
244
+ CurrentState?: {
245
+ Name?: string;
246
+ };
247
+ PreviousState?: {
248
+ Name?: string;
249
+ };
250
+ }[];
251
+ }>;
252
+ /**
253
+ * Reboot instances
254
+ */
255
+ rebootInstances(instanceIds: string[]): Promise<void>;
256
+ /**
257
+ * Terminate instances
258
+ */
259
+ terminateInstances(instanceIds: string[]): Promise<{
260
+ TerminatingInstances?: {
261
+ InstanceId?: string;
262
+ CurrentState?: {
263
+ Name?: string;
264
+ };
265
+ PreviousState?: {
266
+ Name?: string;
267
+ };
268
+ }[];
269
+ }>;
270
+ /**
271
+ * Describe VPCs
272
+ */
273
+ describeVpcs(options?: {
274
+ VpcIds?: string[];
275
+ Filters?: {
276
+ Name: string;
277
+ Values: string[];
278
+ }[];
279
+ }): Promise<{
280
+ Vpcs?: Vpc[];
281
+ }>;
282
+ /**
283
+ * Describe Subnets
284
+ */
285
+ describeSubnets(options?: {
286
+ SubnetIds?: string[];
287
+ Filters?: {
288
+ Name: string;
289
+ Values: string[];
290
+ }[];
291
+ }): Promise<{
292
+ Subnets?: Subnet[];
293
+ }>;
294
+ /**
295
+ * Describe Security Groups
296
+ */
297
+ describeSecurityGroups(options?: {
298
+ GroupIds?: string[];
299
+ GroupNames?: string[];
300
+ Filters?: {
301
+ Name: string;
302
+ Values: string[];
303
+ }[];
304
+ }): Promise<{
305
+ SecurityGroups?: SecurityGroup[];
306
+ }>;
307
+ /**
308
+ * Describe Internet Gateways
309
+ */
310
+ describeInternetGateways(options?: {
311
+ InternetGatewayIds?: string[];
312
+ Filters?: {
313
+ Name: string;
314
+ Values: string[];
315
+ }[];
316
+ }): Promise<{
317
+ InternetGateways?: InternetGateway[];
318
+ }>;
319
+ /**
320
+ * Describe Elastic IPs (Addresses)
321
+ */
322
+ describeAddresses(options?: {
323
+ AllocationIds?: string[];
324
+ PublicIps?: string[];
325
+ Filters?: {
326
+ Name: string;
327
+ Values: string[];
328
+ }[];
329
+ }): Promise<{
330
+ Addresses?: Address[];
331
+ }>;
332
+ /**
333
+ * Allocate Elastic IP
334
+ */
335
+ allocateAddress(options?: {
336
+ Domain?: 'vpc' | 'standard';
337
+ TagSpecifications?: {
338
+ ResourceType: string;
339
+ Tags: {
340
+ Key: string;
341
+ Value: string;
342
+ }[];
343
+ }[];
344
+ }): Promise<{
345
+ AllocationId?: string;
346
+ PublicIp?: string;
347
+ Domain?: string;
348
+ }>;
349
+ /**
350
+ * Associate Elastic IP with instance
351
+ */
352
+ associateAddress(options: {
353
+ AllocationId?: string;
354
+ PublicIp?: string;
355
+ InstanceId?: string;
356
+ NetworkInterfaceId?: string;
357
+ PrivateIpAddress?: string;
358
+ AllowReassociation?: boolean;
359
+ }): Promise<{
360
+ AssociationId?: string;
361
+ }>;
362
+ /**
363
+ * Create tags for resources
364
+ */
365
+ createTags(options: {
366
+ Resources: string[];
367
+ Tags: {
368
+ Key: string;
369
+ Value: string;
370
+ }[];
371
+ }): Promise<void>;
372
+ /**
373
+ * Wait for instance to reach a specific state
374
+ */
375
+ waitForInstanceState(instanceId: string, targetState: 'running' | 'stopped' | 'terminated', options?: {
376
+ maxWaitMs?: number;
377
+ pollIntervalMs?: number;
378
+ }): Promise<Instance | undefined>;
379
+ /**
380
+ * Create a VPC
381
+ */
382
+ createVpc(options: {
383
+ CidrBlock: string;
384
+ InstanceTenancy?: string;
385
+ TagSpecifications?: {
386
+ ResourceType: string;
387
+ Tags: {
388
+ Key: string;
389
+ Value: string;
390
+ }[];
391
+ }[];
392
+ }): Promise<{
393
+ Vpc?: Vpc;
394
+ }>;
395
+ /**
396
+ * Create a Subnet
397
+ */
398
+ createSubnet(options: {
399
+ VpcId: string;
400
+ CidrBlock: string;
401
+ AvailabilityZone?: string;
402
+ TagSpecifications?: {
403
+ ResourceType: string;
404
+ Tags: {
405
+ Key: string;
406
+ Value: string;
407
+ }[];
408
+ }[];
409
+ }): Promise<{
410
+ Subnet?: Subnet;
411
+ }>;
412
+ /**
413
+ * Modify a Subnet attribute
414
+ */
415
+ modifySubnetAttribute(options: {
416
+ SubnetId: string;
417
+ MapPublicIpOnLaunch?: {
418
+ Value: boolean;
419
+ };
420
+ }): Promise<void>;
421
+ /**
422
+ * Create a Security Group
423
+ */
424
+ createSecurityGroup(options: {
425
+ GroupName: string;
426
+ Description: string;
427
+ VpcId?: string;
428
+ TagSpecifications?: {
429
+ ResourceType: string;
430
+ Tags: {
431
+ Key: string;
432
+ Value: string;
433
+ }[];
434
+ }[];
435
+ }): Promise<{
436
+ GroupId?: string;
437
+ }>;
438
+ /**
439
+ * Authorize Security Group Ingress (add inbound rule)
440
+ */
441
+ authorizeSecurityGroupIngress(options: {
442
+ GroupId: string;
443
+ IpPermissions: IpPermission[];
444
+ }): Promise<void>;
445
+ /**
446
+ * Authorize Security Group Egress (add outbound rule)
447
+ */
448
+ authorizeSecurityGroupEgress(options: {
449
+ GroupId: string;
450
+ IpPermissions: IpPermission[];
451
+ }): Promise<void>;
452
+ /**
453
+ * Describe Route Tables
454
+ */
455
+ describeRouteTables(options?: {
456
+ RouteTableIds?: string[];
457
+ Filters?: {
458
+ Name: string;
459
+ Values: string[];
460
+ }[];
461
+ }): Promise<{
462
+ RouteTables?: RouteTable[];
463
+ }>;
464
+ /**
465
+ * Delete a VPC
466
+ */
467
+ deleteVpc(vpcId: string): Promise<void>;
468
+ /**
469
+ * Delete a subnet
470
+ */
471
+ deleteSubnet(subnetId: string): Promise<void>;
472
+ /**
473
+ * Describe network interfaces
474
+ */
475
+ describeNetworkInterfaces(options?: {
476
+ NetworkInterfaceIds?: string[];
477
+ Filters?: {
478
+ Name: string;
479
+ Values: string[];
480
+ }[];
481
+ }): Promise<{
482
+ NetworkInterfaces?: {
483
+ NetworkInterfaceId?: string;
484
+ SubnetId?: string;
485
+ VpcId?: string;
486
+ Status?: string;
487
+ Attachment?: {
488
+ AttachmentId?: string;
489
+ InstanceId?: string;
490
+ Status?: string;
491
+ };
492
+ }[];
493
+ }>;
494
+ /**
495
+ * Detach a network interface
496
+ */
497
+ detachNetworkInterface(attachmentId: string, force?: boolean): Promise<void>;
498
+ /**
499
+ * Delete a network interface
500
+ */
501
+ deleteNetworkInterface(networkInterfaceId: string): Promise<void>;
502
+ /**
503
+ * Describe AWS regions
504
+ */
505
+ describeRegions(): Promise<{
506
+ Regions?: {
507
+ RegionName?: string;
508
+ Endpoint?: string;
509
+ }[];
510
+ }>;
511
+ /**
512
+ * Run new EC2 instances
513
+ */
514
+ runInstances(options: {
515
+ ImageId: string;
516
+ InstanceType: string;
517
+ MinCount: number;
518
+ MaxCount: number;
519
+ SecurityGroupIds?: string[];
520
+ SubnetId?: string;
521
+ UserData?: string;
522
+ IamInstanceProfile?: {
523
+ Name?: string;
524
+ Arn?: string;
525
+ };
526
+ TagSpecifications?: {
527
+ ResourceType: string;
528
+ Tags: {
529
+ Key: string;
530
+ Value: string;
531
+ }[];
532
+ }[];
533
+ }): Promise<{
534
+ Instances?: Instance[];
535
+ }>;
536
+ /**
537
+ * Encode IpPermissions into query parameters for security group rules
538
+ */
539
+ private encodeIpPermissions;
540
+ private parseArray;
541
+ private parseTags;
542
+ private parseReservations;
543
+ private parseInstances;
544
+ private parseIpPermissions;
545
+ }