@stacksjs/ts-cloud-core 0.1.6 → 0.1.7

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 (225) hide show
  1. package/dist/advanced-features.test.d.ts +0 -0
  2. package/dist/aws/cloudformation.d.ts +69 -0
  3. package/dist/aws/cloudfront.d.ts +21 -0
  4. package/dist/aws/credentials.d.ts +66 -0
  5. package/dist/aws/credentials.test.d.ts +0 -0
  6. package/dist/aws/index.d.ts +73 -0
  7. package/dist/aws/s3.d.ts +130 -0
  8. package/dist/aws/s3.test.d.ts +0 -0
  9. package/dist/aws/signature.d.ts +101 -0
  10. package/dist/aws/signature.test.d.ts +0 -0
  11. package/dist/backup/disaster-recovery.d.ts +98 -0
  12. package/dist/backup/disaster-recovery.test.d.ts +0 -0
  13. package/dist/backup/index.d.ts +24 -0
  14. package/dist/backup/manager.d.ts +112 -0
  15. package/dist/backup/manager.test.d.ts +0 -0
  16. package/dist/cicd/circleci.d.ts +47 -0
  17. package/dist/cicd/github-actions.d.ts +55 -0
  18. package/dist/cicd/gitlab-ci.d.ts +46 -0
  19. package/dist/cicd/index.d.ts +3 -0
  20. package/dist/cli/history.d.ts +66 -0
  21. package/dist/cli/index.d.ts +5 -0
  22. package/dist/cli/progress.d.ts +97 -0
  23. package/dist/cli/repl.d.ts +76 -0
  24. package/dist/cli/suggestions.d.ts +67 -0
  25. package/dist/cli/table.d.ts +70 -0
  26. package/dist/cli/table.test.d.ts +0 -0
  27. package/dist/cloudformation/builder.d.ts +59 -0
  28. package/dist/cloudformation/builder.test.d.ts +0 -0
  29. package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
  30. package/dist/cloudformation/builders/cache.d.ts +35 -0
  31. package/dist/cloudformation/builders/cdn.d.ts +34 -0
  32. package/dist/cloudformation/builders/compute.d.ts +66 -0
  33. package/dist/cloudformation/builders/database.d.ts +61 -0
  34. package/dist/cloudformation/builders/functions.d.ts +32 -0
  35. package/dist/cloudformation/builders/messaging.d.ts +17 -0
  36. package/dist/cloudformation/builders/monitoring.d.ts +36 -0
  37. package/dist/cloudformation/builders/network.d.ts +14 -0
  38. package/dist/cloudformation/builders/queue.d.ts +8 -0
  39. package/dist/cloudformation/builders/security.d.ts +31 -0
  40. package/dist/cloudformation/builders/storage.d.ts +8 -0
  41. package/dist/cloudformation/index.d.ts +24 -0
  42. package/dist/cloudformation/types.d.ts +132 -0
  43. package/dist/compliance/aws-config.d.ts +88 -0
  44. package/dist/compliance/cloudtrail.d.ts +96 -0
  45. package/dist/compliance/compliance.test.d.ts +0 -0
  46. package/dist/compliance/guardduty.d.ts +110 -0
  47. package/dist/compliance/index.d.ts +50 -0
  48. package/dist/compliance/security-hub.d.ts +110 -0
  49. package/dist/containers/build-optimization.d.ts +110 -0
  50. package/dist/containers/containers.test.d.ts +0 -0
  51. package/dist/containers/image-scanning.d.ts +96 -0
  52. package/dist/containers/index.d.ts +4 -0
  53. package/dist/containers/registry.d.ts +99 -0
  54. package/dist/containers/service-mesh.d.ts +206 -0
  55. package/dist/database/database.test.d.ts +0 -0
  56. package/dist/database/index.d.ts +4 -0
  57. package/dist/database/migrations.d.ts +102 -0
  58. package/dist/database/performance.d.ts +168 -0
  59. package/dist/database/replicas.d.ts +146 -0
  60. package/dist/database/users.d.ts +102 -0
  61. package/dist/dependency-graph.d.ts +19 -0
  62. package/dist/deployment/ab-testing.d.ts +114 -0
  63. package/dist/deployment/blue-green.d.ts +98 -0
  64. package/dist/deployment/canary.d.ts +103 -0
  65. package/dist/deployment/deployment.test.d.ts +0 -0
  66. package/dist/deployment/index.d.ts +45 -0
  67. package/dist/deployment/progressive.d.ts +34 -0
  68. package/dist/dns/dns.test.d.ts +0 -0
  69. package/dist/dns/dnssec.d.ts +75 -0
  70. package/dist/dns/index.d.ts +3 -0
  71. package/dist/dns/resolver.d.ts +150 -0
  72. package/dist/dns/routing.d.ts +217 -0
  73. package/dist/email/advanced/analytics.d.ts +78 -0
  74. package/dist/email/advanced/index.d.ts +7 -0
  75. package/dist/email/advanced/rules.d.ts +60 -0
  76. package/dist/email/advanced/scheduling.d.ts +63 -0
  77. package/dist/email/advanced/search.d.ts +76 -0
  78. package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
  79. package/dist/email/advanced/templates.d.ts +39 -0
  80. package/dist/email/advanced/threading.d.ts +53 -0
  81. package/dist/email/analytics.d.ts +144 -0
  82. package/dist/email/bounce-handling.d.ts +120 -0
  83. package/dist/email/email.test.d.ts +0 -0
  84. package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
  85. package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
  86. package/dist/email/handlers/converter.d.ts +225 -0
  87. package/dist/email/handlers/feedback.d.ts +226 -0
  88. package/dist/email/handlers/inbound.d.ts +167 -0
  89. package/dist/email/handlers/outbound.d.ts +176 -0
  90. package/dist/email/index.d.ts +6 -0
  91. package/dist/email/reputation.d.ts +97 -0
  92. package/dist/email/templates.d.ts +82 -0
  93. package/dist/errors/index.d.ts +186 -0
  94. package/dist/errors/index.test.d.ts +0 -0
  95. package/dist/health-checks/index.d.ts +35 -0
  96. package/dist/index.d.ts +256 -0
  97. package/dist/index.js +63499 -0
  98. package/dist/intrinsic-functions.d.ts +37 -0
  99. package/dist/lambda/concurrency.d.ts +98 -0
  100. package/dist/lambda/destinations.d.ts +99 -0
  101. package/dist/lambda/dlq.d.ts +109 -0
  102. package/dist/lambda/index.d.ts +6 -0
  103. package/dist/lambda/lambda.test.d.ts +0 -0
  104. package/dist/lambda/layers.d.ts +81 -0
  105. package/dist/lambda/versions.d.ts +91 -0
  106. package/dist/lambda/vpc.d.ts +116 -0
  107. package/dist/local/config.d.ts +44 -0
  108. package/dist/local/index.d.ts +2 -0
  109. package/dist/local/mock-aws.d.ts +60 -0
  110. package/dist/modules/ai.d.ts +47 -0
  111. package/dist/modules/api.d.ts +98 -0
  112. package/dist/modules/auth.d.ts +165 -0
  113. package/dist/modules/cache.d.ts +73 -0
  114. package/dist/modules/cdn.d.ts +125 -0
  115. package/dist/modules/communication.d.ts +98 -0
  116. package/dist/modules/compute.d.ts +309 -0
  117. package/dist/modules/database.d.ts +105 -0
  118. package/dist/modules/deployment.d.ts +181 -0
  119. package/dist/modules/dns.d.ts +45 -0
  120. package/dist/modules/email.d.ts +217 -0
  121. package/dist/modules/filesystem.d.ts +94 -0
  122. package/dist/modules/index.d.ts +27 -0
  123. package/dist/modules/messaging.d.ts +108 -0
  124. package/dist/modules/monitoring.d.ts +127 -0
  125. package/dist/modules/network.d.ts +102 -0
  126. package/dist/modules/parameter-store.d.ts +33 -0
  127. package/dist/modules/permissions.d.ts +132 -0
  128. package/dist/modules/phone.d.ts +80 -0
  129. package/dist/modules/queue.d.ts +210 -0
  130. package/dist/modules/redirects.d.ts +59 -0
  131. package/dist/modules/registry.d.ts +73 -0
  132. package/dist/modules/search.d.ts +56 -0
  133. package/dist/modules/secrets.d.ts +80 -0
  134. package/dist/modules/security.d.ts +100 -0
  135. package/dist/modules/sms.d.ts +52 -0
  136. package/dist/modules/storage.d.ts +160 -0
  137. package/dist/modules/workflow.d.ts +205 -0
  138. package/dist/multi-account/config.d.ts +315 -0
  139. package/dist/multi-account/index.d.ts +2 -0
  140. package/dist/multi-account/manager.d.ts +100 -0
  141. package/dist/multi-region/cross-region.d.ts +114 -0
  142. package/dist/multi-region/index.d.ts +3 -0
  143. package/dist/multi-region/manager.d.ts +72 -0
  144. package/dist/multi-region/regions.d.ts +98 -0
  145. package/dist/network-security/index.d.ts +39 -0
  146. package/dist/observability/index.d.ts +4 -0
  147. package/dist/observability/logs.d.ts +129 -0
  148. package/dist/observability/metrics.d.ts +153 -0
  149. package/dist/observability/observability.test.d.ts +0 -0
  150. package/dist/observability/synthetics.d.ts +146 -0
  151. package/dist/observability/xray.d.ts +129 -0
  152. package/dist/phone/advanced/analytics.d.ts +66 -0
  153. package/dist/phone/advanced/callbacks.d.ts +50 -0
  154. package/dist/phone/advanced/index.d.ts +4 -0
  155. package/dist/phone/advanced/ivr-builder.d.ts +83 -0
  156. package/dist/phone/advanced/recording.d.ts +48 -0
  157. package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
  158. package/dist/phone/handlers/incoming-call.d.ts +115 -0
  159. package/dist/phone/handlers/missed-call.d.ts +114 -0
  160. package/dist/phone/handlers/voicemail.d.ts +177 -0
  161. package/dist/phone/index.d.ts +2 -0
  162. package/dist/presets/api-backend.d.ts +11 -0
  163. package/dist/presets/data-pipeline.d.ts +11 -0
  164. package/dist/presets/extend.d.ts +194 -0
  165. package/dist/presets/extend.test.d.ts +0 -0
  166. package/dist/presets/fullstack-app.d.ts +12 -0
  167. package/dist/presets/index.d.ts +24 -0
  168. package/dist/presets/jamstack.d.ts +12 -0
  169. package/dist/presets/microservices.d.ts +18 -0
  170. package/dist/presets/ml-api.d.ts +13 -0
  171. package/dist/presets/nodejs-server.d.ts +14 -0
  172. package/dist/presets/nodejs-serverless.d.ts +14 -0
  173. package/dist/presets/realtime-app.d.ts +11 -0
  174. package/dist/presets/static-site.d.ts +12 -0
  175. package/dist/presets/traditional-web-app.d.ts +16 -0
  176. package/dist/presets/wordpress.d.ts +12 -0
  177. package/dist/preview/github.d.ts +32 -0
  178. package/dist/preview/github.test.d.ts +0 -0
  179. package/dist/preview/index.d.ts +27 -0
  180. package/dist/preview/manager.d.ts +58 -0
  181. package/dist/preview/manager.test.d.ts +0 -0
  182. package/dist/preview/notifications.d.ts +55 -0
  183. package/dist/preview/notifications.test.d.ts +0 -0
  184. package/dist/queue/batch-processing.d.ts +87 -0
  185. package/dist/queue/dlq-monitoring.d.ts +95 -0
  186. package/dist/queue/fifo.d.ts +90 -0
  187. package/dist/queue/index.d.ts +4 -0
  188. package/dist/queue/management.d.ts +105 -0
  189. package/dist/queue/queue.test.d.ts +0 -0
  190. package/dist/resource-mgmt/index.d.ts +29 -0
  191. package/dist/resource-naming.d.ts +26 -0
  192. package/dist/s3/index.d.ts +173 -0
  193. package/dist/schema/index.d.ts +9 -0
  194. package/dist/security/certificate-manager.d.ts +121 -0
  195. package/dist/security/index.d.ts +4 -0
  196. package/dist/security/scanning.d.ts +147 -0
  197. package/dist/security/secrets-manager.d.ts +144 -0
  198. package/dist/security/secrets-rotation.d.ts +115 -0
  199. package/dist/security/security.test.d.ts +0 -0
  200. package/dist/sms/advanced/ab-testing.d.ts +54 -0
  201. package/dist/sms/advanced/analytics.d.ts +56 -0
  202. package/dist/sms/advanced/campaigns.d.ts +82 -0
  203. package/dist/sms/advanced/chatbot.d.ts +48 -0
  204. package/dist/sms/advanced/index.d.ts +6 -0
  205. package/dist/sms/advanced/link-tracking.d.ts +42 -0
  206. package/dist/sms/advanced/mms.d.ts +35 -0
  207. package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
  208. package/dist/sms/handlers/delivery-status.d.ts +131 -0
  209. package/dist/sms/handlers/receive.d.ts +160 -0
  210. package/dist/sms/handlers/send.d.ts +172 -0
  211. package/dist/sms/index.d.ts +2 -0
  212. package/dist/stack-diff.d.ts +34 -0
  213. package/dist/static-site/index.d.ts +49 -0
  214. package/dist/template-builder.d.ts +14 -0
  215. package/dist/template-validator.d.ts +24 -0
  216. package/dist/utils/cache.d.ts +55 -0
  217. package/dist/utils/diff.d.ts +48 -0
  218. package/dist/utils/hash.d.ts +58 -0
  219. package/dist/utils/index.d.ts +4 -0
  220. package/dist/utils/parallel.d.ts +60 -0
  221. package/dist/validators/credentials.d.ts +23 -0
  222. package/dist/validators/credentials.test.d.ts +0 -0
  223. package/dist/validators/quotas.d.ts +60 -0
  224. package/dist/validators/quotas.test.d.ts +0 -0
  225. package/package.json +4 -4
