@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,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global container registry manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const containerRegistryManager: ContainerRegistryManager;
|
|
5
|
+
/**
|
|
6
|
+
* Private Container Registry
|
|
7
|
+
* ECR repository management and access control
|
|
8
|
+
*/
|
|
9
|
+
export declare interface ContainerRegistry {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
registryType: 'ecr' | 'dockerhub' | 'gcr' | 'acr'
|
|
13
|
+
repositoryUri: string
|
|
14
|
+
region?: string
|
|
15
|
+
encryption?: RegistryEncryption
|
|
16
|
+
scanning?: ScanningConfig
|
|
17
|
+
lifecycle?: LifecyclePolicy
|
|
18
|
+
replication?: ReplicationConfig
|
|
19
|
+
}
|
|
20
|
+
export declare interface RegistryEncryption {
|
|
21
|
+
encryptionType: 'AES256' | 'KMS'
|
|
22
|
+
kmsKeyId?: string
|
|
23
|
+
}
|
|
24
|
+
export declare interface ScanningConfig {
|
|
25
|
+
scanOnPush: boolean
|
|
26
|
+
scanFilters?: ScanFilter[]
|
|
27
|
+
}
|
|
28
|
+
export declare interface ScanFilter {
|
|
29
|
+
tagPattern: string
|
|
30
|
+
scanFrequency: 'on_push' | 'daily' | 'weekly'
|
|
31
|
+
}
|
|
32
|
+
export declare interface LifecyclePolicy {
|
|
33
|
+
id: string
|
|
34
|
+
rules: LifecycleRule[]
|
|
35
|
+
}
|
|
36
|
+
export declare interface LifecycleRule {
|
|
37
|
+
rulePriority: number
|
|
38
|
+
description: string
|
|
39
|
+
selection: {
|
|
40
|
+
tagStatus: 'tagged' | 'untagged' | 'any'
|
|
41
|
+
tagPrefixList?: string[]
|
|
42
|
+
countType: 'imageCountMoreThan' | 'sinceImagePushed'
|
|
43
|
+
countNumber: number
|
|
44
|
+
countUnit?: 'days'
|
|
45
|
+
}
|
|
46
|
+
action: {
|
|
47
|
+
type: 'expire'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export declare interface ReplicationConfig {
|
|
51
|
+
enabled: boolean
|
|
52
|
+
destinations: ReplicationDestination[]
|
|
53
|
+
rules?: ReplicationRule[]
|
|
54
|
+
}
|
|
55
|
+
export declare interface ReplicationDestination {
|
|
56
|
+
region: string
|
|
57
|
+
registryId?: string
|
|
58
|
+
}
|
|
59
|
+
export declare interface ReplicationRule {
|
|
60
|
+
repositoryFilter: string[]
|
|
61
|
+
destinations: ReplicationDestination[]
|
|
62
|
+
}
|
|
63
|
+
export declare interface RegistryCredentials {
|
|
64
|
+
id: string
|
|
65
|
+
registryId: string
|
|
66
|
+
username: string
|
|
67
|
+
passwordSecretArn: string
|
|
68
|
+
expiresAt?: Date
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Container registry manager
|
|
72
|
+
*/
|
|
73
|
+
export declare class ContainerRegistryManager {
|
|
74
|
+
private registries: Map<string, ContainerRegistry>;
|
|
75
|
+
private credentials: Map<string, RegistryCredentials>;
|
|
76
|
+
private registryCounter: any;
|
|
77
|
+
private credentialsCounter: any;
|
|
78
|
+
createRegistry(registry: Omit<ContainerRegistry, 'id'>): ContainerRegistry;
|
|
79
|
+
createECRRepository(options: {
|
|
80
|
+
name: string
|
|
81
|
+
region?: string
|
|
82
|
+
scanOnPush?: boolean
|
|
83
|
+
encryption?: 'AES256' | 'KMS'
|
|
84
|
+
kmsKeyId?: string
|
|
85
|
+
}): ContainerRegistry;
|
|
86
|
+
createManagedRepository(options: {
|
|
87
|
+
name: string
|
|
88
|
+
region?: string
|
|
89
|
+
maxImageCount?: number
|
|
90
|
+
maxImageAgeDays?: number
|
|
91
|
+
}): ContainerRegistry;
|
|
92
|
+
enableReplication(registryId: string, destinations: ReplicationDestination[]): ContainerRegistry;
|
|
93
|
+
createCredentials(credentials: Omit<RegistryCredentials, 'id'>): RegistryCredentials;
|
|
94
|
+
getRegistry(id: string): ContainerRegistry | undefined;
|
|
95
|
+
listRegistries(): ContainerRegistry[];
|
|
96
|
+
generateECRRepositoryCF(registry: ContainerRegistry): any;
|
|
97
|
+
generateReplicationConfigCF(replication: ReplicationConfig): any;
|
|
98
|
+
clear(): void;
|
|
99
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global service mesh manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const serviceMeshManager: ServiceMeshManager;
|
|
5
|
+
/**
|
|
6
|
+
* Service Mesh Integration
|
|
7
|
+
* AWS App Mesh configuration for microservices
|
|
8
|
+
*/
|
|
9
|
+
export declare interface ServiceMesh {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
meshType: 'app_mesh' | 'istio' | 'linkerd'
|
|
13
|
+
services: MeshService[]
|
|
14
|
+
virtualNodes?: VirtualNode[]
|
|
15
|
+
virtualRouters?: VirtualRouter[]
|
|
16
|
+
virtualGateways?: VirtualGateway[]
|
|
17
|
+
}
|
|
18
|
+
export declare interface MeshService {
|
|
19
|
+
id: string
|
|
20
|
+
name: string
|
|
21
|
+
namespace: string
|
|
22
|
+
port: number
|
|
23
|
+
protocol: 'http' | 'http2' | 'grpc' | 'tcp'
|
|
24
|
+
backends?: string[]
|
|
25
|
+
healthCheck?: HealthCheck
|
|
26
|
+
}
|
|
27
|
+
export declare interface VirtualNode {
|
|
28
|
+
id: string
|
|
29
|
+
name: string
|
|
30
|
+
serviceName: string
|
|
31
|
+
listeners: Listener[]
|
|
32
|
+
backends?: Backend[]
|
|
33
|
+
serviceDiscovery: ServiceDiscovery
|
|
34
|
+
}
|
|
35
|
+
export declare interface Listener {
|
|
36
|
+
port: number
|
|
37
|
+
protocol: 'http' | 'http2' | 'grpc' | 'tcp'
|
|
38
|
+
healthCheck?: HealthCheck
|
|
39
|
+
timeout?: Timeout
|
|
40
|
+
tls?: TLSConfig
|
|
41
|
+
}
|
|
42
|
+
export declare interface HealthCheck {
|
|
43
|
+
protocol: 'http' | 'tcp' | 'grpc'
|
|
44
|
+
path?: string
|
|
45
|
+
port?: number
|
|
46
|
+
interval: number
|
|
47
|
+
timeout: number
|
|
48
|
+
healthyThreshold: number
|
|
49
|
+
unhealthyThreshold: number
|
|
50
|
+
}
|
|
51
|
+
export declare interface Timeout {
|
|
52
|
+
perRequest?: number
|
|
53
|
+
idle?: number
|
|
54
|
+
}
|
|
55
|
+
export declare interface TLSConfig {
|
|
56
|
+
mode: 'STRICT' | 'PERMISSIVE' | 'DISABLED'
|
|
57
|
+
certificate?: {
|
|
58
|
+
acm?: string
|
|
59
|
+
file?: {
|
|
60
|
+
certificateChain: string
|
|
61
|
+
privateKey: string
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
validation?: {
|
|
65
|
+
trust: {
|
|
66
|
+
acm?: string[]
|
|
67
|
+
file?: {
|
|
68
|
+
certificateChain: string
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export declare interface Backend {
|
|
74
|
+
virtualServiceName: string
|
|
75
|
+
clientPolicy?: ClientPolicy
|
|
76
|
+
}
|
|
77
|
+
export declare interface ClientPolicy {
|
|
78
|
+
tls?: {
|
|
79
|
+
enforce: boolean
|
|
80
|
+
ports?: number[]
|
|
81
|
+
validation: {
|
|
82
|
+
trust: {
|
|
83
|
+
acm?: string[]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export declare interface ServiceDiscovery {
|
|
89
|
+
type: 'aws_cloud_map' | 'dns'
|
|
90
|
+
namespace?: string
|
|
91
|
+
serviceName?: string
|
|
92
|
+
hostname?: string
|
|
93
|
+
}
|
|
94
|
+
export declare interface VirtualRouter {
|
|
95
|
+
id: string
|
|
96
|
+
name: string
|
|
97
|
+
listeners: RouterListener[]
|
|
98
|
+
routes: Route[]
|
|
99
|
+
}
|
|
100
|
+
export declare interface RouterListener {
|
|
101
|
+
port: number
|
|
102
|
+
protocol: 'http' | 'http2' | 'grpc' | 'tcp'
|
|
103
|
+
}
|
|
104
|
+
export declare interface Route {
|
|
105
|
+
name: string
|
|
106
|
+
match: RouteMatch
|
|
107
|
+
action: RouteAction
|
|
108
|
+
priority?: number
|
|
109
|
+
retryPolicy?: RetryPolicy
|
|
110
|
+
}
|
|
111
|
+
export declare interface RouteMatch {
|
|
112
|
+
prefix?: string
|
|
113
|
+
path?: string
|
|
114
|
+
headers?: HeaderMatch[]
|
|
115
|
+
method?: string
|
|
116
|
+
}
|
|
117
|
+
export declare interface HeaderMatch {
|
|
118
|
+
name: string
|
|
119
|
+
match?: {
|
|
120
|
+
exact?: string
|
|
121
|
+
prefix?: string
|
|
122
|
+
suffix?: string
|
|
123
|
+
regex?: string
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export declare interface RouteAction {
|
|
127
|
+
weightedTargets: WeightedTarget[]
|
|
128
|
+
}
|
|
129
|
+
export declare interface WeightedTarget {
|
|
130
|
+
virtualNode: string
|
|
131
|
+
weight: number
|
|
132
|
+
port?: number
|
|
133
|
+
}
|
|
134
|
+
export declare interface RetryPolicy {
|
|
135
|
+
maxRetries: number
|
|
136
|
+
perRetryTimeout: number
|
|
137
|
+
httpRetryEvents?: string[]
|
|
138
|
+
tcpRetryEvents?: string[]
|
|
139
|
+
}
|
|
140
|
+
export declare interface VirtualGateway {
|
|
141
|
+
id: string
|
|
142
|
+
name: string
|
|
143
|
+
listeners: GatewayListener[]
|
|
144
|
+
logging?: {
|
|
145
|
+
accessLog?: {
|
|
146
|
+
file?: {
|
|
147
|
+
path: string
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
export declare interface GatewayListener {
|
|
153
|
+
port: number
|
|
154
|
+
protocol: 'http' | 'http2' | 'grpc'
|
|
155
|
+
healthCheck?: HealthCheck
|
|
156
|
+
tls?: TLSConfig
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Service mesh manager
|
|
160
|
+
*/
|
|
161
|
+
export declare class ServiceMeshManager {
|
|
162
|
+
private meshes: Map<string, ServiceMesh>;
|
|
163
|
+
private virtualNodes: Map<string, VirtualNode>;
|
|
164
|
+
private virtualRouters: Map<string, VirtualRouter>;
|
|
165
|
+
private virtualGateways: Map<string, VirtualGateway>;
|
|
166
|
+
private meshCounter: any;
|
|
167
|
+
private nodeCounter: any;
|
|
168
|
+
private routerCounter: any;
|
|
169
|
+
private gatewayCounter: any;
|
|
170
|
+
createMesh(mesh: Omit<ServiceMesh, 'id'>): ServiceMesh;
|
|
171
|
+
createAppMesh(options: {
|
|
172
|
+
name: string
|
|
173
|
+
services: MeshService[]
|
|
174
|
+
}): ServiceMesh;
|
|
175
|
+
createVirtualNode(node: Omit<VirtualNode, 'id'>): VirtualNode;
|
|
176
|
+
createHTTPVirtualNode(options: {
|
|
177
|
+
name: string
|
|
178
|
+
serviceName: string
|
|
179
|
+
port: number
|
|
180
|
+
namespace: string
|
|
181
|
+
}): VirtualNode;
|
|
182
|
+
createVirtualRouter(router: Omit<VirtualRouter, 'id'>): VirtualRouter;
|
|
183
|
+
createCanaryRoute(options: {
|
|
184
|
+
name: string
|
|
185
|
+
port: number
|
|
186
|
+
protocol: 'http' | 'http2' | 'grpc'
|
|
187
|
+
stableTarget: string
|
|
188
|
+
canaryTarget: string
|
|
189
|
+
canaryWeight: number // 0-100
|
|
190
|
+
}): VirtualRouter;
|
|
191
|
+
createVirtualGateway(gateway: Omit<VirtualGateway, 'id'>): VirtualGateway;
|
|
192
|
+
createIngressGateway(options: {
|
|
193
|
+
name: string
|
|
194
|
+
port: number
|
|
195
|
+
enableTLS?: boolean
|
|
196
|
+
certificateArn?: string
|
|
197
|
+
}): VirtualGateway;
|
|
198
|
+
getMesh(id: string): ServiceMesh | undefined;
|
|
199
|
+
listMeshes(): ServiceMesh[];
|
|
200
|
+
getVirtualNode(id: string): VirtualNode | undefined;
|
|
201
|
+
listVirtualNodes(): VirtualNode[];
|
|
202
|
+
generateMeshCF(mesh: ServiceMesh): any;
|
|
203
|
+
generateVirtualNodeCF(node: VirtualNode, meshName: string): any;
|
|
204
|
+
generateVirtualRouterCF(router: VirtualRouter, meshName: string): any;
|
|
205
|
+
clear(): void;
|
|
206
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global migration manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const migrationManager: MigrationManager;
|
|
5
|
+
/**
|
|
6
|
+
* Database Migration Management
|
|
7
|
+
* Version-controlled schema changes with rollback support
|
|
8
|
+
*/
|
|
9
|
+
export declare interface Migration {
|
|
10
|
+
id: string
|
|
11
|
+
version: string
|
|
12
|
+
name: string
|
|
13
|
+
description?: string
|
|
14
|
+
up: string
|
|
15
|
+
down: string
|
|
16
|
+
checksum: string
|
|
17
|
+
appliedAt?: Date
|
|
18
|
+
rolledBackAt?: Date
|
|
19
|
+
executionTimeMs?: number
|
|
20
|
+
}
|
|
21
|
+
export declare interface MigrationPlan {
|
|
22
|
+
id: string
|
|
23
|
+
name: string
|
|
24
|
+
database: DatabaseTarget
|
|
25
|
+
migrations: Migration[]
|
|
26
|
+
autoApply?: boolean
|
|
27
|
+
backupBeforeMigration?: boolean
|
|
28
|
+
testMigrations?: boolean
|
|
29
|
+
validateRollback?: boolean
|
|
30
|
+
}
|
|
31
|
+
export declare interface DatabaseTarget {
|
|
32
|
+
type: 'rds' | 'aurora' | 'dynamodb'
|
|
33
|
+
identifier: string
|
|
34
|
+
engine?: 'postgres' | 'mysql' | 'mariadb'
|
|
35
|
+
endpoint?: string
|
|
36
|
+
database?: string
|
|
37
|
+
}
|
|
38
|
+
export declare interface MigrationResult {
|
|
39
|
+
success: boolean
|
|
40
|
+
version: string
|
|
41
|
+
appliedMigrations: string[]
|
|
42
|
+
failedMigrations: string[]
|
|
43
|
+
executionTimeMs: number
|
|
44
|
+
error?: string
|
|
45
|
+
rollbackPerformed?: boolean
|
|
46
|
+
}
|
|
47
|
+
export declare interface MigrationStatus {
|
|
48
|
+
currentVersion: string
|
|
49
|
+
pendingMigrations: Migration[]
|
|
50
|
+
appliedMigrations: Migration[]
|
|
51
|
+
lastMigration?: Migration
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Schema change types
|
|
55
|
+
*/
|
|
56
|
+
export declare interface SchemaChange {
|
|
57
|
+
type: 'add_column' | 'drop_column' | 'modify_column' | 'add_index' | 'drop_index'
|
|
58
|
+
columnName?: string
|
|
59
|
+
columnType?: string
|
|
60
|
+
newType?: string
|
|
61
|
+
nullable?: boolean
|
|
62
|
+
defaultValue?: string
|
|
63
|
+
indexName?: string
|
|
64
|
+
columns?: string[]
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Migration manager
|
|
68
|
+
*/
|
|
69
|
+
export declare class MigrationManager {
|
|
70
|
+
private plans: Map<string, MigrationPlan>;
|
|
71
|
+
private migrations: Map<string, Migration>;
|
|
72
|
+
private planCounter: any;
|
|
73
|
+
private migrationCounter: any;
|
|
74
|
+
createPlan(plan: Omit<MigrationPlan, 'id'>): MigrationPlan;
|
|
75
|
+
createMigration(migration: Omit<Migration, 'id' | 'checksum'>): Migration;
|
|
76
|
+
createSchemaMigration(options: {
|
|
77
|
+
version: string
|
|
78
|
+
name: string
|
|
79
|
+
tableName: string
|
|
80
|
+
changes: SchemaChange[]
|
|
81
|
+
engine?: 'postgres' | 'mysql'
|
|
82
|
+
}): Migration;
|
|
83
|
+
createDataMigration(options: {
|
|
84
|
+
version: string
|
|
85
|
+
name: string
|
|
86
|
+
description?: string
|
|
87
|
+
upSQL: string
|
|
88
|
+
downSQL: string
|
|
89
|
+
}): Migration;
|
|
90
|
+
addMigrationToPlan(planId: string, migration: Migration): void;
|
|
91
|
+
executePlan(planId: string, dryRun?: boolean): Promise<MigrationResult>;
|
|
92
|
+
private rollbackMigrations(versions: string[], plan: MigrationPlan): Promise<void>;
|
|
93
|
+
getMigrationStatus(planId: string): MigrationStatus;
|
|
94
|
+
private generateSchemaSQL(changes: SchemaChange[], tableName: string, engine?: 'postgres' | 'mysql'): { up: string; down: string };
|
|
95
|
+
private generateChecksum(content: string): string;
|
|
96
|
+
validatePlan(planId: string): { valid: boolean; errors: string[] };
|
|
97
|
+
getPlan(id: string): MigrationPlan | undefined;
|
|
98
|
+
listPlans(): MigrationPlan[];
|
|
99
|
+
getMigration(id: string): Migration | undefined;
|
|
100
|
+
listMigrations(): Migration[];
|
|
101
|
+
clear(): void;
|
|
102
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global performance manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const performanceManager: PerformanceManager;
|
|
5
|
+
/**
|
|
6
|
+
* Database Performance Monitoring
|
|
7
|
+
* Query performance insights, slow query detection, and optimization
|
|
8
|
+
*/
|
|
9
|
+
export declare interface PerformanceInsights {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
databaseIdentifier: string
|
|
13
|
+
enabled: boolean
|
|
14
|
+
retentionPeriod: number
|
|
15
|
+
kmsKeyId?: string
|
|
16
|
+
}
|
|
17
|
+
export declare interface SlowQueryLog {
|
|
18
|
+
id: string
|
|
19
|
+
name: string
|
|
20
|
+
databaseIdentifier: string
|
|
21
|
+
enabled: boolean
|
|
22
|
+
logDestination: 'cloudwatch' | 's3'
|
|
23
|
+
cloudwatchLogGroup?: string
|
|
24
|
+
s3Bucket?: string
|
|
25
|
+
s3Prefix?: string
|
|
26
|
+
minExecutionTime?: number
|
|
27
|
+
}
|
|
28
|
+
export declare interface QueryMetric {
|
|
29
|
+
id: string
|
|
30
|
+
queryId: string
|
|
31
|
+
sql: string
|
|
32
|
+
executionCount: number
|
|
33
|
+
avgExecutionTime: number
|
|
34
|
+
maxExecutionTime: number
|
|
35
|
+
minExecutionTime: number
|
|
36
|
+
totalCPUTime: number
|
|
37
|
+
totalIOWait: number
|
|
38
|
+
totalLockWait: number
|
|
39
|
+
rowsExamined: number
|
|
40
|
+
rowsReturned: number
|
|
41
|
+
timestamp: Date
|
|
42
|
+
}
|
|
43
|
+
export declare interface PerformanceReport {
|
|
44
|
+
id: string
|
|
45
|
+
name: string
|
|
46
|
+
databaseIdentifier: string
|
|
47
|
+
reportType: 'daily' | 'weekly' | 'monthly'
|
|
48
|
+
metrics: PerformanceMetrics
|
|
49
|
+
topQueries: QueryMetric[]
|
|
50
|
+
slowQueries: QueryMetric[]
|
|
51
|
+
recommendations: PerformanceRecommendation[]
|
|
52
|
+
generatedAt: Date
|
|
53
|
+
}
|
|
54
|
+
export declare interface PerformanceMetrics {
|
|
55
|
+
avgCPU: number
|
|
56
|
+
maxCPU: number
|
|
57
|
+
avgConnections: number
|
|
58
|
+
maxConnections: number
|
|
59
|
+
avgReadIOPS: number
|
|
60
|
+
avgWriteIOPS: number
|
|
61
|
+
avgReadThroughput: number
|
|
62
|
+
avgWriteThroughput: number
|
|
63
|
+
avgReadLatency: number
|
|
64
|
+
avgWriteLatency: number
|
|
65
|
+
cacheHitRatio: number
|
|
66
|
+
deadlocks: number
|
|
67
|
+
longRunningTransactions: number
|
|
68
|
+
}
|
|
69
|
+
export declare interface PerformanceRecommendation {
|
|
70
|
+
type: 'index' | 'query' | 'schema' | 'configuration' | 'scaling'
|
|
71
|
+
severity: 'high' | 'medium' | 'low'
|
|
72
|
+
title: string
|
|
73
|
+
description: string
|
|
74
|
+
impact: string
|
|
75
|
+
effort: 'low' | 'medium' | 'high'
|
|
76
|
+
sqlExample?: string
|
|
77
|
+
}
|
|
78
|
+
export declare interface IndexRecommendation {
|
|
79
|
+
id: string
|
|
80
|
+
tableName: string
|
|
81
|
+
columns: string[]
|
|
82
|
+
reason: string
|
|
83
|
+
estimatedImprovement: number
|
|
84
|
+
estimatedSize: number
|
|
85
|
+
createSQL: string
|
|
86
|
+
}
|
|
87
|
+
export declare interface QueryAnalysis {
|
|
88
|
+
id: string
|
|
89
|
+
queryId: string
|
|
90
|
+
sql: string
|
|
91
|
+
executionPlan: ExecutionPlanNode[]
|
|
92
|
+
bottlenecks: Bottleneck[]
|
|
93
|
+
recommendations: string[]
|
|
94
|
+
estimatedCost: number
|
|
95
|
+
}
|
|
96
|
+
export declare interface ExecutionPlanNode {
|
|
97
|
+
id: number
|
|
98
|
+
operation: string
|
|
99
|
+
table?: string
|
|
100
|
+
rows: number
|
|
101
|
+
cost: number
|
|
102
|
+
children?: ExecutionPlanNode[]
|
|
103
|
+
}
|
|
104
|
+
export declare interface Bottleneck {
|
|
105
|
+
type: 'full_table_scan' | 'missing_index' | 'suboptimal_join' | 'high_cardinality'
|
|
106
|
+
severity: 'critical' | 'warning' | 'info'
|
|
107
|
+
description: string
|
|
108
|
+
tableName?: string
|
|
109
|
+
columnName?: string
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Performance manager
|
|
113
|
+
*/
|
|
114
|
+
export declare class PerformanceManager {
|
|
115
|
+
private insights: Map<string, PerformanceInsights>;
|
|
116
|
+
private slowQueryLogs: Map<string, SlowQueryLog>;
|
|
117
|
+
private queryMetrics: Map<string, QueryMetric>;
|
|
118
|
+
private reports: Map<string, PerformanceReport>;
|
|
119
|
+
private indexRecommendations: Map<string, IndexRecommendation>;
|
|
120
|
+
private insightsCounter: any;
|
|
121
|
+
private logCounter: any;
|
|
122
|
+
private metricCounter: any;
|
|
123
|
+
private reportCounter: any;
|
|
124
|
+
private recommendationCounter: any;
|
|
125
|
+
enablePerformanceInsights(options: {
|
|
126
|
+
name: string
|
|
127
|
+
databaseIdentifier: string
|
|
128
|
+
retentionPeriod?: number
|
|
129
|
+
kmsKeyId?: string
|
|
130
|
+
}): PerformanceInsights;
|
|
131
|
+
enableSlowQueryLog(options: {
|
|
132
|
+
name: string
|
|
133
|
+
databaseIdentifier: string
|
|
134
|
+
logDestination: 'cloudwatch' | 's3'
|
|
135
|
+
cloudwatchLogGroup?: string
|
|
136
|
+
s3Bucket?: string
|
|
137
|
+
minExecutionTime?: number
|
|
138
|
+
}): SlowQueryLog;
|
|
139
|
+
recordQueryMetric(metric: Omit<QueryMetric, 'id' | 'timestamp'>): QueryMetric;
|
|
140
|
+
generatePerformanceReport(options: {
|
|
141
|
+
name: string
|
|
142
|
+
databaseIdentifier: string
|
|
143
|
+
reportType: 'daily' | 'weekly' | 'monthly'
|
|
144
|
+
}): PerformanceReport;
|
|
145
|
+
private generateRecommendations(metrics: PerformanceMetrics, slowQueries: QueryMetric[]): PerformanceRecommendation[];
|
|
146
|
+
analyzeQuery(sql: string): QueryAnalysis;
|
|
147
|
+
recommendIndex(options: {
|
|
148
|
+
tableName: string
|
|
149
|
+
columns: string[]
|
|
150
|
+
reason: string
|
|
151
|
+
estimatedImprovement?: number
|
|
152
|
+
}): IndexRecommendation;
|
|
153
|
+
getInsights(id: string): PerformanceInsights | undefined;
|
|
154
|
+
listInsights(): PerformanceInsights[];
|
|
155
|
+
getSlowQueryLog(id: string): SlowQueryLog | undefined;
|
|
156
|
+
listSlowQueryLogs(): SlowQueryLog[];
|
|
157
|
+
getReport(id: string): PerformanceReport | undefined;
|
|
158
|
+
listReports(): PerformanceReport[];
|
|
159
|
+
listIndexRecommendations(): IndexRecommendation[];
|
|
160
|
+
generatePerformanceInsightsCF(insights: PerformanceInsights): any;
|
|
161
|
+
generateSlowQueryAlarmCF(options: {
|
|
162
|
+
alarmName: string
|
|
163
|
+
logGroupName: string
|
|
164
|
+
threshold: number
|
|
165
|
+
snsTopicArn?: string
|
|
166
|
+
}): any;
|
|
167
|
+
clear(): void;
|
|
168
|
+
}
|