@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,204 @@
1
+ /**
2
+ * Cross-Region Resource Management
3
+ * Handles references and dependencies between regions
4
+ */
5
+ export interface CrossRegionReference {
6
+ sourceRegion: string;
7
+ targetRegion: string;
8
+ resourceType: string;
9
+ resourceId: string;
10
+ value: string;
11
+ }
12
+ export interface CrossRegionExport {
13
+ region: string;
14
+ exportName: string;
15
+ value: string;
16
+ description?: string;
17
+ }
18
+ /**
19
+ * Cross-region reference manager
20
+ */
21
+ export declare class CrossRegionReferenceManager {
22
+ private references;
23
+ private exports;
24
+ /**
25
+ * Register a cross-region export
26
+ */
27
+ addExport(export_: CrossRegionExport): void;
28
+ /**
29
+ * Get export value from another region
30
+ */
31
+ getExport(region: string, exportName: string): string | undefined;
32
+ /**
33
+ * Create cross-region reference
34
+ */
35
+ createReference(sourceRegion: string, targetRegion: string, resourceType: string, resourceId: string): string;
36
+ /**
37
+ * Resolve cross-region reference
38
+ */
39
+ resolveReference(targetRegion: string, parameterName: string): Promise<string>;
40
+ /**
41
+ * Get all references for a region
42
+ */
43
+ getReferencesForRegion(region: string): CrossRegionReference[];
44
+ /**
45
+ * Clear all references
46
+ */
47
+ clear(): void;
48
+ }
49
+ /**
50
+ * Global resources that exist in one region but are accessible globally
51
+ */
52
+ export interface GlobalResource {
53
+ type: 'cloudfront' | 'route53' | 'waf' | 'iam' | 's3-website';
54
+ id: string;
55
+ region: string;
56
+ arn: string;
57
+ endpoint?: string;
58
+ }
59
+ /**
60
+ * Global resource manager
61
+ */
62
+ export declare class GlobalResourceManager {
63
+ private resources;
64
+ /**
65
+ * Register a global resource
66
+ */
67
+ register(resource: GlobalResource): void;
68
+ /**
69
+ * Get global resource
70
+ */
71
+ get(id: string): GlobalResource | undefined;
72
+ /**
73
+ * Get global resources by type
74
+ */
75
+ getByType(type: GlobalResource['type']): GlobalResource[];
76
+ /**
77
+ * Get CloudFront distributions
78
+ */
79
+ getCloudFrontDistributions(): GlobalResource[];
80
+ /**
81
+ * Get Route53 hosted zones
82
+ */
83
+ getRoute53HostedZones(): GlobalResource[];
84
+ /**
85
+ * Get WAF web ACLs
86
+ */
87
+ getWAFWebACLs(): GlobalResource[];
88
+ /**
89
+ * Remove global resource
90
+ */
91
+ remove(id: string): void;
92
+ /**
93
+ * Clear all global resources
94
+ */
95
+ clear(): void;
96
+ }
97
+ /**
98
+ * Region pairing for replication and failover
99
+ */
100
+ export interface RegionPair {
101
+ primary: string;
102
+ secondary: string;
103
+ replicationConfig?: {
104
+ s3: boolean;
105
+ dynamodb: boolean;
106
+ rds: boolean;
107
+ };
108
+ failoverConfig?: {
109
+ automatic: boolean;
110
+ healthCheckInterval: number;
111
+ failoverThreshold: number;
112
+ };
113
+ }
114
+ /**
115
+ * Region pair manager
116
+ */
117
+ export declare class RegionPairManager {
118
+ private pairs;
119
+ /**
120
+ * Add region pair
121
+ */
122
+ addPair(pair: RegionPair): void;
123
+ /**
124
+ * Get paired region
125
+ */
126
+ getPairedRegion(region: string): string | undefined;
127
+ /**
128
+ * Get all pairs
129
+ */
130
+ getAllPairs(): RegionPair[];
131
+ /**
132
+ * Get pairs with replication enabled
133
+ */
134
+ getReplicatedPairs(): RegionPair[];
135
+ /**
136
+ * Get pairs with failover enabled
137
+ */
138
+ getFailoverPairs(): RegionPair[];
139
+ /**
140
+ * Check if regions are paired
141
+ */
142
+ arePaired(region1: string, region2: string): boolean;
143
+ /**
144
+ * Clear all pairs
145
+ */
146
+ clear(): void;
147
+ }
148
+ /**
149
+ * Cross-region stack dependencies
150
+ */
151
+ export interface StackDependency {
152
+ dependentStack: string;
153
+ dependentRegion: string;
154
+ dependsOnStack: string;
155
+ dependsOnRegion: string;
156
+ outputKey: string;
157
+ }
158
+ /**
159
+ * Stack dependency manager
160
+ */
161
+ export declare class StackDependencyManager {
162
+ private dependencies;
163
+ /**
164
+ * Add stack dependency
165
+ */
166
+ addDependency(dependency: StackDependency): void;
167
+ /**
168
+ * Get dependencies for a stack
169
+ */
170
+ getDependencies(stackName: string, region: string): StackDependency[];
171
+ /**
172
+ * Get dependents of a stack
173
+ */
174
+ getDependents(stackName: string, region: string): StackDependency[];
175
+ /**
176
+ * Check if stack has dependencies
177
+ */
178
+ hasDependencies(stackName: string, region: string): boolean;
179
+ /**
180
+ * Get deployment order
181
+ */
182
+ getDeploymentOrder(stacks: Array<{
183
+ name: string;
184
+ region: string;
185
+ }>): Array<{
186
+ name: string;
187
+ region: string;
188
+ }>;
189
+ /**
190
+ * Detect circular dependencies
191
+ */
192
+ detectCircularDependencies(): boolean;
193
+ /**
194
+ * Clear all dependencies
195
+ */
196
+ clear(): void;
197
+ }
198
+ /**
199
+ * Global instances
200
+ */
201
+ export declare const crossRegionReferenceManager: CrossRegionReferenceManager;
202
+ export declare const globalResourceManager: GlobalResourceManager;
203
+ export declare const regionPairManager: RegionPairManager;
204
+ export declare const stackDependencyManager: StackDependencyManager;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Multi-Region Deployment
3
+ * Deploy and manage infrastructure across multiple AWS regions
4
+ */
5
+ export * from './manager';
6
+ export * from './cross-region';
7
+ export * from './regions';
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Multi-Region Deployment Manager
3
+ * Deploys infrastructure across multiple AWS regions
4
+ */
5
+ import type { CloudConfig } from '../types';
6
+ export interface Region {
7
+ code: string;
8
+ name: string;
9
+ isPrimary?: boolean;
10
+ weight?: number;
11
+ }
12
+ export interface MultiRegionConfig {
13
+ regions: Region[];
14
+ globalResources?: {
15
+ route53?: boolean;
16
+ cloudfront?: boolean;
17
+ waf?: boolean;
18
+ };
19
+ replication?: {
20
+ s3?: boolean;
21
+ dynamodb?: boolean;
22
+ secrets?: boolean;
23
+ };
24
+ failover?: {
25
+ enabled: boolean;
26
+ healthCheckPath?: string;
27
+ failoverThreshold?: number;
28
+ };
29
+ }
30
+ export interface RegionDeployment {
31
+ region: string;
32
+ stackName: string;
33
+ status: 'pending' | 'deploying' | 'deployed' | 'failed' | 'rolling-back';
34
+ outputs?: Record<string, string>;
35
+ error?: string;
36
+ startTime?: Date;
37
+ endTime?: Date;
38
+ }
39
+ export interface MultiRegionDeployment {
40
+ id: string;
41
+ regions: RegionDeployment[];
42
+ globalResources?: Record<string, any>;
43
+ status: 'pending' | 'deploying' | 'deployed' | 'failed' | 'rolling-back';
44
+ startTime: Date;
45
+ endTime?: Date;
46
+ }
47
+ /**
48
+ * Multi-region deployment manager
49
+ */
50
+ export declare class MultiRegionManager {
51
+ private deployments;
52
+ /**
53
+ * Deploy to multiple regions
54
+ */
55
+ deploy(config: CloudConfig, multiRegionConfig: MultiRegionConfig): Promise<MultiRegionDeployment>;
56
+ /**
57
+ * Deploy to a single region
58
+ */
59
+ private deployToRegion;
60
+ /**
61
+ * Deploy global resources (Route53, CloudFront, WAF)
62
+ */
63
+ private deployGlobalResources;
64
+ /**
65
+ * Deploy Route53 for multi-region routing
66
+ */
67
+ private deployRoute53;
68
+ /**
69
+ * Deploy CloudFront distribution
70
+ */
71
+ private deployCloudFront;
72
+ /**
73
+ * Deploy WAF
74
+ */
75
+ private deployWAF;
76
+ /**
77
+ * Set up cross-region replication
78
+ */
79
+ private setupReplication;
80
+ /**
81
+ * Set up S3 bucket replication
82
+ */
83
+ private setupS3Replication;
84
+ /**
85
+ * Set up DynamoDB global tables
86
+ */
87
+ private setupDynamoDBReplication;
88
+ /**
89
+ * Set up Secrets Manager replication
90
+ */
91
+ private setupSecretsReplication;
92
+ /**
93
+ * Set up failover configuration
94
+ */
95
+ private setupFailover;
96
+ /**
97
+ * Destroy multi-region deployment
98
+ */
99
+ destroy(deploymentId: string): Promise<void>;
100
+ /**
101
+ * Destroy global resources
102
+ */
103
+ private destroyGlobalResources;
104
+ /**
105
+ * Destroy stack in a single region
106
+ */
107
+ private destroyRegionStack;
108
+ /**
109
+ * Get deployment status
110
+ */
111
+ getDeployment(deploymentId: string): MultiRegionDeployment | undefined;
112
+ /**
113
+ * List all deployments
114
+ */
115
+ listDeployments(): MultiRegionDeployment[];
116
+ /**
117
+ * Get stack name for a region
118
+ */
119
+ private getStackName;
120
+ /**
121
+ * Create region-specific config
122
+ */
123
+ private createRegionConfig;
124
+ /**
125
+ * Deploy stack (placeholder)
126
+ */
127
+ private deployStack;
128
+ /**
129
+ * Generate deployment ID
130
+ */
131
+ private generateDeploymentId;
132
+ }
133
+ /**
134
+ * Global multi-region manager instance
135
+ */
136
+ export declare const multiRegionManager: MultiRegionManager;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * AWS Region utilities
3
+ * Region selection, validation, and configuration
4
+ */
5
+ export interface RegionInfo {
6
+ code: string;
7
+ name: string;
8
+ location: string;
9
+ launchYear: number;
10
+ availabilityZones: number;
11
+ localZones?: number;
12
+ wavelengthZones?: number;
13
+ services: {
14
+ compute: boolean;
15
+ storage: boolean;
16
+ database: boolean;
17
+ networking: boolean;
18
+ ml: boolean;
19
+ analytics: boolean;
20
+ };
21
+ pricing: {
22
+ tier: 'standard' | 'reduced' | 'premium';
23
+ multiplier: number;
24
+ };
25
+ compliance: string[];
26
+ }
27
+ /**
28
+ * AWS Region database
29
+ */
30
+ export declare const AWS_REGIONS: RegionInfo[];
31
+ /**
32
+ * Get region by code
33
+ */
34
+ export declare function getRegion(code: string): RegionInfo | undefined;
35
+ /**
36
+ * Get all regions
37
+ */
38
+ export declare function getAllRegions(): RegionInfo[];
39
+ /**
40
+ * Get regions by location
41
+ */
42
+ export declare function getRegionsByLocation(location: string): RegionInfo[];
43
+ /**
44
+ * Get regions with specific compliance
45
+ */
46
+ export declare function getRegionsByCompliance(compliance: string): RegionInfo[];
47
+ /**
48
+ * Get regions by pricing tier
49
+ */
50
+ export declare function getRegionsByPricingTier(tier: 'standard' | 'reduced' | 'premium'): RegionInfo[];
51
+ /**
52
+ * Validate region code
53
+ */
54
+ export declare function isValidRegion(code: string): boolean;
55
+ /**
56
+ * Get closest region to user location
57
+ */
58
+ export declare function getClosestRegion(userLocation: {
59
+ continent?: string;
60
+ country?: string;
61
+ }): RegionInfo;
62
+ /**
63
+ * Suggest regions based on requirements
64
+ */
65
+ export interface RegionRequirements {
66
+ compliance?: string[];
67
+ pricingSensitive?: boolean;
68
+ lowLatency?: boolean;
69
+ userLocations?: string[];
70
+ requiredServices?: Array<keyof RegionInfo['services']>;
71
+ }
72
+ export declare function suggestRegions(requirements: RegionRequirements): RegionInfo[];
73
+ /**
74
+ * Calculate region pairs for failover
75
+ */
76
+ export interface RegionPairSuggestion {
77
+ primary: RegionInfo;
78
+ secondary: RegionInfo;
79
+ distance: number;
80
+ sameContinent: boolean;
81
+ }
82
+ export declare function suggestRegionPairs(primaryRegion: string): RegionPairSuggestion[];
83
+ /**
84
+ * Format region for display
85
+ */
86
+ export declare function formatRegion(region: RegionInfo): string;
87
+ /**
88
+ * Format region list for display
89
+ */
90
+ export declare function formatRegionList(regions: RegionInfo[]): string;
91
+ /**
92
+ * Get region statistics
93
+ */
94
+ export declare function getRegionStats(): {
95
+ total: number;
96
+ byContinent: Record<string, number>;
97
+ byPricingTier: Record<string, number>;
98
+ };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Network Security - WAF, Shield, security groups, NACLs
3
+ */
4
+ export interface WAFRule {
5
+ id: string;
6
+ name: string;
7
+ priority: number;
8
+ action: 'allow' | 'block' | 'count';
9
+ conditions: string[];
10
+ }
11
+ export interface ShieldProtection {
12
+ id: string;
13
+ resourceArn: string;
14
+ protectionType: 'standard' | 'advanced';
15
+ }
16
+ export interface SecurityGroup {
17
+ id: string;
18
+ name: string;
19
+ vpcId: string;
20
+ rules: Array<{
21
+ protocol: string;
22
+ port: number;
23
+ source: string;
24
+ }>;
25
+ }
26
+ export interface NACL {
27
+ id: string;
28
+ vpcId: string;
29
+ rules: Array<{
30
+ ruleNumber: number;
31
+ protocol: string;
32
+ action: 'allow' | 'deny';
33
+ }>;
34
+ }
35
+ export declare class NetworkSecurityManager {
36
+ private wafRules;
37
+ private shieldProtections;
38
+ private securityGroups;
39
+ private nacls;
40
+ private counter;
41
+ createWAFRule(name: string, priority: number, action: 'allow' | 'block' | 'count', conditions: string[]): WAFRule;
42
+ enableShield(resourceArn: string, protectionType?: 'standard' | 'advanced'): ShieldProtection;
43
+ createSecurityGroup(name: string, vpcId: string, rules: Array<{
44
+ protocol: string;
45
+ port: number;
46
+ source: string;
47
+ }>): SecurityGroup;
48
+ createNACL(vpcId: string, rules: Array<{
49
+ ruleNumber: number;
50
+ protocol: string;
51
+ action: 'allow' | 'deny';
52
+ }>): NACL;
53
+ clear(): void;
54
+ }
55
+ export declare const networkSecurityManager: NetworkSecurityManager;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Observability Module
3
+ * Comprehensive monitoring, logging, and tracing for cloud applications
4
+ */
5
+ export * from './xray';
6
+ export * from './metrics';
7
+ export * from './logs';
8
+ export * from './synthetics';