@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.
- package/dist/advanced-features.test.d.ts +0 -0
- package/dist/aws/cloudformation.d.ts +69 -0
- package/dist/aws/cloudfront.d.ts +21 -0
- package/dist/aws/credentials.d.ts +66 -0
- package/dist/aws/credentials.test.d.ts +0 -0
- package/dist/aws/index.d.ts +73 -0
- package/dist/aws/s3.d.ts +130 -0
- package/dist/aws/s3.test.d.ts +0 -0
- package/dist/aws/signature.d.ts +101 -0
- package/dist/aws/signature.test.d.ts +0 -0
- package/dist/backup/disaster-recovery.d.ts +98 -0
- package/dist/backup/disaster-recovery.test.d.ts +0 -0
- package/dist/backup/index.d.ts +24 -0
- package/dist/backup/manager.d.ts +112 -0
- package/dist/backup/manager.test.d.ts +0 -0
- package/dist/cicd/circleci.d.ts +47 -0
- package/dist/cicd/github-actions.d.ts +55 -0
- package/dist/cicd/gitlab-ci.d.ts +46 -0
- package/dist/cicd/index.d.ts +3 -0
- package/dist/cli/history.d.ts +66 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/progress.d.ts +97 -0
- package/dist/cli/repl.d.ts +76 -0
- package/dist/cli/suggestions.d.ts +67 -0
- package/dist/cli/table.d.ts +70 -0
- package/dist/cli/table.test.d.ts +0 -0
- package/dist/cloudformation/builder.d.ts +59 -0
- package/dist/cloudformation/builder.test.d.ts +0 -0
- package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
- package/dist/cloudformation/builders/cache.d.ts +35 -0
- package/dist/cloudformation/builders/cdn.d.ts +34 -0
- package/dist/cloudformation/builders/compute.d.ts +66 -0
- package/dist/cloudformation/builders/database.d.ts +61 -0
- package/dist/cloudformation/builders/functions.d.ts +32 -0
- package/dist/cloudformation/builders/messaging.d.ts +17 -0
- package/dist/cloudformation/builders/monitoring.d.ts +36 -0
- package/dist/cloudformation/builders/network.d.ts +14 -0
- package/dist/cloudformation/builders/queue.d.ts +8 -0
- package/dist/cloudformation/builders/security.d.ts +31 -0
- package/dist/cloudformation/builders/storage.d.ts +8 -0
- package/dist/cloudformation/index.d.ts +24 -0
- package/dist/cloudformation/types.d.ts +132 -0
- package/dist/compliance/aws-config.d.ts +88 -0
- package/dist/compliance/cloudtrail.d.ts +96 -0
- package/dist/compliance/compliance.test.d.ts +0 -0
- package/dist/compliance/guardduty.d.ts +110 -0
- package/dist/compliance/index.d.ts +50 -0
- package/dist/compliance/security-hub.d.ts +110 -0
- package/dist/containers/build-optimization.d.ts +110 -0
- package/dist/containers/containers.test.d.ts +0 -0
- package/dist/containers/image-scanning.d.ts +96 -0
- package/dist/containers/index.d.ts +4 -0
- package/dist/containers/registry.d.ts +99 -0
- package/dist/containers/service-mesh.d.ts +206 -0
- package/dist/database/database.test.d.ts +0 -0
- package/dist/database/index.d.ts +4 -0
- package/dist/database/migrations.d.ts +102 -0
- package/dist/database/performance.d.ts +168 -0
- package/dist/database/replicas.d.ts +146 -0
- package/dist/database/users.d.ts +102 -0
- package/dist/dependency-graph.d.ts +19 -0
- package/dist/deployment/ab-testing.d.ts +114 -0
- package/dist/deployment/blue-green.d.ts +98 -0
- package/dist/deployment/canary.d.ts +103 -0
- package/dist/deployment/deployment.test.d.ts +0 -0
- package/dist/deployment/index.d.ts +45 -0
- package/dist/deployment/progressive.d.ts +34 -0
- package/dist/dns/dns.test.d.ts +0 -0
- package/dist/dns/dnssec.d.ts +75 -0
- package/dist/dns/index.d.ts +3 -0
- package/dist/dns/resolver.d.ts +150 -0
- package/dist/dns/routing.d.ts +217 -0
- package/dist/email/advanced/analytics.d.ts +78 -0
- package/dist/email/advanced/index.d.ts +7 -0
- package/dist/email/advanced/rules.d.ts +60 -0
- package/dist/email/advanced/scheduling.d.ts +63 -0
- package/dist/email/advanced/search.d.ts +76 -0
- package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
- package/dist/email/advanced/templates.d.ts +39 -0
- package/dist/email/advanced/threading.d.ts +53 -0
- package/dist/email/analytics.d.ts +144 -0
- package/dist/email/bounce-handling.d.ts +120 -0
- package/dist/email/email.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
- package/dist/email/handlers/converter.d.ts +225 -0
- package/dist/email/handlers/feedback.d.ts +226 -0
- package/dist/email/handlers/inbound.d.ts +167 -0
- package/dist/email/handlers/outbound.d.ts +176 -0
- package/dist/email/index.d.ts +6 -0
- package/dist/email/reputation.d.ts +97 -0
- package/dist/email/templates.d.ts +82 -0
- package/dist/errors/index.d.ts +186 -0
- package/dist/errors/index.test.d.ts +0 -0
- package/dist/health-checks/index.d.ts +35 -0
- package/dist/index.d.ts +256 -0
- package/dist/index.js +63499 -0
- package/dist/intrinsic-functions.d.ts +37 -0
- package/dist/lambda/concurrency.d.ts +98 -0
- package/dist/lambda/destinations.d.ts +99 -0
- package/dist/lambda/dlq.d.ts +109 -0
- package/dist/lambda/index.d.ts +6 -0
- package/dist/lambda/lambda.test.d.ts +0 -0
- package/dist/lambda/layers.d.ts +81 -0
- package/dist/lambda/versions.d.ts +91 -0
- package/dist/lambda/vpc.d.ts +116 -0
- package/dist/local/config.d.ts +44 -0
- package/dist/local/index.d.ts +2 -0
- package/dist/local/mock-aws.d.ts +60 -0
- package/dist/modules/ai.d.ts +47 -0
- package/dist/modules/api.d.ts +98 -0
- package/dist/modules/auth.d.ts +165 -0
- package/dist/modules/cache.d.ts +73 -0
- package/dist/modules/cdn.d.ts +125 -0
- package/dist/modules/communication.d.ts +98 -0
- package/dist/modules/compute.d.ts +309 -0
- package/dist/modules/database.d.ts +105 -0
- package/dist/modules/deployment.d.ts +181 -0
- package/dist/modules/dns.d.ts +45 -0
- package/dist/modules/email.d.ts +217 -0
- package/dist/modules/filesystem.d.ts +94 -0
- package/dist/modules/index.d.ts +27 -0
- package/dist/modules/messaging.d.ts +108 -0
- package/dist/modules/monitoring.d.ts +127 -0
- package/dist/modules/network.d.ts +102 -0
- package/dist/modules/parameter-store.d.ts +33 -0
- package/dist/modules/permissions.d.ts +132 -0
- package/dist/modules/phone.d.ts +80 -0
- package/dist/modules/queue.d.ts +210 -0
- package/dist/modules/redirects.d.ts +59 -0
- package/dist/modules/registry.d.ts +73 -0
- package/dist/modules/search.d.ts +56 -0
- package/dist/modules/secrets.d.ts +80 -0
- package/dist/modules/security.d.ts +100 -0
- package/dist/modules/sms.d.ts +52 -0
- package/dist/modules/storage.d.ts +160 -0
- package/dist/modules/workflow.d.ts +205 -0
- package/dist/multi-account/config.d.ts +315 -0
- package/dist/multi-account/index.d.ts +2 -0
- package/dist/multi-account/manager.d.ts +100 -0
- package/dist/multi-region/cross-region.d.ts +114 -0
- package/dist/multi-region/index.d.ts +3 -0
- package/dist/multi-region/manager.d.ts +72 -0
- package/dist/multi-region/regions.d.ts +98 -0
- package/dist/network-security/index.d.ts +39 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/logs.d.ts +129 -0
- package/dist/observability/metrics.d.ts +153 -0
- package/dist/observability/observability.test.d.ts +0 -0
- package/dist/observability/synthetics.d.ts +146 -0
- package/dist/observability/xray.d.ts +129 -0
- package/dist/phone/advanced/analytics.d.ts +66 -0
- package/dist/phone/advanced/callbacks.d.ts +50 -0
- package/dist/phone/advanced/index.d.ts +4 -0
- package/dist/phone/advanced/ivr-builder.d.ts +83 -0
- package/dist/phone/advanced/recording.d.ts +48 -0
- package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
- package/dist/phone/handlers/incoming-call.d.ts +115 -0
- package/dist/phone/handlers/missed-call.d.ts +114 -0
- package/dist/phone/handlers/voicemail.d.ts +177 -0
- package/dist/phone/index.d.ts +2 -0
- package/dist/presets/api-backend.d.ts +11 -0
- package/dist/presets/data-pipeline.d.ts +11 -0
- package/dist/presets/extend.d.ts +194 -0
- package/dist/presets/extend.test.d.ts +0 -0
- package/dist/presets/fullstack-app.d.ts +12 -0
- package/dist/presets/index.d.ts +24 -0
- package/dist/presets/jamstack.d.ts +12 -0
- package/dist/presets/microservices.d.ts +18 -0
- package/dist/presets/ml-api.d.ts +13 -0
- package/dist/presets/nodejs-server.d.ts +14 -0
- package/dist/presets/nodejs-serverless.d.ts +14 -0
- package/dist/presets/realtime-app.d.ts +11 -0
- package/dist/presets/static-site.d.ts +12 -0
- package/dist/presets/traditional-web-app.d.ts +16 -0
- package/dist/presets/wordpress.d.ts +12 -0
- package/dist/preview/github.d.ts +32 -0
- package/dist/preview/github.test.d.ts +0 -0
- package/dist/preview/index.d.ts +27 -0
- package/dist/preview/manager.d.ts +58 -0
- package/dist/preview/manager.test.d.ts +0 -0
- package/dist/preview/notifications.d.ts +55 -0
- package/dist/preview/notifications.test.d.ts +0 -0
- package/dist/queue/batch-processing.d.ts +87 -0
- package/dist/queue/dlq-monitoring.d.ts +95 -0
- package/dist/queue/fifo.d.ts +90 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/management.d.ts +105 -0
- package/dist/queue/queue.test.d.ts +0 -0
- package/dist/resource-mgmt/index.d.ts +29 -0
- package/dist/resource-naming.d.ts +26 -0
- package/dist/s3/index.d.ts +173 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/security/certificate-manager.d.ts +121 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/scanning.d.ts +147 -0
- package/dist/security/secrets-manager.d.ts +144 -0
- package/dist/security/secrets-rotation.d.ts +115 -0
- package/dist/security/security.test.d.ts +0 -0
- package/dist/sms/advanced/ab-testing.d.ts +54 -0
- package/dist/sms/advanced/analytics.d.ts +56 -0
- package/dist/sms/advanced/campaigns.d.ts +82 -0
- package/dist/sms/advanced/chatbot.d.ts +48 -0
- package/dist/sms/advanced/index.d.ts +6 -0
- package/dist/sms/advanced/link-tracking.d.ts +42 -0
- package/dist/sms/advanced/mms.d.ts +35 -0
- package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
- package/dist/sms/handlers/delivery-status.d.ts +131 -0
- package/dist/sms/handlers/receive.d.ts +160 -0
- package/dist/sms/handlers/send.d.ts +172 -0
- package/dist/sms/index.d.ts +2 -0
- package/dist/stack-diff.d.ts +34 -0
- package/dist/static-site/index.d.ts +49 -0
- package/dist/template-builder.d.ts +14 -0
- package/dist/template-validator.d.ts +24 -0
- package/dist/utils/cache.d.ts +55 -0
- package/dist/utils/diff.d.ts +48 -0
- package/dist/utils/hash.d.ts +58 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/parallel.d.ts +60 -0
- package/dist/validators/credentials.d.ts +23 -0
- package/dist/validators/credentials.test.d.ts +0 -0
- package/dist/validators/quotas.d.ts +60 -0
- package/dist/validators/quotas.test.d.ts +0 -0
- 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
|
+
}
|
|
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
|
+
}
|