@@ -0,0 +1,37 @@
1
+ /**
2
+ * CloudFormation Intrinsic Functions Helpers
3
+ */
4
+ export declare const Fn: ({
5
+ /**
6
+ * Ref - Returns the value of the specified parameter or resource
7
+ */
8
+ Ref: (logicalName: string)) => { Ref: string };
9
+ /**
10
+ * Pseudo Parameters - AWS CloudFormation provides several built-in parameters
11
+ */
12
+ export declare const Pseudo: {
13
+ AccountId: {
14
+ Ref: 'AWS::AccountId'
15
+ };
16
+ Region: {
17
+ Ref: 'AWS::Region'
18
+ };
19
+ StackId: {
20
+ Ref: 'AWS::StackId'
21
+ };
22
+ StackName: {
23
+ Ref: 'AWS::StackName'
24
+ };
25
+ NotificationARNs: {
26
+ Ref: 'AWS::NotificationARNs'
27
+ };
28
+ Partition: {
29
+ Ref: 'AWS::Partition'
30
+ };
31
+ URLSuffix: {
32
+ Ref: 'AWS::URLSuffix'
33
+ };
34
+ NoValue: {
35
+ Ref: 'AWS::NoValue'
36
+ }
37
+ };
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Global Lambda concurrency manager instance
3
+ */
4
+ export declare const lambdaConcurrencyManager: LambdaConcurrencyManager;
5
+ /**
6
+ * Lambda Concurrency Management
7
+ * Reserved and provisioned concurrency configuration
8
+ */
9
+ export declare interface ConcurrencyConfig {
10
+ id: string
11
+ functionName: string
12
+ reservedConcurrency?: number
13
+ provisionedConcurrency?: ProvisionedConcurrencyConfig[]
14
+ }
15
+ export declare interface ProvisionedConcurrencyConfig {
16
+ id: string
17
+ functionName: string
18
+ qualifier: string
19
+ provisionedConcurrentExecutions: number
20
+ status: 'pending' | 'ready' | 'in_progress' | 'failed'
21
+ allocatedConcurrency?: number
22
+ availableConcurrency?: number
23
+ lastModified?: Date
24
+ }
25
+ export declare interface ConcurrencySchedule {
26
+ id: string
27
+ name: string
28
+ functionName: string
29
+ qualifier: string
30
+ schedule: ScheduleRule[]
31
+ }
32
+ export declare interface ScheduleRule {
33
+ name: string
34
+ cronExpression: string
35
+ targetConcurrency: number
36
+ minCapacity?: number
37
+ maxCapacity?: number
38
+ }
39
+ export declare interface AutoScalingConfig {
40
+ id: string
41
+ functionName: string
42
+ qualifier: string
43
+ minCapacity: number
44
+ maxCapacity: number
45
+ targetUtilization: number
46
+ scaleInCooldown?: number
47
+ scaleOutCooldown?: number
48
+ }
49
+ /**
50
+ * Lambda concurrency manager
51
+ */
52
+ export declare class LambdaConcurrencyManager {
53
+ private configs: Map<string, ConcurrencyConfig>;
54
+ private provisionedConfigs: Map<string, ProvisionedConcurrencyConfig>;
55
+ private schedules: Map<string, ConcurrencySchedule>;
56
+ private autoScalingConfigs: Map<string, AutoScalingConfig>;
57
+ private configCounter: any;
58
+ private provisionedCounter: any;
59
+ private scheduleCounter: any;
60
+ private autoScalingCounter: any;
61
+ setReservedConcurrency(options: {
62
+ functionName: string
63
+ reservedConcurrency: number
64
+ }): ConcurrencyConfig;
65
+ setProvisionedConcurrency(options: {
66
+ functionName: string
67
+ qualifier: string
68
+ provisionedConcurrentExecutions: number
69
+ }): ProvisionedConcurrencyConfig;
70
+ configureWarmPool(options: {
71
+ functionName: string
72
+ alias: string
73
+ minInstances: number
74
+ }): ProvisionedConcurrencyConfig;
75
+ createSchedule(schedule: Omit<ConcurrencySchedule, 'id'>): ConcurrencySchedule;
76
+ createBusinessHoursSchedule(options: {
77
+ functionName: string
78
+ qualifier: string
79
+ businessHoursConcurrency: number
80
+ offHoursConcurrency: number
81
+ }): ConcurrencySchedule;
82
+ configureAutoScaling(config: Omit<AutoScalingConfig, 'id'>): AutoScalingConfig;
83
+ configurePredictiveScaling(options: {
84
+ functionName: string
85
+ qualifier: string
86
+ baselineCapacity: number
87
+ peakCapacity: number
88
+ }): AutoScalingConfig;
89
+ getConfig(id: string): ConcurrencyConfig | undefined;
90
+ listConfigs(): ConcurrencyConfig[];
91
+ getProvisionedConfig(id: string): ProvisionedConcurrencyConfig | undefined;
92
+ listProvisionedConfigs(): ProvisionedConcurrencyConfig[];
93
+ generateReservedConcurrencyCF(config: ConcurrencyConfig): any;
94
+ generateProvisionedConcurrencyCF(config: ProvisionedConcurrencyConfig): any;
95
+ generateAutoScalingTargetCF(config: AutoScalingConfig): any;
96
+ generateAutoScalingPolicyCF(config: AutoScalingConfig): any;
97
+ clear(): void;
98
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Global Lambda destinations manager instance
3
+ */
4
+ export declare const lambdaDestinationsManager: LambdaDestinationsManager;
5
+ /**
6
+ * Lambda Destinations
7
+ * Asynchronous invocation destinations for success and failure
8
+ */
9
+ export declare interface LambdaDestination {
10
+ id: string
11
+ functionName: string
12
+ qualifier?: string
13
+ successDestination?: DestinationConfig
14
+ failureDestination?: DestinationConfig
15
+ maxEventAge?: number
16
+ maxRetries?: number
17
+ }
18
+ export declare interface DestinationConfig {
19
+ type: 'sqs' | 'sns' | 'eventbridge' | 'lambda'
20
+ arn: string
21
+ }
22
+ export declare interface DestinationRecord {
23
+ id: string
24
+ timestamp: Date
25
+ functionName: string
26
+ requestId: string
27
+ status: 'success' | 'failure'
28
+ destinationType: 'sqs' | 'sns' | 'eventbridge' | 'lambda'
29
+ destinationArn: string
30
+ payload?: any
31
+ error?: string
32
+ }
33
+ export declare interface EventBridgeDestination {
34
+ id: string
35
+ functionName: string
36
+ eventBusArn: string
37
+ detailType: string
38
+ source: string
39
+ }
40
+ /**
41
+ * Lambda destinations manager
42
+ */
43
+ export declare class LambdaDestinationsManager {
44
+ private destinations: Map<string, LambdaDestination>;
45
+ private records: Map<string, DestinationRecord>;
46
+ private eventBridgeDestinations: Map<string, EventBridgeDestination>;
47
+ private destinationCounter: any;
48
+ private recordCounter: any;
49
+ private eventBridgeCounter: any;
50
+ configureDestinations(destination: Omit<LambdaDestination, 'id'>): LambdaDestination;
51
+ configureSQSDestination(options: {
52
+ functionName: string
53
+ queueArn: string
54
+ onSuccess?: boolean
55
+ onFailure?: boolean
56
+ }): LambdaDestination;
57
+ configureSNSDestination(options: {
58
+ functionName: string
59
+ topicArn: string
60
+ onSuccess?: boolean
61
+ onFailure?: boolean
62
+ }): LambdaDestination;
63
+ configureEventBridgeDestination(options: {
64
+ functionName: string
65
+ eventBusArn: string
66
+ onSuccess?: boolean
67
+ onFailure?: boolean
68
+ }): LambdaDestination;
69
+ configureLambdaDestination(options: {
70
+ functionName: string
71
+ destinationFunctionArn: string
72
+ onSuccess?: boolean
73
+ onFailure?: boolean
74
+ }): LambdaDestination;
75
+ configureDLQWithNotification(options: {
76
+ functionName: string
77
+ dlqArn: string
78
+ notificationTopicArn: string
79
+ }): LambdaDestination;
80
+ createEventBridgeIntegration(options: {
81
+ functionName: string
82
+ eventBusArn: string
83
+ detailType?: string
84
+ source?: string
85
+ }): EventBridgeDestination;
86
+ sendToDestination(options: {
87
+ functionName: string
88
+ requestId: string
89
+ status: 'success' | 'failure'
90
+ payload?: any
91
+ error?: string
92
+ }): DestinationRecord | null;
93
+ getDestination(id: string): LambdaDestination | undefined;
94
+ listDestinations(functionName?: string): LambdaDestination[];
95
+ getDestinationRecords(functionName?: string): DestinationRecord[];
96
+ generateEventInvokeConfigCF(destination: LambdaDestination): any;
97
+ generateEventBridgeRuleCF(destination: EventBridgeDestination): any;
98
+ clear(): void;
99
+ }
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Global Lambda DLQ manager instance
3
+ */
4
+ export declare const lambdaDLQManager: LambdaDLQManager;
5
+ /**
6
+ * Lambda Dead Letter Queue (DLQ)
7
+ * Error handling and failed event management
8
+ */
9
+ export declare interface DLQConfig {
10
+ id: string
11
+ functionName: string
12
+ targetArn: string
13
+ targetType: 'sqs' | 'sns'
14
+ maxReceiveCount?: number
15
+ retentionPeriod?: number
16
+ }
17
+ export declare interface DLQMessage {
18
+ id: string
19
+ functionName: string
20
+ requestId: string
21
+ timestamp: Date
22
+ errorMessage: string
23
+ errorType: string
24
+ stackTrace?: string
25
+ payload: any
26
+ attemptCount: number
27
+ }
28
+ export declare interface DLQAlarm {
29
+ id: string
30
+ dlqConfigId: string
31
+ alarmName: string
32
+ threshold: number
33
+ evaluationPeriods: number
34
+ notificationTopicArn?: string
35
+ enabled: boolean
36
+ }
37
+ export declare interface DLQReprocessing {
38
+ id: string
39
+ dlqConfigId: string
40
+ messageId: string
41
+ status: 'pending' | 'processing' | 'success' | 'failed'
42
+ startedAt?: Date
43
+ completedAt?: Date
44
+ error?: string
45
+ }
46
+ /**
47
+ * Lambda DLQ manager
48
+ */
49
+ export declare class LambdaDLQManager {
50
+ private dlqConfigs: Map<string, DLQConfig>;
51
+ private messages: Map<string, DLQMessage>;
52
+ private alarms: Map<string, DLQAlarm>;
53
+ private reprocessing: Map<string, DLQReprocessing>;
54
+ private configCounter: any;
55
+ private messageCounter: any;
56
+ private alarmCounter: any;
57
+ private reprocessCounter: any;
58
+ configureDLQ(config: Omit<DLQConfig, 'id'>): DLQConfig;
59
+ configureSQSDLQ(options: {
60
+ functionName: string
61
+ queueArn: string
62
+ maxReceiveCount?: number
63
+ retentionPeriod?: number
64
+ }): DLQConfig;
65
+ configureSNSDLQ(options: {
66
+ functionName: string
67
+ topicArn: string
68
+ }): DLQConfig;
69
+ configureDLQWithAlarm(options: {
70
+ functionName: string
71
+ queueArn: string
72
+ alarmThreshold: number
73
+ notificationTopicArn: string
74
+ }): DLQConfig;
75
+ sendToDLQ(options: {
76
+ functionName: string
77
+ requestId: string
78
+ errorMessage: string
79
+ errorType: string
80
+ stackTrace?: string
81
+ payload: any
82
+ attemptCount: number
83
+ }): DLQMessage;
84
+ createDLQAlarm(alarm: Omit<DLQAlarm, 'id'>): DLQAlarm;
85
+ createAgeAlarm(options: {
86
+ dlqConfigId: string
87
+ maxAgeSeconds: number
88
+ notificationTopicArn: string
89
+ }): DLQAlarm;
90
+ reprocessMessage(messageId: string): Promise<DLQReprocessing>;
91
+ batchReprocess(options: {
92
+ dlqConfigId: string
93
+ maxMessages?: number
94
+ }): Promise<DLQReprocessing[]>;
95
+ getDLQStats(dlqConfigId: string): {
96
+ totalMessages: number
97
+ oldestMessage?: Date
98
+ newestMessage?: Date
99
+ averageAttempts: number
100
+ errorTypes: Record<string, number>
101
+ };
102
+ getDLQConfig(id: string): DLQConfig | undefined;
103
+ listDLQConfigs(): DLQConfig[];
104
+ getDLQMessages(dlqConfigId: string): DLQMessage[];
105
+ generateDLQCF(config: DLQConfig): any;
106
+ generateSQSDLQCF(config: DLQConfig): any;
107
+ generateDLQAlarmCF(alarm: DLQAlarm): any;
108
+ clear(): void;
109
+ }
@@ -0,0 +1,6 @@
1
+ export * from './layers';
2
+ export * from './versions';
3
+ export * from './concurrency';
4
+ export * from './destinations';
5
+ export * from './vpc';
6
+ export * from './dlq';
File without changes
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Global Lambda layers manager instance
3
+ */
4
+ export declare const lambdaLayersManager: LambdaLayersManager;
5
+ /**
6
+ * Lambda Layers Management
7
+ * Reusable code and dependencies for Lambda functions
8
+ */
9
+ export declare interface LambdaLayer {
10
+ id: string
11
+ layerName: string
12
+ layerArn: string
13
+ version: number
14
+ description?: string
15
+ compatibleRuntimes: string[]
16
+ licenseInfo?: string
17
+ content: LayerContent
18
+ size: number
19
+ }
20
+ export declare interface LayerContent {
21
+ type: 's3' | 'zip'
22
+ s3Bucket?: string
23
+ s3Key?: string
24
+ s3ObjectVersion?: string
25
+ zipFile?: string
26
+ }
27
+ export declare interface LayerVersion {
28
+ id: string
29
+ layerName: string
30
+ version: number
31
+ createdAt: Date
32
+ compatibleRuntimes: string[]
33
+ size: number
34
+ codeHash: string
35
+ }
36
+ export declare interface LayerPermission {
37
+ id: string
38
+ layerName: string
39
+ version: number
40
+ principal: string
41
+ action: 'lambda:GetLayerVersion'
42
+ organizationId?: string
43
+ }
44
+ /**
45
+ * Lambda layers manager
46
+ */
47
+ export declare class LambdaLayersManager {
48
+ private layers: Map<string, LambdaLayer>;
49
+ private versions: Map<string, LayerVersion>;
50
+ private permissions: Map<string, LayerPermission>;
51
+ private layerCounter: any;
52
+ private versionCounter: any;
53
+ private permissionCounter: any;
54
+ createLayer(layer: Omit<LambdaLayer, 'id' | 'layerArn' | 'version'>): LambdaLayer;
55
+ createNodeDependenciesLayer(options: {
56
+ layerName: string
57
+ nodeVersion: string
58
+ s3Bucket: string
59
+ s3Key: string
60
+ }): LambdaLayer;
61
+ createUtilitiesLayer(options: {
62
+ layerName: string
63
+ runtimes: string[]
64
+ s3Bucket: string
65
+ s3Key: string
66
+ }): LambdaLayer;
67
+ publishVersion(layerId: string): LayerVersion;
68
+ addPermission(options: {
69
+ layerName: string
70
+ version: number
71
+ principal: string
72
+ organizationId?: string
73
+ }): LayerPermission;
74
+ private generateHash(): string;
75
+ getLayer(id: string): LambdaLayer | undefined;
76
+ listLayers(): LambdaLayer[];
77
+ getLayerVersions(layerName: string): LayerVersion[];
78
+ generateLayerCF(layer: LambdaLayer): any;
79
+ generateLayerPermissionCF(permission: LayerPermission): any;
80
+ clear(): void;
81
+ }
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Global Lambda versions manager instance
3
+ */
4
+ export declare const lambdaVersionsManager: LambdaVersionsManager;
5
+ /**
6
+ * Lambda Versions and Aliases
7
+ * Immutable versions and mutable aliases for Lambda functions
8
+ */
9
+ export declare interface LambdaVersion {
10
+ id: string
11
+ functionName: string
12
+ version: string
13
+ functionArn: string
14
+ codeHash: string
15
+ description?: string
16
+ runtime: string
17
+ memorySize: number
18
+ timeout: number
19
+ publishedAt: Date
20
+ }
21
+ export declare interface LambdaAlias {
22
+ id: string
23
+ functionName: string
24
+ aliasName: string
25
+ aliasArn: string
26
+ functionVersion: string
27
+ description?: string
28
+ routingConfig?: RoutingConfig
29
+ revisionId?: string
30
+ }
31
+ export declare interface RoutingConfig {
32
+ additionalVersionWeights?: Record<string, number>
33
+ }
34
+ export declare interface VersionDeployment {
35
+ id: string
36
+ functionName: string
37
+ fromVersion: string
38
+ toVersion: string
39
+ aliasName: string
40
+ strategy: 'all_at_once' | 'linear' | 'canary'
41
+ status: 'pending' | 'in_progress' | 'completed' | 'failed'
42
+ startedAt?: Date
43
+ completedAt?: Date
44
+ }
45
+ /**
46
+ * Lambda versions manager
47
+ */
48
+ export declare class LambdaVersionsManager {
49
+ private versions: Map<string, LambdaVersion>;
50
+ private aliases: Map<string, LambdaAlias>;
51
+ private deployments: Map<string, VersionDeployment>;
52
+ private versionCounter: any;
53
+ private aliasCounter: any;
54
+ private deploymentCounter: any;
55
+ publishVersion(options: {
56
+ functionName: string
57
+ description?: string
58
+ runtime: string
59
+ memorySize: number
60
+ timeout: number
61
+ }): LambdaVersion;
62
+ private getNextVersionNumber(functionName: string): number;
63
+ createAlias(alias: Omit<LambdaAlias, 'id' | 'aliasArn' | 'revisionId'>): LambdaAlias;
64
+ createProductionAlias(options: {
65
+ functionName: string
66
+ version: string
67
+ }): LambdaAlias;
68
+ createStagingAlias(options: {
69
+ functionName: string
70
+ version: string
71
+ }): LambdaAlias;
72
+ updateAlias(aliasId: string, newVersion: string): LambdaAlias;
73
+ configureWeightedRouting(aliasId: string, weights: Record<string, number>): LambdaAlias;
74
+ createCanaryDeployment(options: {
75
+ functionName: string
76
+ fromVersion: string
77
+ toVersion: string
78
+ aliasName: string
79
+ canaryWeight: number
80
+ }): VersionDeployment;
81
+ completeDeployment(deploymentId: string): VersionDeployment;
82
+ rollbackDeployment(deploymentId: string): VersionDeployment;
83
+ private generateHash(): string;
84
+ getVersion(id: string): LambdaVersion | undefined;
85
+ listVersions(functionName?: string): LambdaVersion[];
86
+ getAlias(id: string): LambdaAlias | undefined;
87
+ listAliases(functionName?: string): LambdaAlias[];
88
+ generateVersionCF(version: LambdaVersion): any;
89
+ generateAliasCF(alias: LambdaAlias): any;
90
+ clear(): void;
91
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Global Lambda VPC manager instance
3
+ */
4
+ export declare const lambdaVPCManager: LambdaVPCManager;
5
+ /**
6
+ * Lambda VPC Configuration
7
+ * VPC networking for Lambda functions
8
+ */
9
+ export declare interface LambdaVPCConfig {
10
+ id: string
11
+ functionName: string
12
+ vpcId: string
13
+ subnetIds: string[]
14
+ securityGroupIds: string[]
15
+ ipv6Allowed?: boolean
16
+ }
17
+ export declare interface VPCEndpoint {
18
+ id: string
19
+ vpcId: string
20
+ serviceName: string
21
+ endpointType: 'Interface' | 'Gateway'
22
+ subnetIds?: string[]
23
+ securityGroupIds?: string[]
24
+ privateDnsEnabled?: boolean
25
+ }
26
+ export declare interface NetworkInterface {
27
+ id: string
28
+ functionName: string
29
+ networkInterfaceId: string
30
+ subnetId: string
31
+ privateIpAddress: string
32
+ status: 'creating' | 'available' | 'in-use' | 'deleting'
33
+ attachedAt?: Date
34
+ }
35
+ export declare interface VPCConnectivity {
36
+ id: string
37
+ functionName: string
38
+ hasInternetAccess: boolean
39
+ hasNATGateway: boolean
40
+ hasVPCEndpoints: boolean
41
+ endpoints: string[]
42
+ recommendations: string[]
43
+ }
44
+ /**
45
+ * Lambda VPC manager
46
+ */
47
+ export declare class LambdaVPCManager {
48
+ private vpcConfigs: Map<string, LambdaVPCConfig>;
49
+ private endpoints: Map<string, VPCEndpoint>;
50
+ private networkInterfaces: Map<string, NetworkInterface>;
51
+ private connectivity: Map<string, VPCConnectivity>;
52
+ private configCounter: any;
53
+ private endpointCounter: any;
54
+ private eniCounter: any;
55
+ private connectivityCounter: any;
56
+ configureVPC(config: Omit<LambdaVPCConfig, 'id'>): LambdaVPCConfig;
57
+ configurePrivateVPC(options: {
58
+ functionName: string
59
+ vpcId: string
60
+ privateSubnetIds: string[]
61
+ securityGroupId: string
62
+ }): LambdaVPCConfig;
63
+ configureMultiAZVPC(options: {
64
+ functionName: string
65
+ vpcId: string
66
+ subnetIds: string[]
67
+ securityGroupIds: string[]
68
+ }): LambdaVPCConfig;
69
+ createVPCEndpoint(endpoint: Omit<VPCEndpoint, 'id'>): VPCEndpoint;
70
+ createS3Endpoint(options: {
71
+ vpcId: string
72
+ routeTableIds: string[]
73
+ }): VPCEndpoint;
74
+ createDynamoDBEndpoint(options: {
75
+ vpcId: string
76
+ routeTableIds: string[]
77
+ }): VPCEndpoint;
78
+ createSecretsManagerEndpoint(options: {
79
+ vpcId: string
80
+ subnetIds: string[]
81
+ securityGroupIds: string[]
82
+ }): VPCEndpoint;
83
+ private createNetworkInterface(options: {
84
+ functionName: string
85
+ subnetId: string
86
+ }): NetworkInterface;
87
+ analyzeConnectivity(options: {
88
+ functionName: string
89
+ hasNATGateway?: boolean
90
+ hasInternetGateway?: boolean
91
+ }): VPCConnectivity;
92
+ getVPCConfig(id: string): LambdaVPCConfig | undefined;
93
+ listVPCConfigs(functionName?: string): LambdaVPCConfig[];
94
+ getNetworkInterfaces(functionName: string): NetworkInterface[];
95
+ listVPCEndpoints(vpcId?: string): VPCEndpoint[];
96
+ generateVPCConfigCF(config: LambdaVPCConfig): any;
97
+ generateVPCEndpointCF(endpoint: VPCEndpoint): any;
98
+ generateSecurityGroupCF(options: {
99
+ groupName: string
100
+ vpcId: string
101
+ ingressRules?: Array<{
102
+ protocol: string
103
+ fromPort: number
104
+ toPort: number
105
+ cidrIp?: string
106
+ sourceSecurityGroupId?: string
107
+ }>
108
+ egressRules?: Array<{
109
+ protocol: string
110
+ fromPort: number
111
+ toPort: number
112
+ cidrIp?: string
113
+ }>
114
+ }): any;
115
+ clear(): void;
116
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Get local configuration
3
+ */
4
+ export declare function getLocalConfig(): LocalConfig;
5
+ /**
6
+ * Check if running in local development mode
7
+ */
8
+ export declare function isLocalDevelopment(): boolean;
9
+ /**
10
+ * Get AWS endpoint for service in local mode
11
+ */
12
+ export declare function getLocalEndpoint(service: string): string;
13
+ /**
14
+ * Get local credentials
15
+ */
16
+ export declare function getLocalCredentials(): {
17
+ accessKeyId: string
18
+ secretAccessKey: string
19
+ region: string
20
+ };
21
+ /**
22
+ * Create local environment variables for AWS CLI
23
+ */
24
+ export declare function getLocalEnvVars(): Record<string, string>;
25
+ /**
26
+ * Default local development configuration
27
+ */
28
+ export declare const defaultLocalConfig: LocalConfig;
29
+ /**
30
+ * Local development configuration
31
+ * Configures ts-cloud to use LocalStack and local services
32
+ */
33
+ export declare interface LocalConfig {
34
+ enabled: boolean
35
+ localstackEndpoint: string
36
+ postgresUrl: string
37
+ redisUrl: string
38
+ dynamodbEndpoint: string
39
+ s3Endpoint: string
40
+ emailEndpoint: string
41
+ awsRegion: string
42
+ awsAccessKeyId: string
43
+ awsSecretAccessKey: string
44
+ }
@@ -0,0 +1,2 @@
1
+ export * from './config';
2
+ export * from './mock-aws';