@stacksjs/ts-cloud 0.1.11 → 0.1.14

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 (77) hide show
  1. package/README.md +41 -379
  2. package/dist/bin/cli.js +1039 -416
  3. package/dist/index.d.ts +34 -1
  4. package/dist/index.js +76467 -7133
  5. package/package.json +6 -6
  6. package/dist/aws/acm.d.ts +0 -129
  7. package/dist/aws/application-autoscaling.d.ts +0 -282
  8. package/dist/aws/bedrock.d.ts +0 -2292
  9. package/dist/aws/client.d.ts +0 -79
  10. package/dist/aws/cloudformation.d.ts +0 -105
  11. package/dist/aws/cloudfront.d.ts +0 -265
  12. package/dist/aws/cloudwatch-logs.d.ts +0 -48
  13. package/dist/aws/comprehend.d.ts +0 -505
  14. package/dist/aws/connect.d.ts +0 -377
  15. package/dist/aws/deploy-imap.d.ts +0 -14
  16. package/dist/aws/dynamodb.d.ts +0 -176
  17. package/dist/aws/ec2.d.ts +0 -272
  18. package/dist/aws/ecr.d.ts +0 -149
  19. package/dist/aws/ecs.d.ts +0 -162
  20. package/dist/aws/elasticache.d.ts +0 -71
  21. package/dist/aws/elbv2.d.ts +0 -248
  22. package/dist/aws/email.d.ts +0 -175
  23. package/dist/aws/eventbridge.d.ts +0 -142
  24. package/dist/aws/iam.d.ts +0 -638
  25. package/dist/aws/imap-server.d.ts +0 -119
  26. package/dist/aws/index.d.ts +0 -192
  27. package/dist/aws/kendra.d.ts +0 -782
  28. package/dist/aws/lambda.d.ts +0 -232
  29. package/dist/aws/opensearch.d.ts +0 -87
  30. package/dist/aws/personalize.d.ts +0 -516
  31. package/dist/aws/polly.d.ts +0 -214
  32. package/dist/aws/rds.d.ts +0 -240
  33. package/dist/aws/rekognition.d.ts +0 -543
  34. package/dist/aws/route53-domains.d.ts +0 -113
  35. package/dist/aws/route53.d.ts +0 -215
  36. package/dist/aws/s3.d.ts +0 -212
  37. package/dist/aws/scheduler.d.ts +0 -140
  38. package/dist/aws/secrets-manager.d.ts +0 -170
  39. package/dist/aws/ses.d.ts +0 -288
  40. package/dist/aws/setup-phone.d.ts +0 -0
  41. package/dist/aws/setup-sms.d.ts +0 -116
  42. package/dist/aws/sms.d.ts +0 -304
  43. package/dist/aws/smtp-server.d.ts +0 -61
  44. package/dist/aws/sns.d.ts +0 -117
  45. package/dist/aws/sqs.d.ts +0 -65
  46. package/dist/aws/ssm.d.ts +0 -179
  47. package/dist/aws/sts.d.ts +0 -15
  48. package/dist/aws/support.d.ts +0 -104
  49. package/dist/aws/test-imap.d.ts +0 -0
  50. package/dist/aws/textract.d.ts +0 -403
  51. package/dist/aws/transcribe.d.ts +0 -60
  52. package/dist/aws/translate.d.ts +0 -358
  53. package/dist/aws/voice.d.ts +0 -219
  54. package/dist/config.d.ts +0 -7
  55. package/dist/deploy/index.d.ts +0 -2
  56. package/dist/deploy/static-site-external-dns.d.ts +0 -51
  57. package/dist/deploy/static-site.d.ts +0 -71
  58. package/dist/dns/cloudflare.d.ts +0 -52
  59. package/dist/dns/godaddy.d.ts +0 -38
  60. package/dist/dns/index.d.ts +0 -45
  61. package/dist/dns/porkbun.d.ts +0 -18
  62. package/dist/dns/route53-adapter.d.ts +0 -38
  63. package/dist/dns/types.d.ts +0 -77
  64. package/dist/dns/validator.d.ts +0 -78
  65. package/dist/generators/index.d.ts +0 -1
  66. package/dist/generators/infrastructure.d.ts +0 -30
  67. package/dist/push/apns.d.ts +0 -60
  68. package/dist/push/fcm.d.ts +0 -117
  69. package/dist/push/index.d.ts +0 -14
  70. package/dist/security/pre-deploy-scanner.d.ts +0 -69
  71. package/dist/ssl/acme-client.d.ts +0 -67
  72. package/dist/ssl/index.d.ts +0 -2
  73. package/dist/ssl/letsencrypt.d.ts +0 -48
  74. package/dist/types.d.ts +0 -1
  75. package/dist/utils/cli.d.ts +0 -123
  76. package/dist/validation/index.d.ts +0 -1
  77. package/dist/validation/template.d.ts +0 -23
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/ts-cloud",
3
3
  "type": "module",
