@ts-cloud/core 0.2.3 → 0.2.4

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 (226) hide show
  1. package/dist/advanced-features.test.d.ts +1 -0
  2. package/dist/aws/cloudformation.d.ts +136 -0
  3. package/dist/aws/cloudfront.d.ts +45 -0
  4. package/dist/aws/credentials.d.ts +77 -0
  5. package/dist/aws/credentials.test.d.ts +4 -0
  6. package/dist/aws/index.d.ts +10 -0
  7. package/dist/aws/s3.d.ts +256 -0
  8. package/dist/aws/s3.test.d.ts +4 -0
  9. package/dist/aws/signature.d.ts +142 -0
  10. package/dist/aws/signature.test.d.ts +4 -0
  11. package/dist/backup/disaster-recovery.d.ts +140 -0
  12. package/dist/backup/disaster-recovery.test.d.ts +1 -0
  13. package/dist/backup/index.d.ts +8 -0
  14. package/dist/backup/manager.d.ts +172 -0
  15. package/dist/backup/manager.test.d.ts +1 -0
  16. package/dist/cicd/circleci.d.ts +50 -0
  17. package/dist/cicd/github-actions.d.ts +62 -0
  18. package/dist/cicd/gitlab-ci.d.ts +50 -0
  19. package/dist/cicd/index.d.ts +7 -0
  20. package/dist/cli/history.d.ts +137 -0
  21. package/dist/cli/index.d.ts +9 -0
  22. package/dist/cli/progress.d.ts +193 -0
  23. package/dist/cli/repl.d.ts +148 -0
  24. package/dist/cli/suggestions.d.ts +74 -0
  25. package/dist/cli/table.d.ts +73 -0
  26. package/dist/cli/table.test.d.ts +1 -0
  27. package/dist/cloudformation/builder.d.ts +93 -0
  28. package/dist/cloudformation/builder.test.d.ts +4 -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 +68 -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 +39 -0
  37. package/dist/cloudformation/builders/network.d.ts +14 -0
  38. package/dist/cloudformation/builders/queue.d.ts +16 -0
  39. package/dist/cloudformation/builders/security.d.ts +31 -0
  40. package/dist/cloudformation/builders/storage.d.ts +36 -0
  41. package/dist/cloudformation/index.d.ts +10 -0
  42. package/dist/cloudformation/types.d.ts +200 -0
  43. package/dist/compliance/aws-config.d.ts +175 -0
  44. package/dist/compliance/cloudtrail.d.ts +132 -0
  45. package/dist/compliance/compliance.test.d.ts +1 -0
  46. package/dist/compliance/guardduty.d.ts +176 -0
  47. package/dist/compliance/index.d.ts +12 -0
  48. package/dist/compliance/security-hub.d.ts +178 -0
  49. package/dist/containers/build-optimization.d.ts +155 -0
  50. package/dist/containers/containers.test.d.ts +1 -0
  51. package/dist/containers/image-scanning.d.ts +144 -0
  52. package/dist/containers/index.d.ts +8 -0
  53. package/dist/containers/registry.d.ts +129 -0
  54. package/dist/containers/service-mesh.d.ts +254 -0
  55. package/dist/database/database.test.d.ts +1 -0
  56. package/dist/database/index.d.ts +8 -0
  57. package/dist/database/migrations.d.ts +153 -0
  58. package/dist/database/performance.d.ts +219 -0
  59. package/dist/database/replicas.d.ts +218 -0
  60. package/dist/database/users.d.ts +165 -0
  61. package/dist/dependency-graph.d.ts +37 -0
  62. package/dist/deployment/ab-testing.d.ts +165 -0
  63. package/dist/deployment/blue-green.d.ts +140 -0
  64. package/dist/deployment/canary.d.ts +165 -0
  65. package/dist/deployment/deployment.test.d.ts +1 -0
  66. package/dist/deployment/index.d.ts +12 -0
  67. package/dist/deployment/progressive.d.ts +50 -0
  68. package/dist/dns/dns.test.d.ts +1 -0
  69. package/dist/dns/dnssec.d.ts +120 -0
  70. package/dist/dns/index.d.ts +7 -0
  71. package/dist/dns/resolver.d.ts +216 -0
  72. package/dist/dns/routing.d.ts +277 -0
  73. package/dist/email/advanced/analytics.d.ts +107 -0
  74. package/dist/email/advanced/index.d.ts +10 -0
  75. package/dist/email/advanced/rules.d.ts +131 -0
  76. package/dist/email/advanced/scheduling.d.ts +81 -0
  77. package/dist/email/advanced/search.d.ts +91 -0
  78. package/dist/email/advanced/shared-mailboxes.d.ts +109 -0
  79. package/dist/email/advanced/templates.d.ts +95 -0
  80. package/dist/email/advanced/threading.d.ts +65 -0
  81. package/dist/email/analytics.d.ts +189 -0
  82. package/dist/email/bounce-handling.d.ts +171 -0
  83. package/dist/email/email.test.d.ts +1 -0
  84. package/dist/email/handlers/__tests__/inbound.test.d.ts +1 -0
  85. package/dist/email/handlers/__tests__/outbound.test.d.ts +1 -0
  86. package/dist/email/handlers/converter.d.ts +11 -0
  87. package/dist/email/handlers/feedback.d.ts +11 -0
  88. package/dist/email/handlers/inbound.d.ts +13 -0
  89. package/dist/email/handlers/outbound.d.ts +13 -0
  90. package/dist/email/index.d.ts +10 -0
  91. package/dist/email/reputation.d.ts +133 -0
  92. package/dist/email/templates.d.ts +124 -0
  93. package/dist/errors/index.d.ts +177 -0
  94. package/dist/errors/index.test.d.ts +4 -0
  95. package/dist/health-checks/index.d.ts +35 -0
  96. package/dist/index.d.ts +15 -256
  97. package/dist/index.js +228 -80
  98. package/dist/intrinsic-functions.d.ts +77 -0
  99. package/dist/lambda/concurrency.d.ts +146 -0
  100. package/dist/lambda/destinations.d.ts +141 -0
  101. package/dist/lambda/dlq.d.ts +160 -0
  102. package/dist/lambda/index.d.ts +10 -0
  103. package/dist/lambda/lambda.test.d.ts +1 -0
  104. package/dist/lambda/layers.d.ts +117 -0
  105. package/dist/lambda/versions.d.ts +145 -0
  106. package/dist/lambda/vpc.d.ts +164 -0
  107. package/dist/local/config.d.ts +44 -0
  108. package/dist/local/index.d.ts +5 -0
  109. package/dist/local/mock-aws.d.ts +69 -0
  110. package/dist/modules/ai.d.ts +108 -0
  111. package/dist/modules/api.d.ts +157 -0
  112. package/dist/modules/auth.d.ts +262 -0
  113. package/dist/modules/cache.d.ts +108 -0
  114. package/dist/modules/cdn.d.ts +305 -0
  115. package/dist/modules/communication.d.ts +117 -0
  116. package/dist/modules/compute.d.ts +1376 -0
  117. package/dist/modules/database.d.ts +144 -0
  118. package/dist/modules/deployment.d.ts +372 -0
  119. package/dist/modules/dns.d.ts +143 -0
  120. package/dist/modules/email.d.ts +314 -0
  121. package/dist/modules/filesystem.d.ts +132 -0
  122. package/dist/modules/index.d.ts +31 -0
  123. package/dist/modules/messaging.d.ts +210 -0
  124. package/dist/modules/monitoring.d.ts +574 -0
  125. package/dist/modules/network.d.ts +148 -0
  126. package/dist/modules/parameter-store.d.ts +143 -0
  127. package/dist/modules/permissions.d.ts +245 -0
  128. package/dist/modules/phone.d.ts +125 -0
  129. package/dist/modules/queue.d.ts +411 -0
  130. package/dist/modules/redirects.d.ts +140 -0
  131. package/dist/modules/registry.d.ts +189 -0
  132. package/dist/modules/search.d.ts +135 -0
  133. package/dist/modules/secrets.d.ts +149 -0
  134. package/dist/modules/security.d.ts +219 -0
  135. package/dist/modules/sms.d.ts +130 -0
  136. package/dist/modules/storage.d.ts +344 -0
  137. package/dist/modules/workflow.d.ts +288 -0
  138. package/dist/multi-account/config.d.ts +166 -0
  139. package/dist/multi-account/index.d.ts +6 -0
  140. package/dist/multi-account/manager.d.ts +181 -0
  141. package/dist/multi-region/cross-region.d.ts +204 -0
  142. package/dist/multi-region/index.d.ts +7 -0
  143. package/dist/multi-region/manager.d.ts +136 -0
  144. package/dist/multi-region/regions.d.ts +98 -0
  145. package/dist/network-security/index.d.ts +55 -0
  146. package/dist/observability/index.d.ts +8 -0
  147. package/dist/observability/logs.d.ts +213 -0
  148. package/dist/observability/metrics.d.ts +187 -0
  149. package/dist/observability/observability.test.d.ts +1 -0
  150. package/dist/observability/synthetics.d.ts +189 -0
  151. package/dist/observability/xray.d.ts +193 -0
  152. package/dist/phone/advanced/analytics.d.ts +83 -0
  153. package/dist/phone/advanced/callbacks.d.ts +67 -0
  154. package/dist/phone/advanced/index.d.ts +7 -0
  155. package/dist/phone/advanced/ivr-builder.d.ts +130 -0
  156. package/dist/phone/advanced/recording.d.ts +62 -0
  157. package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +1 -0
  158. package/dist/phone/handlers/incoming-call.d.ts +10 -0
  159. package/dist/phone/handlers/missed-call.d.ts +9 -0
  160. package/dist/phone/handlers/voicemail.d.ts +10 -0
  161. package/dist/phone/index.d.ts +5 -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 +4 -0
  166. package/dist/presets/fullstack-app.d.ts +12 -0
  167. package/dist/presets/index.d.ts +13 -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 +1 -0
  179. package/dist/preview/index.d.ts +10 -0
  180. package/dist/preview/manager.d.ts +101 -0
  181. package/dist/preview/manager.test.d.ts +1 -0
  182. package/dist/preview/notifications.d.ts +89 -0
  183. package/dist/preview/notifications.test.d.ts +1 -0
  184. package/dist/queue/batch-processing.d.ts +138 -0
  185. package/dist/queue/dlq-monitoring.d.ts +143 -0
  186. package/dist/queue/fifo.d.ts +131 -0
  187. package/dist/queue/index.d.ts +8 -0
  188. package/dist/queue/management.d.ts +162 -0
  189. package/dist/queue/queue.test.d.ts +1 -0
  190. package/dist/resource-mgmt/index.d.ts +44 -0
  191. package/dist/resource-naming.d.ts +26 -0
  192. package/dist/s3/index.d.ts +227 -0
  193. package/dist/schema/index.d.ts +12 -0
  194. package/dist/security/certificate-manager.d.ts +184 -0
  195. package/dist/security/index.d.ts +8 -0
  196. package/dist/security/scanning.d.ts +196 -0
  197. package/dist/security/secrets-manager.d.ts +204 -0
  198. package/dist/security/secrets-rotation.d.ts +167 -0
  199. package/dist/security/security.test.d.ts +1 -0
  200. package/dist/sms/advanced/ab-testing.d.ts +74 -0
  201. package/dist/sms/advanced/analytics.d.ts +75 -0
  202. package/dist/sms/advanced/campaigns.d.ts +96 -0
  203. package/dist/sms/advanced/chatbot.d.ts +67 -0
  204. package/dist/sms/advanced/index.d.ts +9 -0
  205. package/dist/sms/advanced/link-tracking.d.ts +60 -0
  206. package/dist/sms/advanced/mms.d.ts +60 -0
  207. package/dist/sms/handlers/__tests__/send.test.d.ts +1 -0
  208. package/dist/sms/handlers/delivery-status.d.ts +10 -0
  209. package/dist/sms/handlers/receive.d.ts +10 -0
  210. package/dist/sms/handlers/send.d.ts +10 -0
  211. package/dist/sms/index.d.ts +5 -0
  212. package/dist/stack-diff.d.ts +38 -0
  213. package/dist/static-site/index.d.ts +49 -0
  214. package/dist/template-builder.d.ts +42 -0
  215. package/dist/template-validator.d.ts +28 -0
  216. package/dist/types.d.ts +2514 -0
  217. package/dist/utils/cache.d.ts +117 -0
  218. package/dist/utils/diff.d.ts +52 -0
  219. package/dist/utils/hash.d.ts +73 -0
  220. package/dist/utils/index.d.ts +7 -0
  221. package/dist/utils/parallel.d.ts +78 -0
  222. package/dist/validators/credentials.d.ts +30 -0
  223. package/dist/validators/credentials.test.d.ts +4 -0
  224. package/dist/validators/quotas.d.ts +64 -0
  225. package/dist/validators/quotas.test.d.ts +4 -0
  226. package/package.json +2 -2
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Container Build Optimization
3
+ * Multi-stage builds, layer caching, and build performance
4
+ */
5
+ export interface BuildConfig {
6
+ id: string;
7
+ name: string;
8
+ dockerfile: string;
9
+ context: string;
10
+ target?: string;
11
+ buildArgs?: Record<string, string>;
12
+ labels?: Record<string, string>;
13
+ cacheStrategy: CacheStrategy;
14
+ platform?: string;
15
+ }
16
+ export interface CacheStrategy {
17
+ type: 'inline' | 'registry' | 'local' | 's3';
18
+ cacheFrom?: string[];
19
+ cacheTo?: string;
20
+ maxCacheAge?: number;
21
+ }
22
+ export interface MultiStageConfig {
23
+ id: string;
24
+ name: string;
25
+ stages: BuildStage[];
26
+ targetStage?: string;
27
+ }
28
+ export interface BuildStage {
29
+ name: string;
30
+ baseImage: string;
31
+ commands: string[];
32
+ copyFrom?: string[];
33
+ workdir?: string;
34
+ env?: Record<string, string>;
35
+ }
36
+ export interface BuildOptimization {
37
+ id: string;
38
+ name: string;
39
+ recommendations: OptimizationRecommendation[];
40
+ estimatedSavings: BuildSavings;
41
+ }
42
+ export interface OptimizationRecommendation {
43
+ type: 'layer_reduction' | 'cache_optimization' | 'base_image' | 'dependencies';
44
+ priority: 'high' | 'medium' | 'low';
45
+ title: string;
46
+ description: string;
47
+ example?: string;
48
+ impact: string;
49
+ }
50
+ export interface BuildSavings {
51
+ sizeBefore: number;
52
+ sizeAfter: number;
53
+ timeBefore: number;
54
+ timeAfter: number;
55
+ }
56
+ export interface LayerAnalysis {
57
+ id: string;
58
+ imageId: string;
59
+ layers: ImageLayer[];
60
+ totalSize: number;
61
+ unnecessaryLayers: number;
62
+ }
63
+ export interface ImageLayer {
64
+ index: number;
65
+ command: string;
66
+ size: number;
67
+ created: Date;
68
+ cacheable: boolean;
69
+ }
70
+ /**
71
+ * Build optimization manager
72
+ */
73
+ export declare class BuildOptimizationManager {
74
+ private configs;
75
+ private multiStageConfigs;
76
+ private optimizations;
77
+ private analyses;
78
+ private configCounter;
79
+ private multiStageCounter;
80
+ private optimizationCounter;
81
+ private analysisCounter;
82
+ /**
83
+ * Create build config
84
+ */
85
+ createBuildConfig(config: Omit<BuildConfig, 'id'>): BuildConfig;
86
+ /**
87
+ * Create optimized build config
88
+ */
89
+ createOptimizedBuildConfig(options: {
90
+ name: string;
91
+ dockerfile: string;
92
+ enableCache?: boolean;
93
+ registry?: string;
94
+ }): BuildConfig;
95
+ /**
96
+ * Create multi-stage config
97
+ */
98
+ createMultiStageConfig(config: Omit<MultiStageConfig, 'id'>): MultiStageConfig;
99
+ /**
100
+ * Create Node.js multi-stage build
101
+ */
102
+ createNodeMultiStageBuild(options: {
103
+ name: string;
104
+ nodeVersion?: string;
105
+ targetStage?: 'production' | 'development';
106
+ }): MultiStageConfig;
107
+ /**
108
+ * Generate Dockerfile from multi-stage config
109
+ */
110
+ generateDockerfile(configId: string): string;
111
+ /**
112
+ * Analyze image layers
113
+ */
114
+ analyzeImage(imageId: string, layers: Omit<ImageLayer, 'cacheable'>[]): LayerAnalysis;
115
+ /**
116
+ * Check if layer is cacheable
117
+ */
118
+ private isLayerCacheable;
119
+ /**
120
+ * Generate optimization recommendations
121
+ */
122
+ generateOptimizations(analysisId: string): BuildOptimization;
123
+ /**
124
+ * Get build config
125
+ */
126
+ getBuildConfig(id: string): BuildConfig | undefined;
127
+ /**
128
+ * List build configs
129
+ */
130
+ listBuildConfigs(): BuildConfig[];
131
+ /**
132
+ * Get multi-stage config
133
+ */
134
+ getMultiStageConfig(id: string): MultiStageConfig | undefined;
135
+ /**
136
+ * List multi-stage configs
137
+ */
138
+ listMultiStageConfigs(): MultiStageConfig[];
139
+ /**
140
+ * Get optimization
141
+ */
142
+ getOptimization(id: string): BuildOptimization | undefined;
143
+ /**
144
+ * List optimizations
145
+ */
146
+ listOptimizations(): BuildOptimization[];
147
+ /**
148
+ * Clear all data
149
+ */
150
+ clear(): void;
151
+ }
152
+ /**
153
+ * Global build optimization manager instance
154
+ */
155
+ export declare const buildOptimizationManager: BuildOptimizationManager;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Container Image Scanning
3
+ * Vulnerability scanning with Trivy, Snyk, and other tools
4
+ */
5
+ export interface ImageScanConfig {
6
+ id: string;
7
+ repository: string;
8
+ imageTag: string;
9
+ scanner: ScannerType;
10
+ scanOnPush: boolean;
11
+ scanSchedule?: string;
12
+ failOnSeverity?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
13
+ ignoreUnfixed?: boolean;
14
+ }
15
+ export type ScannerType = 'trivy' | 'snyk' | 'clair' | 'anchore' | 'ecr';
16
+ export interface ImageScanResult {
17
+ id: string;
18
+ imageUri: string;
19
+ scannerType: ScannerType;
20
+ scanDate: Date;
21
+ vulnerabilities: ImageVulnerability[];
22
+ summary: VulnerabilitySummary;
23
+ passed: boolean;
24
+ }
25
+ export interface ImageVulnerability {
26
+ id: string;
27
+ cve: string;
28
+ severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'UNKNOWN';
29
+ packageName: string;
30
+ installedVersion: string;
31
+ fixedVersion?: string;
32
+ title: string;
33
+ description: string;
34
+ references: string[];
35
+ cvss?: number;
36
+ }
37
+ export interface VulnerabilitySummary {
38
+ total: number;
39
+ critical: number;
40
+ high: number;
41
+ medium: number;
42
+ low: number;
43
+ unknown: number;
44
+ }
45
+ export interface ScanPolicy {
46
+ id: string;
47
+ name: string;
48
+ allowedSeverities: string[];
49
+ maxCritical: number;
50
+ maxHigh: number;
51
+ blockOnFailure: boolean;
52
+ exemptions: string[];
53
+ }
54
+ /**
55
+ * Image scanning manager
56
+ */
57
+ export declare class ImageScanningManager {
58
+ private configs;
59
+ private results;
60
+ private policies;
61
+ private configCounter;
62
+ private resultCounter;
63
+ private policyCounter;
64
+ /**
65
+ * Configure image scanning
66
+ */
67
+ configureScan(config: Omit<ImageScanConfig, 'id'>): ImageScanConfig;
68
+ /**
69
+ * Configure Trivy scanning
70
+ */
71
+ configureTrivyScan(options: {
72
+ repository: string;
73
+ imageTag: string;
74
+ scanOnPush?: boolean;
75
+ ignoreUnfixed?: boolean;
76
+ }): ImageScanConfig;
77
+ /**
78
+ * Configure Snyk scanning
79
+ */
80
+ configureSnykScan(options: {
81
+ repository: string;
82
+ imageTag: string;
83
+ scanOnPush?: boolean;
84
+ }): ImageScanConfig;
85
+ /**
86
+ * Configure ECR scanning
87
+ */
88
+ configureECRScan(options: {
89
+ repository: string;
90
+ scanOnPush?: boolean;
91
+ }): ImageScanConfig;
92
+ /**
93
+ * Scan image
94
+ */
95
+ scanImage(configId: string): Promise<ImageScanResult>;
96
+ /**
97
+ * Simulate vulnerabilities (in production, call actual scanner)
98
+ */
99
+ private simulateVulnerabilities;
100
+ /**
101
+ * Evaluate scan result
102
+ */
103
+ private evaluateScanResult;
104
+ /**
105
+ * Create scan policy
106
+ */
107
+ createPolicy(policy: Omit<ScanPolicy, 'id'>): ScanPolicy;
108
+ /**
109
+ * Create strict policy
110
+ */
111
+ createStrictPolicy(name: string): ScanPolicy;
112
+ /**
113
+ * Create permissive policy
114
+ */
115
+ createPermissivePolicy(name: string): ScanPolicy;
116
+ /**
117
+ * Get config
118
+ */
119
+ getConfig(id: string): ImageScanConfig | undefined;
120
+ /**
121
+ * List configs
122
+ */
123
+ listConfigs(): ImageScanConfig[];
124
+ /**
125
+ * Get result
126
+ */
127
+ getResult(id: string): ImageScanResult | undefined;
128
+ /**
129
+ * List results
130
+ */
131
+ listResults(): ImageScanResult[];
132
+ /**
133
+ * Generate CloudFormation for ECR scanning
134
+ */
135
+ generateECRScanCF(config: ImageScanConfig): any;
136
+ /**
137
+ * Clear all data
138
+ */
139
+ clear(): void;
140
+ }
141
+ /**
142
+ * Global image scanning manager instance
143
+ */
144
+ export declare const imageScanningManager: ImageScanningManager;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Container Advanced Features Module
3
+ * Image scanning, build optimization, registry management, and service mesh
4
+ */
5
+ export * from './image-scanning';
6
+ export * from './build-optimization';
7
+ export * from './registry';
8
+ export * from './service-mesh';
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Private Container Registry
3
+ * ECR repository management and access control
4
+ */
5
+ export interface ContainerRegistry {
6
+ id: string;
7
+ name: string;
8
+ registryType: 'ecr' | 'dockerhub' | 'gcr' | 'acr';
9
+ repositoryUri: string;
10
+ region?: string;
11
+ encryption?: RegistryEncryption;
12
+ scanning?: ScanningConfig;
13
+ lifecycle?: LifecyclePolicy;
14
+ replication?: ReplicationConfig;
15
+ }
16
+ export interface RegistryEncryption {
17
+ encryptionType: 'AES256' | 'KMS';
18
+ kmsKeyId?: string;
19
+ }
20
+ export interface ScanningConfig {
21
+ scanOnPush: boolean;
22
+ scanFilters?: ScanFilter[];
23
+ }
24
+ export interface ScanFilter {
25
+ tagPattern: string;
26
+ scanFrequency: 'on_push' | 'daily' | 'weekly';
27
+ }
28
+ export interface LifecyclePolicy {
29
+ id: string;
30
+ rules: LifecycleRule[];
31
+ }
32
+ export interface LifecycleRule {
33
+ rulePriority: number;
34
+ description: string;
35
+ selection: {
36
+ tagStatus: 'tagged' | 'untagged' | 'any';
37
+ tagPrefixList?: string[];
38
+ countType: 'imageCountMoreThan' | 'sinceImagePushed';
39
+ countNumber: number;
40
+ countUnit?: 'days';
41
+ };
42
+ action: {
43
+ type: 'expire';
44
+ };
45
+ }
46
+ export interface ReplicationConfig {
47
+ enabled: boolean;
48
+ destinations: ReplicationDestination[];
49
+ rules?: ReplicationRule[];
50
+ }
51
+ export interface ReplicationDestination {
52
+ region: string;
53
+ registryId?: string;
54
+ }
55
+ export interface ReplicationRule {
56
+ repositoryFilter: string[];
57
+ destinations: ReplicationDestination[];
58
+ }
59
+ export interface RegistryCredentials {
60
+ id: string;
61
+ registryId: string;
62
+ username: string;
63
+ passwordSecretArn: string;
64
+ expiresAt?: Date;
65
+ }
66
+ /**
67
+ * Container registry manager
68
+ */
69
+ export declare class ContainerRegistryManager {
70
+ private registries;
71
+ private credentials;
72
+ private registryCounter;
73
+ private credentialsCounter;
74
+ /**
75
+ * Create registry
76
+ */
77
+ createRegistry(registry: Omit<ContainerRegistry, 'id'>): ContainerRegistry;
78
+ /**
79
+ * Create ECR repository
80
+ */
81
+ createECRRepository(options: {
82
+ name: string;
83
+ region?: string;
84
+ scanOnPush?: boolean;
85
+ encryption?: 'AES256' | 'KMS';
86
+ kmsKeyId?: string;
87
+ }): ContainerRegistry;
88
+ /**
89
+ * Create private registry with lifecycle policy
90
+ */
91
+ createManagedRepository(options: {
92
+ name: string;
93
+ region?: string;
94
+ maxImageCount?: number;
95
+ maxImageAgeDays?: number;
96
+ }): ContainerRegistry;
97
+ /**
98
+ * Enable cross-region replication
99
+ */
100
+ enableReplication(registryId: string, destinations: ReplicationDestination[]): ContainerRegistry;
101
+ /**
102
+ * Create registry credentials
103
+ */
104
+ createCredentials(credentials: Omit<RegistryCredentials, 'id'>): RegistryCredentials;
105
+ /**
106
+ * Get registry
107
+ */
108
+ getRegistry(id: string): ContainerRegistry | undefined;
109
+ /**
110
+ * List registries
111
+ */
112
+ listRegistries(): ContainerRegistry[];
113
+ /**
114
+ * Generate CloudFormation for ECR repository
115
+ */
116
+ generateECRRepositoryCF(registry: ContainerRegistry): any;
117
+ /**
118
+ * Generate CloudFormation for replication configuration
119
+ */
120
+ generateReplicationConfigCF(replication: ReplicationConfig): any;
121
+ /**
122
+ * Clear all data
123
+ */
124
+ clear(): void;
125
+ }
126
+ /**
127
+ * Global container registry manager instance
128
+ */
129
+ export declare const containerRegistryManager: ContainerRegistryManager;
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Service Mesh Integration
3
+ * AWS App Mesh configuration for microservices
4
+ */
5
+ export interface ServiceMesh {
6
+ id: string;
7
+ name: string;
8
+ meshType: 'app_mesh' | 'istio' | 'linkerd';
9
+ services: MeshService[];
10
+ virtualNodes?: VirtualNode[];
11
+ virtualRouters?: VirtualRouter[];
12
+ virtualGateways?: VirtualGateway[];
13
+ }
14
+ export interface MeshService {
15
+ id: string;
16
+ name: string;
17
+ namespace: string;
18
+ port: number;
19
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp';
20
+ backends?: string[];
21
+ healthCheck?: HealthCheck;
22
+ }
23
+ export interface VirtualNode {
24
+ id: string;
25
+ name: string;
26
+ serviceName: string;
27
+ listeners: Listener[];
28
+ backends?: Backend[];
29
+ serviceDiscovery: ServiceDiscovery;
30
+ }
31
+ export interface Listener {
32
+ port: number;
33
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp';
34
+ healthCheck?: HealthCheck;
35
+ timeout?: Timeout;
36
+ tls?: TLSConfig;
37
+ }
38
+ export interface HealthCheck {
39
+ protocol: 'http' | 'tcp' | 'grpc';
40
+ path?: string;
41
+ port?: number;
42
+ interval: number;
43
+ timeout: number;
44
+ healthyThreshold: number;
45
+ unhealthyThreshold: number;
46
+ }
47
+ export interface Timeout {
48
+ perRequest?: number;
49
+ idle?: number;
50
+ }
51
+ export interface TLSConfig {
52
+ mode: 'STRICT' | 'PERMISSIVE' | 'DISABLED';
53
+ certificate?: {
54
+ acm?: string;
55
+ file?: {
56
+ certificateChain: string;
57
+ privateKey: string;
58
+ };
59
+ };
60
+ validation?: {
61
+ trust: {
62
+ acm?: string[];
63
+ file?: {
64
+ certificateChain: string;
65
+ };
66
+ };
67
+ };
68
+ }
69
+ export interface Backend {
70
+ virtualServiceName: string;
71
+ clientPolicy?: ClientPolicy;
72
+ }
73
+ export interface ClientPolicy {
74
+ tls?: {
75
+ enforce: boolean;
76
+ ports?: number[];
77
+ validation: {
78
+ trust: {
79
+ acm?: string[];
80
+ };
81
+ };
82
+ };
83
+ }
84
+ export interface ServiceDiscovery {
85
+ type: 'aws_cloud_map' | 'dns';
86
+ namespace?: string;
87
+ serviceName?: string;
88
+ hostname?: string;
89
+ }
90
+ export interface VirtualRouter {
91
+ id: string;
92
+ name: string;
93
+ listeners: RouterListener[];
94
+ routes: Route[];
95
+ }
96
+ export interface RouterListener {
97
+ port: number;
98
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp';
99
+ }
100
+ export interface Route {
101
+ name: string;
102
+ match: RouteMatch;
103
+ action: RouteAction;
104
+ priority?: number;
105
+ retryPolicy?: RetryPolicy;
106
+ }
107
+ export interface RouteMatch {
108
+ prefix?: string;
109
+ path?: string;
110
+ headers?: HeaderMatch[];
111
+ method?: string;
112
+ }
113
+ export interface HeaderMatch {
114
+ name: string;
115
+ match?: {
116
+ exact?: string;
117
+ prefix?: string;
118
+ suffix?: string;
119
+ regex?: string;
120
+ };
121
+ }
122
+ export interface RouteAction {
123
+ weightedTargets: WeightedTarget[];
124
+ }
125
+ export interface WeightedTarget {
126
+ virtualNode: string;
127
+ weight: number;
128
+ port?: number;
129
+ }
130
+ export interface RetryPolicy {
131
+ maxRetries: number;
132
+ perRetryTimeout: number;
133
+ httpRetryEvents?: string[];
134
+ tcpRetryEvents?: string[];
135
+ }
136
+ export interface VirtualGateway {
137
+ id: string;
138
+ name: string;
139
+ listeners: GatewayListener[];
140
+ logging?: {
141
+ accessLog?: {
142
+ file?: {
143
+ path: string;
144
+ };
145
+ };
146
+ };
147
+ }
148
+ export interface GatewayListener {
149
+ port: number;
150
+ protocol: 'http' | 'http2' | 'grpc';
151
+ healthCheck?: HealthCheck;
152
+ tls?: TLSConfig;
153
+ }
154
+ /**
155
+ * Service mesh manager
156
+ */
157
+ export declare class ServiceMeshManager {
158
+ private meshes;
159
+ private virtualNodes;
160
+ private virtualRouters;
161
+ private virtualGateways;
162
+ private meshCounter;
163
+ private nodeCounter;
164
+ private routerCounter;
165
+ private gatewayCounter;
166
+ /**
167
+ * Create service mesh
168
+ */
169
+ createMesh(mesh: Omit<ServiceMesh, 'id'>): ServiceMesh;
170
+ /**
171
+ * Create App Mesh
172
+ */
173
+ createAppMesh(options: {
174
+ name: string;
175
+ services: MeshService[];
176
+ }): ServiceMesh;
177
+ /**
178
+ * Create virtual node
179
+ */
180
+ createVirtualNode(node: Omit<VirtualNode, 'id'>): VirtualNode;
181
+ /**
182
+ * Create HTTP virtual node
183
+ */
184
+ createHTTPVirtualNode(options: {
185
+ name: string;
186
+ serviceName: string;
187
+ port: number;
188
+ namespace: string;
189
+ }): VirtualNode;
190
+ /**
191
+ * Create virtual router
192
+ */
193
+ createVirtualRouter(router: Omit<VirtualRouter, 'id'>): VirtualRouter;
194
+ /**
195
+ * Create canary route
196
+ */
197
+ createCanaryRoute(options: {
198
+ name: string;
199
+ port: number;
200
+ protocol: 'http' | 'http2' | 'grpc';
201
+ stableTarget: string;
202
+ canaryTarget: string;
203
+ canaryWeight: number;
204
+ }): VirtualRouter;
205
+ /**
206
+ * Create virtual gateway
207
+ */
208
+ createVirtualGateway(gateway: Omit<VirtualGateway, 'id'>): VirtualGateway;
209
+ /**
210
+ * Create ingress gateway
211
+ */
212
+ createIngressGateway(options: {
213
+ name: string;
214
+ port: number;
215
+ enableTLS?: boolean;
216
+ certificateArn?: string;
217
+ }): VirtualGateway;
218
+ /**
219
+ * Get mesh
220
+ */
221
+ getMesh(id: string): ServiceMesh | undefined;
222
+ /**
223
+ * List meshes
224
+ */
225
+ listMeshes(): ServiceMesh[];
226
+ /**
227
+ * Get virtual node
228
+ */
229
+ getVirtualNode(id: string): VirtualNode | undefined;
230
+ /**
231
+ * List virtual nodes
232
+ */
233
+ listVirtualNodes(): VirtualNode[];
234
+ /**
235
+ * Generate CloudFormation for App Mesh
236
+ */
237
+ generateMeshCF(mesh: ServiceMesh): any;
238
+ /**
239
+ * Generate CloudFormation for Virtual Node
240
+ */
241
+ generateVirtualNodeCF(node: VirtualNode, meshName: string): any;
242
+ /**
243
+ * Generate CloudFormation for Virtual Router
244
+ */
245
+ generateVirtualRouterCF(router: VirtualRouter, meshName: string): any;
246
+ /**
247
+ * Clear all data
248
+ */
249
+ clear(): void;
250
+ }
251
+ /**
252
+ * Global service mesh manager instance
253
+ */
254
+ export declare const serviceMeshManager: ServiceMeshManager;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Database Advanced Features Module
3
+ * Migration management, replicas, performance monitoring, and user management
4
+ */
5
+ export * from './migrations';
6
+ export * from './replicas';
7
+ export * from './performance';
8
+ export * from './users';