@stacksjs/ts-cloud 0.1.7 → 0.1.9

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/dist/aws/s3.d.ts +1 -1
  2. package/dist/bin/cli.js +223 -222
  3. package/dist/index.js +132 -132
  4. package/package.json +18 -16
  5. package/src/aws/acm.ts +768 -0
  6. package/src/aws/application-autoscaling.ts +845 -0
  7. package/src/aws/bedrock.ts +4074 -0
  8. package/src/aws/client.ts +891 -0
  9. package/src/aws/cloudformation.ts +896 -0
  10. package/src/aws/cloudfront.ts +1531 -0
  11. package/src/aws/cloudwatch-logs.ts +154 -0
  12. package/src/aws/comprehend.ts +839 -0
  13. package/src/aws/connect.ts +1056 -0
  14. package/src/aws/deploy-imap.ts +384 -0
  15. package/src/aws/dynamodb.ts +340 -0
  16. package/src/aws/ec2.ts +1385 -0
  17. package/src/aws/ecr.ts +621 -0
  18. package/src/aws/ecs.ts +615 -0
  19. package/src/aws/elasticache.ts +301 -0
  20. package/src/aws/elbv2.ts +942 -0
  21. package/src/aws/email.ts +928 -0
  22. package/src/aws/eventbridge.ts +248 -0
  23. package/src/aws/iam.ts +1689 -0
  24. package/src/aws/imap-server.ts +2100 -0
  25. package/src/aws/index.ts +213 -0
  26. package/src/aws/kendra.ts +1097 -0
  27. package/src/aws/lambda.ts +786 -0
  28. package/src/aws/opensearch.ts +158 -0
  29. package/src/aws/personalize.ts +977 -0
  30. package/src/aws/polly.ts +559 -0
  31. package/src/aws/rds.ts +888 -0
  32. package/src/aws/rekognition.ts +846 -0
  33. package/src/aws/route53-domains.ts +359 -0
  34. package/src/aws/route53.ts +1046 -0
  35. package/src/aws/s3.ts +2334 -0
  36. package/src/aws/scheduler.ts +571 -0
  37. package/src/aws/secrets-manager.ts +769 -0
  38. package/src/aws/ses.ts +1081 -0
  39. package/src/aws/setup-phone.ts +104 -0
  40. package/src/aws/setup-sms.ts +580 -0
  41. package/src/aws/sms.ts +1735 -0
  42. package/src/aws/smtp-server.ts +531 -0
  43. package/src/aws/sns.ts +758 -0
  44. package/src/aws/sqs.ts +382 -0
  45. package/src/aws/ssm.ts +807 -0
  46. package/src/aws/sts.ts +92 -0
  47. package/src/aws/support.ts +391 -0
  48. package/src/aws/test-imap.ts +86 -0
  49. package/src/aws/textract.ts +780 -0
  50. package/src/aws/transcribe.ts +108 -0
  51. package/src/aws/translate.ts +641 -0
  52. package/src/aws/voice.ts +1379 -0
  53. package/src/config.ts +35 -0
  54. package/src/deploy/index.ts +7 -0
  55. package/src/deploy/static-site-external-dns.ts +945 -0
  56. package/src/deploy/static-site.ts +1175 -0
  57. package/src/dns/cloudflare.ts +548 -0
  58. package/src/dns/godaddy.ts +412 -0
  59. package/src/dns/index.ts +205 -0
  60. package/src/dns/porkbun.ts +362 -0
  61. package/src/dns/route53-adapter.ts +414 -0
  62. package/src/dns/types.ts +119 -0
  63. package/src/dns/validator.ts +369 -0
  64. package/src/generators/index.ts +5 -0
  65. package/src/generators/infrastructure.ts +1660 -0
  66. package/src/index.ts +163 -0
  67. package/src/push/apns.ts +452 -0
  68. package/src/push/fcm.ts +506 -0
  69. package/src/push/index.ts +58 -0
  70. package/src/security/pre-deploy-scanner.ts +655 -0
  71. package/src/ssl/acme-client.ts +478 -0
  72. package/src/ssl/index.ts +7 -0
  73. package/src/ssl/letsencrypt.ts +747 -0
  74. package/src/types.ts +2 -0
  75. package/src/utils/cli.ts +398 -0
  76. package/src/validation/index.ts +5 -0
  77. package/src/validation/template.ts +405 -0