4
- "version": "0.1.11",
4
+ "version": "0.1.14",
5
5
  "description": "A lightweight, performant infrastructure-as-code library and CLI for deploying both server-based (EC2) and serverless applications.",
6
6
  "author": "Chris Breuer <chris@stacksjs.com>",
7
7
  "license": "MIT",
@@ -85,14 +85,14 @@
85
85
  "test": "bun test"
86
86
  },
87
87
  "dependencies": {
88
- "ts-cloud-aws-types": "0.1.11",
89
- "ts-cloud-core": "0.1.11",
90
- "ts-cloud-types": "0.1.11",
91
- "fast-xml-parser": "^5.3.5"
88
+ "ts-cloud-aws-types": "0.1.14",
89
+ "ts-cloud-core": "0.1.14",
90
+ "ts-cloud-types": "0.1.14",
91
+ "fast-xml-parser": "^5.4.2"
92
92
  },
93
93
  "devDependencies": {
94
94
  "bunfig": "^0.15.6",
95
- "better-dx": "^0.2.5"
95
+ "better-dx": "^0.2.6"
96
96
  },
97
97
  "lint-staged": {
98
98
  "*.{js,ts,json,yaml,yml,md}": "bunx --bun pickier lint --fix"
package/dist/aws/acm.d.ts DELETED
@@ -1,129 +0,0 @@
1
- import { AWSClient } from './client';
2
- import { Route53Client } from './route53';
3
- import type { DnsProvider, DnsProviderConfig } from '../dns/types';
4
- export declare interface CertificateDetail {
5
- CertificateArn: string
6
- DomainName: string
7
- SubjectAlternativeNames?: string[]
8
- Status: 'PENDING_VALIDATION' | 'ISSUED' | 'INACTIVE' | 'EXPIRED' | 'VALIDATION_TIMED_OUT' | 'REVOKED' | 'FAILED'
9
- Type?: 'IMPORTED' | 'AMAZON_ISSUED' | 'PRIVATE'
10
- DomainValidationOptions?: {
11
- DomainName: string
12
- ValidationDomain?: string
13
- ValidationStatus?: 'PENDING_VALIDATION' | 'SUCCESS' | 'FAILED'
14
- ResourceRecord?: {
15
- Name: string
16
- Type: string
17
- Value: string
18
- }
19
- ValidationMethod?: 'EMAIL' | 'DNS'
20
- }[]
21
- CreatedAt?: string
22
- IssuedAt?: string
23
- NotBefore?: string
24
- NotAfter?: string
25
- }
26
- export declare class ACMClient {
27
- private client: AWSClient;
28
- private region: string;
29
- constructor(region?: string);
30
- requestCertificate(params: {
31
- DomainName: string
32
- SubjectAlternativeNames?: string[]
33
- ValidationMethod?: 'EMAIL' | 'DNS'
34
- }): Promise<{
35
- CertificateArn: string
36
- }>;
37
- describeCertificate(params: {
38
- CertificateArn: string
39
- }): Promise<CertificateDetail>;
40
- listCertificates(params?: {
41
- CertificateStatuses?: ('PENDING_VALIDATION' | 'ISSUED' | 'INACTIVE' | 'EXPIRED' | 'VALIDATION_TIMED_OUT' | 'REVOKED' | 'FAILED')[]
42
- MaxItems?: number
43
- NextToken?: string
44
- }): Promise<{
45
- CertificateSummaryList: { CertificateArn: string, DomainName: string }[]
46
- NextToken?: string
47
- }>;
48
- deleteCertificate(params: {
49
- CertificateArn: string
50
- }): Promise<void>;
51
- listTagsForCertificate(params: {
52
- CertificateArn: string
53
- }): Promise<{ Tags: Array<{ Key: string, Value?: string }> }>;
54
- addTagsToCertificate(params: {
55
- CertificateArn: string
56
- Tags: Array<{ Key: string, Value?: string }>
57
- }): Promise<void>;
58
- resendValidationEmail(params: {
59
- CertificateArn: string
60
- Domain: string
61
- ValidationDomain: string
62
- }): Promise<void>;
63
- findCertificateByDomain(domainName: string): Promise<CertificateDetail | null>;
64
- waitForCertificateValidation(certificateArn: string, maxAttempts?: any, delayMs?: any): Promise<CertificateDetail | null>;
65
- getDnsValidationRecords(certificateArn: string): Promise<Array<{
66
- domainName: string
67
- recordName: string
68
- recordType: string
69
- recordValue: string
70
- }>>;
71
- requestCertificateWithSans(params: {
72
- DomainName: string
73
- IncludeWww?: boolean
74
- IncludeWildcard?: boolean
75
- AdditionalSans?: string[]
76
- }): Promise<{ CertificateArn: string }>;
77
- isCertificateValidForDomain(certificateArn: string, domainName: string): Promise<boolean>;
78
- }
79
- /**
80
- * Helper class for ACM DNS validation with Route53 integration
81
- * @deprecated Use UnifiedDnsValidator from 'ts-cloud/dns' for multi-provider support (Route53, Porkbun, GoDaddy)
82
- */
83
- export declare class ACMDnsValidator {
84
- private acm: ACMClient;
85
- private route53: Route53Client;
86
- private dnsProvider?: DnsProvider;
87
- constructor(region?: string, dnsProviderConfig?: DnsProviderConfig);
88
- requestAndValidate(params: {
89
- domainName: string
90
- hostedZoneId?: string
91
- subjectAlternativeNames?: string[]
92
- waitForValidation?: boolean
93
- maxWaitMinutes?: number
94
- }): Promise<{
95
- certificateArn: string
96
- validationRecords: Array<{
97
- domainName: string
98
- recordName: string
99
- recordValue: string
100
- }>
101
- }>;
102
- private waitForValidationOptions(certificateArn: string, maxAttempts?: any): Promise<void>;
103
- createValidationRecords(params: {
104
- certificateArn: string
105
- hostedZoneId?: string
106
- domain?: string
107
- }): Promise<Array<{
108
- domainName: string
109
- recordName: string
110
- recordValue: string
111
- changeId?: string
112
- }>>;
113
- deleteValidationRecords(params: {
114
- certificateArn: string
115
- hostedZoneId?: string
116
- domain?: string
117
- }): Promise<void>;
118
- findOrCreateCertificate(params: {
119
- domainName: string
120
- hostedZoneId?: string
121
- subjectAlternativeNames?: string[]
122
- waitForValidation?: boolean
123
- }): Promise<{
124
- certificateArn: string
125
- isNew: boolean
126
- }>;
127
- hasExternalDnsProvider(): boolean;
128
- getDnsProviderName(): string;
129
- }
@@ -1,282 +0,0 @@
1
- import { AWSClient } from './client';
2
- export declare interface ScalableTarget {
3
- ServiceNamespace: ServiceNamespace
4
- ResourceId: string
5
- ScalableDimension: ScalableDimension
6
- MinCapacity: number
7
- MaxCapacity: number
8
- RoleARN?: string
9
- CreationTime?: string
10
- SuspendedState?: {
11
- DynamicScalingInSuspended?: boolean
12
- DynamicScalingOutSuspended?: boolean
13
- ScheduledScalingSuspended?: boolean
14
- }
15
- }
16
- export declare interface ScalingPolicy {
17
- PolicyARN?: string
18
- PolicyName: string
19
- ServiceNamespace: ServiceNamespace
20
- ResourceId: string
21
- ScalableDimension: ScalableDimension
22
- PolicyType: 'TargetTrackingScaling' | 'StepScaling'
23
- StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration
24
- TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration
25
- Alarms?: Array<{
26
- AlarmName: string
27
- AlarmARN: string
28
- }>
29
- CreationTime?: string
30
- }
31
- export declare interface StepScalingPolicyConfiguration {
32
- AdjustmentType: 'ChangeInCapacity' | 'PercentChangeInCapacity' | 'ExactCapacity'
33
- StepAdjustments: Array<{
34
- MetricIntervalLowerBound?: number
35
- MetricIntervalUpperBound?: number
36
- ScalingAdjustment: number
37
- }>
38
- MinAdjustmentMagnitude?: number
39
- Cooldown?: number
40
- MetricAggregationType?: 'Average' | 'Minimum' | 'Maximum'
41
- }
42
- export declare interface TargetTrackingScalingPolicyConfiguration {
43
- TargetValue: number
44
- PredefinedMetricSpecification?: {
45
- PredefinedMetricType: MetricType
46
- ResourceLabel?: string
47
- }
48
- CustomizedMetricSpecification?: {
49
- MetricName: string
50
- Namespace: string
51
- Statistic: 'Average' | 'Minimum' | 'Maximum' | 'SampleCount' | 'Sum'
52
- Unit?: string
53
- Dimensions?: Array<{
54
- Name: string
55
- Value: string
56
- }>
57
- }
58
- ScaleOutCooldown?: number
59
- ScaleInCooldown?: number
60
- DisableScaleIn?: boolean
61
- }
62
- export declare interface ScheduledAction {
63
- ScheduledActionName: string
64
- ScheduledActionARN?: string
65
- ServiceNamespace: ServiceNamespace
66
- Schedule: string
67
- Timezone?: string
68
- ResourceId: string
69
- ScalableDimension: ScalableDimension
70
- StartTime?: string
71
- EndTime?: string
72
- ScalableTargetAction?: {
73
- MinCapacity?: number
74
- MaxCapacity?: number
75
- }
76
- CreationTime?: string
77
- }
78
- export type ScalableDimension = | 'ecs:service:DesiredCount'
79
- | 'dynamodb:table:ReadCapacityUnits'
80
- | 'dynamodb:table:WriteCapacityUnits'
81
- | 'dynamodb:index:ReadCapacityUnits'
82
- | 'dynamodb:index:WriteCapacityUnits'
83
- | 'rds:cluster:ReadReplicaCount'
84
- | 'lambda:function:ProvisionedConcurrency'
85
- | 'elasticache:replication-group:NodeGroups'
86
- | 'elasticache:replication-group:Replicas'
87
- export type ServiceNamespace = | 'ecs'
88
- | 'dynamodb'
89
- | 'rds'
90
- | 'lambda'
91
- | 'elasticache'
92
- | 'custom-resource'
93
- | 'comprehend'
94
- | 'kafka'
95
- | 'sagemaker'
96
- export type MetricType = | 'ECSServiceAverageCPUUtilization'
97
- | 'ECSServiceAverageMemoryUtilization'
98
- | 'ALBRequestCountPerTarget'
99
- | 'DynamoDBReadCapacityUtilization'
100
- | 'DynamoDBWriteCapacityUtilization'
101
- | 'RDSReaderAverageCPUUtilization'
102
- | 'RDSReaderAverageDatabaseConnections'
103
- | 'EC2SpotFleetRequestAverageCPUUtilization'
104
- | 'EC2SpotFleetRequestAverageNetworkIn'
105
- | 'EC2SpotFleetRequestAverageNetworkOut'
106
- | 'SageMakerVariantInvocationsPerInstance'
107
- | 'SageMakerVariantProvisionedConcurrencyUtilization'
108
- | 'ElastiCachePrimaryEngineCPUUtilization'
109
- | 'ElastiCacheReplicaEngineCPUUtilization'
110
- | 'ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage'
111
- | 'LambdaProvisionedConcurrencyUtilization'
112
- | 'CassandraReadCapacityUtilization'
113
- | 'CassandraWriteCapacityUtilization'
114
- /**
115
- * Application Auto Scaling client for ECS, DynamoDB, and other services
116
- */
117
- export declare class ApplicationAutoScalingClient {
118
- private client: AWSClient;
119
- private region: string;
120
- constructor(region?: string);
121
- registerScalableTarget(options: {
122
- serviceNamespace: ServiceNamespace
123
- resourceId: string
124
- scalableDimension: ScalableDimension
125
- minCapacity: number
126
- maxCapacity: number
127
- roleARN?: string
128
- suspendedState?: {
129
- dynamicScalingInSuspended?: boolean
130
- dynamicScalingOutSuspended?: boolean
131
- scheduledScalingSuspended?: boolean
132
- }
133
- }): Promise<void>;
134
- describeScalableTargets(options: {
135
- serviceNamespace: ServiceNamespace
136
- resourceIds?: string[]
137
- scalableDimension?: ScalableDimension
138
- maxResults?: number
139
- nextToken?: string
140
- }): Promise<{ ScalableTargets: ScalableTarget[], NextToken?: string }>;
141
- deregisterScalableTarget(options: {
142
- serviceNamespace: ServiceNamespace
143
- resourceId: string
144
- scalableDimension: ScalableDimension
145
- }): Promise<void>;
146
- putScalingPolicy(options: {
147
- policyName: string
148
- serviceNamespace: ServiceNamespace
149
- resourceId: string
150
- scalableDimension: ScalableDimension
151
- policyType: 'TargetTrackingScaling' | 'StepScaling'
152
- targetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration
153
- stepScalingPolicyConfiguration?: StepScalingPolicyConfiguration
154
- }): Promise<{ PolicyARN: string, Alarms: Array<{ AlarmName: string, AlarmARN: string }> }>;
155
- describeScalingPolicies(options: {
156
- serviceNamespace: ServiceNamespace
157
- policyNames?: string[]
158
- resourceId?: string
159
- scalableDimension?: ScalableDimension
160
- maxResults?: number
161
- nextToken?: string
162
- }): Promise<{ ScalingPolicies: ScalingPolicy[], NextToken?: string }>;
163
- deleteScalingPolicy(options: {
164
- policyName: string
165
- serviceNamespace: ServiceNamespace
166
- resourceId: string
167
- scalableDimension: ScalableDimension
168
- }): Promise<void>;
169
- putScheduledAction(options: {
170
- scheduledActionName: string
171
- serviceNamespace: ServiceNamespace
172
- resourceId: string
173
- scalableDimension: ScalableDimension
174
- schedule: string
175
- timezone?: string
176
- startTime?: Date
177
- endTime?: Date
178
- scalableTargetAction?: {
179
- minCapacity?: number
180
- maxCapacity?: number
181
- }
182
- }): Promise<void>;
183
- describeScheduledActions(options: {
184
- serviceNamespace: ServiceNamespace
185
- scheduledActionNames?: string[]
186
- resourceId?: string
187
- scalableDimension?: ScalableDimension
188
- maxResults?: number
189
- nextToken?: string
190
- }): Promise<{ ScheduledActions: ScheduledAction[], NextToken?: string }>;
191
- deleteScheduledAction(options: {
192
- scheduledActionName: string
193
- serviceNamespace: ServiceNamespace
194
- resourceId: string
195
- scalableDimension: ScalableDimension
196
- }): Promise<void>;
197
- describeScalingActivities(options: {
198
- serviceNamespace: ServiceNamespace
199
- resourceId?: string
200
- scalableDimension?: ScalableDimension
201
- maxResults?: number
202
- nextToken?: string
203
- includeNotScaledActivities?: boolean
204
- }): Promise<{
205
- ScalingActivities: Array<{
206
- ActivityId: string
207
- ServiceNamespace: string
208
- ResourceId: string
209
- ScalableDimension: string
210
- Description: string
211
- Cause: string
212
- StartTime: string
213
- EndTime?: string
214
- StatusCode: 'Pending' | 'InProgress' | 'Successful' | 'Overridden' | 'Unfulfilled' | 'Failed'
215
- StatusMessage?: string
216
- Details?: string
217
- NotScaledReasons?: Array<{
218
- Code: string
219
- MaxCapacity?: number
220
- MinCapacity?: number
221
- CurrentCapacity?: number
222
- }>
223
- }>
224
- NextToken?: string
225
- }>;
226
- getECSServiceResourceId(clusterName: string, serviceName: string): string;
227
- registerECSServiceScaling(options: {
228
- clusterName: string
229
- serviceName: string
230
- minCapacity: number
231
- maxCapacity: number
232
- }): Promise<void>;
233
- createECSCPUScalingPolicy(options: {
234
- clusterName: string
235
- serviceName: string
236
- policyName: string
237
- targetCPUPercent: number
238
- scaleOutCooldown?: number
239
- scaleInCooldown?: number
240
- disableScaleIn?: boolean
241
- }): Promise<{ PolicyARN: string, Alarms: Array<{ AlarmName: string, AlarmARN: string }> }>;
242
- createECSMemoryScalingPolicy(options: {
243
- clusterName: string
244
- serviceName: string
245
- policyName: string
246
- targetMemoryPercent: number
247
- scaleOutCooldown?: number
248
- scaleInCooldown?: number
249
- disableScaleIn?: boolean
250
- }): Promise<{ PolicyARN: string, Alarms: Array<{ AlarmName: string, AlarmARN: string }> }>;
251
- createECSRequestCountScalingPolicy(options: {
252
- clusterName: string
253
- serviceName: string
254
- policyName: string
255
- targetRequestsPerTarget: number
256
- targetGroupArn: string
257
- loadBalancerArn: string
258
- scaleOutCooldown?: number
259
- scaleInCooldown?: number
260
- disableScaleIn?: boolean
261
- }): Promise<{ PolicyARN: string, Alarms: Array<{ AlarmName: string, AlarmARN: string }> }>;
262
- getECSServiceScalingPolicies(clusterName: string, serviceName: string): Promise<ScalingPolicy[]>;
263
- removeECSServiceScaling(clusterName: string, serviceName: string): Promise<void>;
264
- createECSScheduledScaling(options: {
265
- clusterName: string
266
- serviceName: string
267
- actionName: string
268
- schedule: string
269
- timezone?: string
270
- minCapacity?: number
271
- maxCapacity?: number
272
- }): Promise<void>;
273
- getECSScalingActivities(clusterName: string, serviceName: string, maxResults?: any): Promise<Array<{
274
- ActivityId: string
275
- Description: string
276
- Cause: string
277
- StartTime: string
278
- EndTime?: string
279
- StatusCode: string
280
- StatusMessage?: string
281
- }>>;
282
- }