@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.
- package/dist/advanced-features.test.d.ts +1 -0
- package/dist/aws/cloudformation.d.ts +136 -0
- package/dist/aws/cloudfront.d.ts +45 -0
- package/dist/aws/credentials.d.ts +77 -0
- package/dist/aws/credentials.test.d.ts +4 -0
- package/dist/aws/index.d.ts +10 -0
- package/dist/aws/s3.d.ts +256 -0
- package/dist/aws/s3.test.d.ts +4 -0
- package/dist/aws/signature.d.ts +142 -0
- package/dist/aws/signature.test.d.ts +4 -0
- package/dist/backup/disaster-recovery.d.ts +140 -0
- package/dist/backup/disaster-recovery.test.d.ts +1 -0
- package/dist/backup/index.d.ts +8 -0
- package/dist/backup/manager.d.ts +172 -0
- package/dist/backup/manager.test.d.ts +1 -0
- package/dist/cicd/circleci.d.ts +50 -0
- package/dist/cicd/github-actions.d.ts +62 -0
- package/dist/cicd/gitlab-ci.d.ts +50 -0
- package/dist/cicd/index.d.ts +7 -0
- package/dist/cli/history.d.ts +137 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/progress.d.ts +193 -0
- package/dist/cli/repl.d.ts +148 -0
- package/dist/cli/suggestions.d.ts +74 -0
- package/dist/cli/table.d.ts +73 -0
- package/dist/cli/table.test.d.ts +1 -0
- package/dist/cloudformation/builder.d.ts +93 -0
- package/dist/cloudformation/builder.test.d.ts +4 -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 +68 -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 +39 -0
- package/dist/cloudformation/builders/network.d.ts +14 -0
- package/dist/cloudformation/builders/queue.d.ts +16 -0
- package/dist/cloudformation/builders/security.d.ts +31 -0
- package/dist/cloudformation/builders/storage.d.ts +36 -0
- package/dist/cloudformation/index.d.ts +10 -0
- package/dist/cloudformation/types.d.ts +200 -0
- package/dist/compliance/aws-config.d.ts +175 -0
- package/dist/compliance/cloudtrail.d.ts +132 -0
- package/dist/compliance/compliance.test.d.ts +1 -0
- package/dist/compliance/guardduty.d.ts +176 -0
- package/dist/compliance/index.d.ts +12 -0
- package/dist/compliance/security-hub.d.ts +178 -0
- package/dist/containers/build-optimization.d.ts +155 -0
- package/dist/containers/containers.test.d.ts +1 -0
- package/dist/containers/image-scanning.d.ts +144 -0
- package/dist/containers/index.d.ts +8 -0
- package/dist/containers/registry.d.ts +129 -0
- package/dist/containers/service-mesh.d.ts +254 -0
- package/dist/database/database.test.d.ts +1 -0
- package/dist/database/index.d.ts +8 -0
- package/dist/database/migrations.d.ts +153 -0
- package/dist/database/performance.d.ts +219 -0
- package/dist/database/replicas.d.ts +218 -0
- package/dist/database/users.d.ts +165 -0
- package/dist/dependency-graph.d.ts +37 -0
- package/dist/deployment/ab-testing.d.ts +165 -0
- package/dist/deployment/blue-green.d.ts +140 -0
- package/dist/deployment/canary.d.ts +165 -0
- package/dist/deployment/deployment.test.d.ts +1 -0
- package/dist/deployment/index.d.ts +12 -0
- package/dist/deployment/progressive.d.ts +50 -0
- package/dist/dns/dns.test.d.ts +1 -0
- package/dist/dns/dnssec.d.ts +120 -0
- package/dist/dns/index.d.ts +7 -0
- package/dist/dns/resolver.d.ts +216 -0
- package/dist/dns/routing.d.ts +277 -0
- package/dist/email/advanced/analytics.d.ts +107 -0
- package/dist/email/advanced/index.d.ts +10 -0
- package/dist/email/advanced/rules.d.ts +131 -0
- package/dist/email/advanced/scheduling.d.ts +81 -0
- package/dist/email/advanced/search.d.ts +91 -0
- package/dist/email/advanced/shared-mailboxes.d.ts +109 -0
- package/dist/email/advanced/templates.d.ts +95 -0
- package/dist/email/advanced/threading.d.ts +65 -0
- package/dist/email/analytics.d.ts +189 -0
- package/dist/email/bounce-handling.d.ts +171 -0
- package/dist/email/email.test.d.ts +1 -0
- package/dist/email/handlers/__tests__/inbound.test.d.ts +1 -0
- package/dist/email/handlers/__tests__/outbound.test.d.ts +1 -0
- package/dist/email/handlers/converter.d.ts +11 -0
- package/dist/email/handlers/feedback.d.ts +11 -0
- package/dist/email/handlers/inbound.d.ts +13 -0
- package/dist/email/handlers/outbound.d.ts +13 -0
- package/dist/email/index.d.ts +10 -0
- package/dist/email/reputation.d.ts +133 -0
- package/dist/email/templates.d.ts +124 -0
- package/dist/errors/index.d.ts +177 -0
- package/dist/errors/index.test.d.ts +4 -0
- package/dist/health-checks/index.d.ts +35 -0
- package/dist/index.d.ts +15 -256
- package/dist/index.js +228 -80
- package/dist/intrinsic-functions.d.ts +77 -0
- package/dist/lambda/concurrency.d.ts +146 -0
- package/dist/lambda/destinations.d.ts +141 -0
- package/dist/lambda/dlq.d.ts +160 -0
- package/dist/lambda/index.d.ts +10 -0
- package/dist/lambda/lambda.test.d.ts +1 -0
- package/dist/lambda/layers.d.ts +117 -0
- package/dist/lambda/versions.d.ts +145 -0
- package/dist/lambda/vpc.d.ts +164 -0
- package/dist/local/config.d.ts +44 -0
- package/dist/local/index.d.ts +5 -0
- package/dist/local/mock-aws.d.ts +69 -0
- package/dist/modules/ai.d.ts +108 -0
- package/dist/modules/api.d.ts +157 -0
- package/dist/modules/auth.d.ts +262 -0
- package/dist/modules/cache.d.ts +108 -0
- package/dist/modules/cdn.d.ts +305 -0
- package/dist/modules/communication.d.ts +117 -0
- package/dist/modules/compute.d.ts +1376 -0
- package/dist/modules/database.d.ts +144 -0
- package/dist/modules/deployment.d.ts +372 -0
- package/dist/modules/dns.d.ts +143 -0
- package/dist/modules/email.d.ts +314 -0
- package/dist/modules/filesystem.d.ts +132 -0
- package/dist/modules/index.d.ts +31 -0
- package/dist/modules/messaging.d.ts +210 -0
- package/dist/modules/monitoring.d.ts +574 -0
- package/dist/modules/network.d.ts +148 -0
- package/dist/modules/parameter-store.d.ts +143 -0
- package/dist/modules/permissions.d.ts +245 -0
- package/dist/modules/phone.d.ts +125 -0
- package/dist/modules/queue.d.ts +411 -0
- package/dist/modules/redirects.d.ts +140 -0
- package/dist/modules/registry.d.ts +189 -0
- package/dist/modules/search.d.ts +135 -0
- package/dist/modules/secrets.d.ts +149 -0
- package/dist/modules/security.d.ts +219 -0
- package/dist/modules/sms.d.ts +130 -0
- package/dist/modules/storage.d.ts +344 -0
- package/dist/modules/workflow.d.ts +288 -0
- package/dist/multi-account/config.d.ts +166 -0
- package/dist/multi-account/index.d.ts +6 -0
- package/dist/multi-account/manager.d.ts +181 -0
- package/dist/multi-region/cross-region.d.ts +204 -0
- package/dist/multi-region/index.d.ts +7 -0
- package/dist/multi-region/manager.d.ts +136 -0
- package/dist/multi-region/regions.d.ts +98 -0
- package/dist/network-security/index.d.ts +55 -0
- package/dist/observability/index.d.ts +8 -0
- package/dist/observability/logs.d.ts +213 -0
- package/dist/observability/metrics.d.ts +187 -0
- package/dist/observability/observability.test.d.ts +1 -0
- package/dist/observability/synthetics.d.ts +189 -0
- package/dist/observability/xray.d.ts +193 -0
- package/dist/phone/advanced/analytics.d.ts +83 -0
- package/dist/phone/advanced/callbacks.d.ts +67 -0
- package/dist/phone/advanced/index.d.ts +7 -0
- package/dist/phone/advanced/ivr-builder.d.ts +130 -0
- package/dist/phone/advanced/recording.d.ts +62 -0
- package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +1 -0
- package/dist/phone/handlers/incoming-call.d.ts +10 -0
- package/dist/phone/handlers/missed-call.d.ts +9 -0
- package/dist/phone/handlers/voicemail.d.ts +10 -0
- package/dist/phone/index.d.ts +5 -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 +4 -0
- package/dist/presets/fullstack-app.d.ts +12 -0
- package/dist/presets/index.d.ts +13 -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 +1 -0
- package/dist/preview/index.d.ts +10 -0
- package/dist/preview/manager.d.ts +101 -0
- package/dist/preview/manager.test.d.ts +1 -0
- package/dist/preview/notifications.d.ts +89 -0
- package/dist/preview/notifications.test.d.ts +1 -0
- package/dist/queue/batch-processing.d.ts +138 -0
- package/dist/queue/dlq-monitoring.d.ts +143 -0
- package/dist/queue/fifo.d.ts +131 -0
- package/dist/queue/index.d.ts +8 -0
- package/dist/queue/management.d.ts +162 -0
- package/dist/queue/queue.test.d.ts +1 -0
- package/dist/resource-mgmt/index.d.ts +44 -0
- package/dist/resource-naming.d.ts +26 -0
- package/dist/s3/index.d.ts +227 -0
- package/dist/schema/index.d.ts +12 -0
- package/dist/security/certificate-manager.d.ts +184 -0
- package/dist/security/index.d.ts +8 -0
- package/dist/security/scanning.d.ts +196 -0
- package/dist/security/secrets-manager.d.ts +204 -0
- package/dist/security/secrets-rotation.d.ts +167 -0
- package/dist/security/security.test.d.ts +1 -0
- package/dist/sms/advanced/ab-testing.d.ts +74 -0
- package/dist/sms/advanced/analytics.d.ts +75 -0
- package/dist/sms/advanced/campaigns.d.ts +96 -0
- package/dist/sms/advanced/chatbot.d.ts +67 -0
- package/dist/sms/advanced/index.d.ts +9 -0
- package/dist/sms/advanced/link-tracking.d.ts +60 -0
- package/dist/sms/advanced/mms.d.ts +60 -0
- package/dist/sms/handlers/__tests__/send.test.d.ts +1 -0
- package/dist/sms/handlers/delivery-status.d.ts +10 -0
- package/dist/sms/handlers/receive.d.ts +10 -0
- package/dist/sms/handlers/send.d.ts +10 -0
- package/dist/sms/index.d.ts +5 -0
- package/dist/stack-diff.d.ts +38 -0
- package/dist/static-site/index.d.ts +49 -0
- package/dist/template-builder.d.ts +42 -0
- package/dist/template-validator.d.ts +28 -0
- package/dist/types.d.ts +2514 -0
- package/dist/utils/cache.d.ts +117 -0
- package/dist/utils/diff.d.ts +52 -0
- package/dist/utils/hash.d.ts +73 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/parallel.d.ts +78 -0
- package/dist/validators/credentials.d.ts +30 -0
- package/dist/validators/credentials.test.d.ts +4 -0
- package/dist/validators/quotas.d.ts +64 -0
- package/dist/validators/quotas.test.d.ts +4 -0
- 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,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;
|