@@ -0,0 +1,154 @@
1
+ /**
2
+ * AWS CloudWatch Logs Operations
3
+ * Direct API calls without AWS CLI dependency
4
+ */
5
+
6
+ import { AWSClient } from './client'
7
+
8
+ export interface LogEvent {
9
+ timestamp?: number
10
+ message?: string
11
+ ingestionTime?: number
12
+ }
13
+
14
+ export interface LogStream {
15
+ logStreamName?: string
16
+ creationTime?: number
17
+ firstEventTimestamp?: number
18
+ lastEventTimestamp?: number
19
+ lastIngestionTime?: number
20
+ uploadSequenceToken?: string
21
+ arn?: string
22
+ storedBytes?: number
23
+ }
24
+
25
+ export class CloudWatchLogsClient {
26
+ private client: AWSClient
27
+ private region: string
28
+
29
+ constructor(region: string = 'us-east-1', profile?: string) {
30
+ this.region = region
31
+ this.client = new AWSClient()
32
+ }
33
+
34
+ async describeLogStreams(options: {
35
+ logGroupName: string
36
+ logStreamNamePrefix?: string
37
+ orderBy?: 'LogStreamName' | 'LastEventTime'
38
+ descending?: boolean
39
+ limit?: number
40
+ }): Promise<{ logStreams?: LogStream[], nextToken?: string }> {
41
+ const params: Record<string, any> = {
42
+ logGroupName: options.logGroupName,
43
+ }
44
+
45
+ if (options.logStreamNamePrefix) params.logStreamNamePrefix = options.logStreamNamePrefix
46
+ if (options.orderBy) params.orderBy = options.orderBy
47
+ if (options.descending !== undefined) params.descending = options.descending
48
+ if (options.limit) params.limit = options.limit
49
+
50
+ const result = await this.client.request({
51
+ service: 'logs',
52
+ region: this.region,
53
+ method: 'POST',
54
+ path: '/',
55
+ headers: {
56
+ 'X-Amz-Target': 'Logs_20140328.DescribeLogStreams',
57
+ 'Content-Type': 'application/x-amz-json-1.1',
58
+ },
59
+ body: JSON.stringify(params),
60
+ })
61
+
62
+ return result
63
+ }
64
+
65
+ async getLogEvents(options: {
66
+ logGroupName: string
67
+ logStreamName: string
68
+ startTime?: number
69
+ endTime?: number
70
+ limit?: number
71
+ startFromHead?: boolean
72
+ }): Promise<{ events?: LogEvent[], nextForwardToken?: string, nextBackwardToken?: string }> {
73
+ const params: Record<string, any> = {
74
+ logGroupName: options.logGroupName,
75
+ logStreamName: options.logStreamName,
76
+ }
77
+
78
+ if (options.startTime) params.startTime = options.startTime
79
+ if (options.endTime) params.endTime = options.endTime
80
+ if (options.limit) params.limit = options.limit
81
+ if (options.startFromHead !== undefined) params.startFromHead = options.startFromHead
82
+
83
+ const result = await this.client.request({
84
+ service: 'logs',
85
+ region: this.region,
86
+ method: 'POST',
87
+ path: '/',
88
+ headers: {
89
+ 'X-Amz-Target': 'Logs_20140328.GetLogEvents',
90
+ 'Content-Type': 'application/x-amz-json-1.1',
91
+ },
92
+ body: JSON.stringify(params),
93
+ })
94
+
95
+ return result
96
+ }
97
+
98
+ async describeLogGroups(options?: {
99
+ logGroupNamePrefix?: string
100
+ limit?: number
101
+ }): Promise<{ logGroups?: { logGroupName?: string, arn?: string, creationTime?: number }[], nextToken?: string }> {
102
+ const params: Record<string, any> = {}
103
+
104
+ if (options?.logGroupNamePrefix) params.logGroupNamePrefix = options.logGroupNamePrefix
105
+ if (options?.limit) params.limit = options.limit
106
+
107
+ const result = await this.client.request({
108
+ service: 'logs',
109
+ region: this.region,
110
+ method: 'POST',
111
+ path: '/',
112
+ headers: {
113
+ 'X-Amz-Target': 'Logs_20140328.DescribeLogGroups',
114
+ 'Content-Type': 'application/x-amz-json-1.1',
115
+ },
116
+ body: JSON.stringify(params),
117
+ })
118
+
119
+ return result
120
+ }
121
+
122
+ async filterLogEvents(options: {
123
+ logGroupName: string
124
+ logStreamNames?: string[]
125
+ startTime?: number
126
+ endTime?: number
127
+ filterPattern?: string
128
+ limit?: number
129
+ }): Promise<{ events?: LogEvent[], searchedLogStreams?: any[], nextToken?: string }> {
130
+ const params: Record<string, any> = {
131
+ logGroupName: options.logGroupName,
132
+ }
133
+
134
+ if (options.logStreamNames) params.logStreamNames = options.logStreamNames
135
+ if (options.startTime) params.startTime = options.startTime
136
+ if (options.endTime) params.endTime = options.endTime
137
+ if (options.filterPattern) params.filterPattern = options.filterPattern
138
+ if (options.limit) params.limit = options.limit
139
+
140
+ const result = await this.client.request({
141
+ service: 'logs',
142
+ region: this.region,
143
+ method: 'POST',
144
+ path: '/',
145
+ headers: {
146
+ 'X-Amz-Target': 'Logs_20140328.FilterLogEvents',
147
+ 'Content-Type': 'application/x-amz-json-1.1',
148
+ },
149
+ body: JSON.stringify(params),
150
+ })
151
+
152
+ return result
153
+ }
154
+ }