@ts-cloud/core 0.2.2 → 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,227 @@
1
+ /**
2
+ * S3 Advanced Features
3
+ * Object Lock, Transfer Acceleration, Access Points, Glacier, Inventory, Batch Operations, Event Notifications
4
+ */
5
+ export interface LifecyclePolicy {
6
+ id: string;
7
+ transitions: Array<{
8
+ days: number;
9
+ storageClass: string;
10
+ }>;
11
+ expiration?: number;
12
+ }
13
+ export interface VersioningConfig {
14
+ id: string;
15
+ enabled: boolean;
16
+ mfaDelete: boolean;
17
+ }
18
+ export interface ReplicationRule {
19
+ id: string;
20
+ sourceRegion: string;
21
+ destRegion: string;
22
+ destBucket: string;
23
+ }
24
+ export interface IntelligentTieringConfig {
25
+ id: string;
26
+ archiveDays: number;
27
+ deepArchiveDays: number;
28
+ }
29
+ export interface ObjectLockConfig {
30
+ id: string;
31
+ bucketName: string;
32
+ mode: 'COMPLIANCE' | 'GOVERNANCE';
33
+ retentionDays?: number;
34
+ retentionYears?: number;
35
+ legalHoldEnabled: boolean;
36
+ }
37
+ export interface TransferAccelerationConfig {
38
+ id: string;
39
+ bucketName: string;
40
+ enabled: boolean;
41
+ endpoint: string;
42
+ }
43
+ export interface AccessPoint {
44
+ id: string;
45
+ name: string;
46
+ bucketName: string;
47
+ vpcId?: string;
48
+ publicAccessBlock: boolean;
49
+ policy?: Record<string, any>;
50
+ }
51
+ export interface GlacierArchiveConfig {
52
+ id: string;
53
+ bucketName: string;
54
+ archiveType: 'GLACIER' | 'DEEP_ARCHIVE';
55
+ transitionDays: number;
56
+ restoreConfig?: {
57
+ tier: 'Expedited' | 'Standard' | 'Bulk';
58
+ days: number;
59
+ };
60
+ }
61
+ export interface InventoryConfig {
62
+ id: string;
63
+ sourceBucket: string;
64
+ destinationBucket: string;
65
+ schedule: 'Daily' | 'Weekly';
66
+ format: 'CSV' | 'ORC' | 'Parquet';
67
+ includedFields: string[];
68
+ prefix?: string;
69
+ }
70
+ export interface BatchOperation {
71
+ id: string;
72
+ operation: 'Copy' | 'Delete' | 'RestoreObject' | 'Tagging' | 'ACL' | 'ObjectLock';
73
+ manifestBucket: string;
74
+ manifestKey: string;
75
+ priority: number;
76
+ status: 'pending' | 'in_progress' | 'completed' | 'failed';
77
+ totalObjects?: number;
78
+ processedObjects?: number;
79
+ }
80
+ export interface EventNotification {
81
+ id: string;
82
+ bucketName: string;
83
+ events: Array<'s3:ObjectCreated:*' | 's3:ObjectRemoved:*' | 's3:ObjectRestore:*' | 's3:Replication:*'>;
84
+ destination: {
85
+ type: 'Lambda' | 'SQS' | 'SNS';
86
+ arn: string;
87
+ };
88
+ filter?: {
89
+ prefix?: string;
90
+ suffix?: string;
91
+ };
92
+ }
93
+ export declare class StorageAdvancedManager {
94
+ private policies;
95
+ private versioningConfigs;
96
+ private replicationRules;
97
+ private tieringConfigs;
98
+ private objectLocks;
99
+ private transferAcceleration;
100
+ private accessPoints;
101
+ private glacierConfigs;
102
+ private inventories;
103
+ private batchOps;
104
+ private eventNotifications;
105
+ private counter;
106
+ createLifecyclePolicy(transitions: Array<{
107
+ days: number;
108
+ storageClass: string;
109
+ }>, expiration?: number): LifecyclePolicy;
110
+ enableVersioning(mfaDelete?: boolean): VersioningConfig;
111
+ createReplicationRule(sourceRegion: string, destRegion: string, destBucket: string): ReplicationRule;
112
+ createIntelligentTiering(archiveDays: number, deepArchiveDays: number): IntelligentTieringConfig;
113
+ /**
114
+ * Enable S3 Object Lock in compliance mode
115
+ */
116
+ enableObjectLock(options: {
117
+ bucketName: string;
118
+ mode?: 'COMPLIANCE' | 'GOVERNANCE';
119
+ retentionDays?: number;
120
+ retentionYears?: number;
121
+ legalHoldEnabled?: boolean;
122
+ }): ObjectLockConfig;
123
+ /**
124
+ * Enable S3 Transfer Acceleration
125
+ */
126
+ enableTransferAcceleration(bucketName: string): TransferAccelerationConfig;
127
+ /**
128
+ * Create S3 Access Point
129
+ */
130
+ createAccessPoint(options: {
131
+ name: string;
132
+ bucketName: string;
133
+ vpcId?: string;
134
+ publicAccessBlock?: boolean;
135
+ policy?: Record<string, any>;
136
+ }): AccessPoint;
137
+ /**
138
+ * Configure Glacier Deep Archive
139
+ */
140
+ createGlacierArchive(options: {
141
+ bucketName: string;
142
+ archiveType: 'GLACIER' | 'DEEP_ARCHIVE';
143
+ transitionDays: number;
144
+ restoreTier?: 'Expedited' | 'Standard' | 'Bulk';
145
+ restoreDays?: number;
146
+ }): GlacierArchiveConfig;
147
+ /**
148
+ * Create S3 Inventory configuration
149
+ */
150
+ createInventory(options: {
151
+ sourceBucket: string;
152
+ destinationBucket: string;
153
+ schedule?: 'Daily' | 'Weekly';
154
+ format?: 'CSV' | 'ORC' | 'Parquet';
155
+ includedFields?: string[];
156
+ prefix?: string;
157
+ }): InventoryConfig;
158
+ /**
159
+ * Create S3 Batch Operation
160
+ */
161
+ createBatchOperation(options: {
162
+ operation: 'Copy' | 'Delete' | 'RestoreObject' | 'Tagging' | 'ACL' | 'ObjectLock';
163
+ manifestBucket: string;
164
+ manifestKey: string;
165
+ priority?: number;
166
+ }): BatchOperation;
167
+ /**
168
+ * Execute batch operation
169
+ */
170
+ executeBatchOperation(batchOpId: string): BatchOperation;
171
+ /**
172
+ * Get batch operation status
173
+ */
174
+ getBatchOperationStatus(batchOpId: string): BatchOperation | undefined;
175
+ /**
176
+ * Create S3 Event Notification for Lambda
177
+ */
178
+ createLambdaNotification(options: {
179
+ bucketName: string;
180
+ lambdaArn: string;
181
+ events: Array<'s3:ObjectCreated:*' | 's3:ObjectRemoved:*' | 's3:ObjectRestore:*' | 's3:Replication:*'>;
182
+ prefix?: string;
183
+ suffix?: string;
184
+ }): EventNotification;
185
+ /**
186
+ * Create S3 Event Notification for SQS
187
+ */
188
+ createSQSNotification(options: {
189
+ bucketName: string;
190
+ queueArn: string;
191
+ events: Array<'s3:ObjectCreated:*' | 's3:ObjectRemoved:*' | 's3:ObjectRestore:*' | 's3:Replication:*'>;
192
+ prefix?: string;
193
+ suffix?: string;
194
+ }): EventNotification;
195
+ /**
196
+ * Create S3 Event Notification for SNS
197
+ */
198
+ createSNSNotification(options: {
199
+ bucketName: string;
200
+ topicArn: string;
201
+ events: Array<'s3:ObjectCreated:*' | 's3:ObjectRemoved:*' | 's3:ObjectRestore:*' | 's3:Replication:*'>;
202
+ prefix?: string;
203
+ suffix?: string;
204
+ }): EventNotification;
205
+ /**
206
+ * Generate CloudFormation for Object Lock
207
+ */
208
+ generateObjectLockCF(config: ObjectLockConfig): any;
209
+ /**
210
+ * Generate CloudFormation for Transfer Acceleration
211
+ */
212
+ generateTransferAccelerationCF(config: TransferAccelerationConfig): any;
213
+ /**
214
+ * Generate CloudFormation for Access Point
215
+ */
216
+ generateAccessPointCF(accessPoint: AccessPoint): any;
217
+ /**
218
+ * Generate CloudFormation for Inventory
219
+ */
220
+ generateInventoryCF(inventory: InventoryConfig): any;
221
+ /**
222
+ * Generate CloudFormation for Event Notification
223
+ */
224
+ generateEventNotificationCF(notification: EventNotification): any;
225
+ clear(): void;
226
+ }
227
+ export declare const storageAdvancedManager: StorageAdvancedManager;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * JSON Schema export for IDE integration
3
+ */
4
+ import schema from './cloud-config.schema.json';
5
+ export { schema as cloudConfigSchema };
6
+ /**
7
+ * Validate configuration against JSON schema
8
+ */
9
+ export declare function validateAgainstSchema(config: any): {
10
+ valid: boolean;
11
+ errors: string[];
12
+ };
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Certificate Lifecycle Management
3
+ * Automated certificate provisioning, renewal, and monitoring
4
+ */
5
+ export interface Certificate {
6
+ id: string;
7
+ arn: string;
8
+ domainName: string;
9
+ subjectAlternativeNames?: string[];
10
+ validationMethod: 'DNS' | 'EMAIL';
11
+ status: CertificateStatus;
12
+ issuer?: string;
13
+ issuedAt?: Date;
14
+ expiresAt?: Date;
15
+ renewalEligibility?: boolean;
16
+ inUseBy?: string[];
17
+ }
18
+ export type CertificateStatus = 'PENDING_VALIDATION' | 'ISSUED' | 'INACTIVE' | 'EXPIRED' | 'VALIDATION_TIMED_OUT' | 'REVOKED' | 'FAILED';
19
+ export interface CertificateRenewal {
20
+ id: string;
21
+ certificateArn: string;
22
+ autoRenew: boolean;
23
+ renewBeforeDays: number;
24
+ lastRenewal?: Date;
25
+ nextRenewal?: Date;
26
+ renewalStatus?: 'success' | 'pending' | 'failed';
27
+ }
28
+ export interface CertificateValidation {
29
+ domainName: string;
30
+ validationMethod: 'DNS' | 'EMAIL';
31
+ validationStatus: 'PENDING' | 'SUCCESS' | 'FAILED';
32
+ resourceRecords?: DnsRecord[];
33
+ validationEmails?: string[];
34
+ }
35
+ export interface DnsRecord {
36
+ name: string;
37
+ type: 'CNAME' | 'A' | 'AAAA' | 'TXT';
38
+ value: string;
39
+ }
40
+ export interface CertificateMonitor {
41
+ id: string;
42
+ name: string;
43
+ certificates: string[];
44
+ expirationThreshold: number;
45
+ alertEnabled: boolean;
46
+ snsTopicArn?: string;
47
+ }
48
+ export interface CertificateAlert {
49
+ id: string;
50
+ certificateArn: string;
51
+ alertType: 'expiring_soon' | 'expired' | 'renewal_failed' | 'validation_failed';
52
+ severity: 'critical' | 'warning' | 'info';
53
+ message: string;
54
+ timestamp: Date;
55
+ acknowledged?: boolean;
56
+ }
57
+ /**
58
+ * Certificate manager
59
+ */
60
+ export declare class CertificateManager {
61
+ private certificates;
62
+ private renewals;
63
+ private validations;
64
+ private monitors;
65
+ private alerts;
66
+ private certificateCounter;
67
+ private renewalCounter;
68
+ private validationCounter;
69
+ private monitorCounter;
70
+ private alertCounter;
71
+ /**
72
+ * Request certificate
73
+ */
74
+ requestCertificate(options: {
75
+ domainName: string;
76
+ subjectAlternativeNames?: string[];
77
+ validationMethod?: 'DNS' | 'EMAIL';
78
+ }): Certificate;
79
+ /**
80
+ * Request wildcard certificate
81
+ */
82
+ requestWildcardCertificate(options: {
83
+ domainName: string;
84
+ includeApex?: boolean;
85
+ }): Certificate;
86
+ /**
87
+ * Request multi-domain certificate
88
+ */
89
+ requestMultiDomainCertificate(options: {
90
+ primaryDomain: string;
91
+ additionalDomains: string[];
92
+ validationMethod?: 'DNS' | 'EMAIL';
93
+ }): Certificate;
94
+ /**
95
+ * Create certificate validation
96
+ */
97
+ private createValidation;
98
+ /**
99
+ * Validate certificate
100
+ */
101
+ validateCertificate(certificateId: string): {
102
+ success: boolean;
103
+ message: string;
104
+ };
105
+ /**
106
+ * Enable auto-renewal
107
+ */
108
+ enableAutoRenewal(options: {
109
+ certificateArn: string;
110
+ renewBeforeDays?: number;
111
+ }): CertificateRenewal;
112
+ /**
113
+ * Renew certificate
114
+ */
115
+ renewCertificate(renewalId: string): Promise<{
116
+ success: boolean;
117
+ message: string;
118
+ }>;
119
+ /**
120
+ * Create certificate monitor
121
+ */
122
+ createMonitor(monitor: Omit<CertificateMonitor, 'id'>): CertificateMonitor;
123
+ /**
124
+ * Check certificate expiration
125
+ */
126
+ checkExpiration(): CertificateAlert[];
127
+ /**
128
+ * Create alert
129
+ */
130
+ createAlert(alert: Omit<CertificateAlert, 'id' | 'timestamp' | 'acknowledged'>): CertificateAlert;
131
+ /**
132
+ * Acknowledge alert
133
+ */
134
+ acknowledgeAlert(alertId: string): void;
135
+ /**
136
+ * Get certificate
137
+ */
138
+ getCertificate(id: string): Certificate | undefined;
139
+ /**
140
+ * List certificates
141
+ */
142
+ listCertificates(): Certificate[];
143
+ /**
144
+ * Get expiring certificates
145
+ */
146
+ getExpiringCertificates(days?: number): Certificate[];
147
+ /**
148
+ * Get validation
149
+ */
150
+ getValidation(certificateId: string): CertificateValidation | undefined;
151
+ /**
152
+ * Get renewal
153
+ */
154
+ getRenewal(id: string): CertificateRenewal | undefined;
155
+ /**
156
+ * List renewals
157
+ */
158
+ listRenewals(): CertificateRenewal[];
159
+ /**
160
+ * List alerts
161
+ */
162
+ listAlerts(acknowledged?: boolean): CertificateAlert[];
163
+ /**
164
+ * Generate CloudFormation for certificate
165
+ */
166
+ generateCertificateCF(certificate: Certificate): any;
167
+ /**
168
+ * Generate CloudWatch alarm for expiration
169
+ */
170
+ generateExpirationAlarmCF(options: {
171
+ alarmName: string;
172
+ certificateArn: string;
173
+ daysBeforeExpiration: number;
174
+ snsTopicArn?: string;
175
+ }): any;
176
+ /**
177
+ * Clear all data
178
+ */
179
+ clear(): void;
180
+ }
181
+ /**
182
+ * Global certificate manager instance
183
+ */
184
+ export declare const certificateManager: CertificateManager;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Security Module
3
+ * Secrets management, certificate lifecycle, and security scanning
4
+ */
5
+ export * from './secrets-rotation';
6
+ export * from './secrets-manager';
7
+ export * from './certificate-manager';
8
+ export * from './scanning';
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Security Scanning & Vulnerability Assessment
3
+ * Automated security scanning, vulnerability detection, and compliance checking
4
+ */
5
+ export interface SecurityScan {
6
+ id: string;
7
+ name: string;
8
+ scanType: ScanType;
9
+ target: ScanTarget;
10
+ status: 'queued' | 'running' | 'completed' | 'failed';
11
+ startedAt?: Date;
12
+ completedAt?: Date;
13
+ findings: SecurityFinding[];
14
+ summary?: ScanSummary;
15
+ }
16
+ export type ScanType = 'vulnerability' | 'container_image' | 'code_quality' | 'secrets_detection' | 'compliance' | 'penetration_test';
17
+ export interface ScanTarget {
18
+ type: 'ecr_image' | 'ec2_instance' | 'lambda' | 'api' | 'repository';
19
+ identifier: string;
20
+ region?: string;
21
+ }
22
+ export interface SecurityFinding {
23
+ id: string;
24
+ severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'INFO';
25
+ title: string;
26
+ description: string;
27
+ cve?: string;
28
+ cvss?: number;
29
+ affectedResource: string;
30
+ remediation?: string;
31
+ status: 'OPEN' | 'SUPPRESSED' | 'RESOLVED';
32
+ firstDetected: Date;
33
+ lastSeen: Date;
34
+ }
35
+ export interface ScanSummary {
36
+ totalFindings: number;
37
+ criticalCount: number;
38
+ highCount: number;
39
+ mediumCount: number;
40
+ lowCount: number;
41
+ infoCount: number;
42
+ executionTime: number;
43
+ }
44
+ export interface VulnerabilityReport {
45
+ id: string;
46
+ scanId: string;
47
+ reportType: 'summary' | 'detailed' | 'executive';
48
+ format: 'json' | 'pdf' | 'html';
49
+ generatedAt: Date;
50
+ s3Location?: string;
51
+ }
52
+ export interface ComplianceCheck {
53
+ id: string;
54
+ framework: ComplianceFramework;
55
+ checkId: string;
56
+ title: string;
57
+ description: string;
58
+ status: 'PASS' | 'FAIL' | 'WARNING' | 'NOT_APPLICABLE';
59
+ severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
60
+ resourceType: string;
61
+ resourceId: string;
62
+ remediation?: string;
63
+ }
64
+ export type ComplianceFramework = 'CIS_AWS_FOUNDATIONS_1_4' | 'CIS_AWS_FOUNDATIONS_1_2' | 'PCI_DSS_3_2_1' | 'HIPAA' | 'SOC2' | 'NIST_800_53' | 'ISO_27001';
65
+ export interface SecurityPosture {
66
+ id: string;
67
+ accountId: string;
68
+ region: string;
69
+ score: number;
70
+ grade: 'A' | 'B' | 'C' | 'D' | 'F';
71
+ assessedAt: Date;
72
+ strengths: string[];
73
+ weaknesses: string[];
74
+ recommendations: string[];
75
+ }
76
+ /**
77
+ * Security scanning manager
78
+ */
79
+ export declare class SecurityScanningManager {
80
+ private scans;
81
+ private findings;
82
+ private reports;
83
+ private complianceChecks;
84
+ private postures;
85
+ private scanCounter;
86
+ private findingCounter;
87
+ private reportCounter;
88
+ private checkCounter;
89
+ private postureCounter;
90
+ /**
91
+ * Create security scan
92
+ */
93
+ createScan(scan: Omit<SecurityScan, 'id' | 'status' | 'findings'>): SecurityScan;
94
+ /**
95
+ * Create container image scan
96
+ */
97
+ createContainerScan(options: {
98
+ name: string;
99
+ imageUri: string;
100
+ region?: string;
101
+ }): SecurityScan;
102
+ /**
103
+ * Create Lambda function scan
104
+ */
105
+ createLambdaScan(options: {
106
+ name: string;
107
+ functionName: string;
108
+ region?: string;
109
+ }): SecurityScan;
110
+ /**
111
+ * Create secrets detection scan
112
+ */
113
+ createSecretsDetectionScan(options: {
114
+ name: string;
115
+ repositoryUrl: string;
116
+ }): SecurityScan;
117
+ /**
118
+ * Execute scan
119
+ */
120
+ executeScan(scanId: string): Promise<SecurityScan>;
121
+ /**
122
+ * Simulate findings (in production, this would call actual scanning tools)
123
+ */
124
+ private simulateFindings;
125
+ /**
126
+ * Create finding
127
+ */
128
+ createFinding(finding: Omit<SecurityFinding, 'id'>): SecurityFinding;
129
+ /**
130
+ * Suppress finding
131
+ */
132
+ suppressFinding(findingId: string, reason?: string): void;
133
+ /**
134
+ * Resolve finding
135
+ */
136
+ resolveFinding(findingId: string): void;
137
+ /**
138
+ * Generate vulnerability report
139
+ */
140
+ generateReport(options: {
141
+ scanId: string;
142
+ reportType: 'summary' | 'detailed' | 'executive';
143
+ format: 'json' | 'pdf' | 'html';
144
+ }): VulnerabilityReport;
145
+ /**
146
+ * Run compliance check
147
+ */
148
+ runComplianceCheck(options: {
149
+ framework: ComplianceFramework;
150
+ resourceType: string;
151
+ resourceId: string;
152
+ }): ComplianceCheck[];
153
+ /**
154
+ * Create compliance check
155
+ */
156
+ createComplianceCheck(check: Omit<ComplianceCheck, 'id'>): ComplianceCheck;
157
+ /**
158
+ * Assess security posture
159
+ */
160
+ assessSecurityPosture(options: {
161
+ accountId: string;
162
+ region: string;
163
+ }): SecurityPosture;
164
+ /**
165
+ * Get scan
166
+ */
167
+ getScan(id: string): SecurityScan | undefined;
168
+ /**
169
+ * List scans
170
+ */
171
+ listScans(): SecurityScan[];
172
+ /**
173
+ * Get open findings by severity
174
+ */
175
+ getOpenFindings(severity?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'INFO'): SecurityFinding[];
176
+ /**
177
+ * Get compliance checks by status
178
+ */
179
+ getComplianceChecksByStatus(status: 'PASS' | 'FAIL' | 'WARNING' | 'NOT_APPLICABLE'): ComplianceCheck[];
180
+ /**
181
+ * List postures
182
+ */
183
+ listPostures(): SecurityPosture[];
184
+ /**
185
+ * Generate CloudFormation for ECR image scanning
186
+ */
187
+ generateECRScanCF(repositoryName: string): any;
188
+ /**
189
+ * Clear all data
190
+ */
191
+ clear(): void;
192
+ }
193
+ /**
194
+ * Global security scanning manager instance
195
+ */
196
+ export declare const securityScanningManager: SecurityScanningManager;