@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,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Disaster Recovery Module
|
|
3
|
+
* Automated failover, recovery runbooks, and DR testing
|
|
4
|
+
*/
|
|
5
|
+
export interface DisasterRecoveryPlan {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
primaryRegion: string;
|
|
9
|
+
secondaryRegion: string;
|
|
10
|
+
rto: number;
|
|
11
|
+
rpo: number;
|
|
12
|
+
resources: DRResource[];
|
|
13
|
+
runbook: RecoveryRunbook;
|
|
14
|
+
testSchedule?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DRResource {
|
|
17
|
+
resourceId: string;
|
|
18
|
+
resourceType: 'rds' | 'dynamodb' | 'efs' | 's3' | 'ec2' | 'ecs';
|
|
19
|
+
primaryArn: string;
|
|
20
|
+
secondaryArn?: string;
|
|
21
|
+
replicationEnabled: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface RecoveryRunbook {
|
|
24
|
+
steps: RecoveryStep[];
|
|
25
|
+
estimatedDuration: number;
|
|
26
|
+
requiredApprovals?: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface RecoveryStep {
|
|
29
|
+
order: number;
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
action: string;
|
|
33
|
+
automatable: boolean;
|
|
34
|
+
estimatedDuration: number;
|
|
35
|
+
rollbackable: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface FailoverTest {
|
|
38
|
+
id: string;
|
|
39
|
+
planId: string;
|
|
40
|
+
status: 'scheduled' | 'running' | 'completed' | 'failed';
|
|
41
|
+
startTime: Date;
|
|
42
|
+
endTime?: Date;
|
|
43
|
+
results?: FailoverTestResult[];
|
|
44
|
+
}
|
|
45
|
+
export interface FailoverTestResult {
|
|
46
|
+
step: string;
|
|
47
|
+
status: 'success' | 'failed' | 'skipped';
|
|
48
|
+
duration: number;
|
|
49
|
+
message?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Disaster recovery manager
|
|
53
|
+
*/
|
|
54
|
+
export declare class DisasterRecoveryManager {
|
|
55
|
+
private drPlans;
|
|
56
|
+
private failoverTests;
|
|
57
|
+
private planCounter;
|
|
58
|
+
private testCounter;
|
|
59
|
+
/**
|
|
60
|
+
* Create disaster recovery plan
|
|
61
|
+
*/
|
|
62
|
+
createDRPlan(plan: Omit<DisasterRecoveryPlan, 'id'>): DisasterRecoveryPlan;
|
|
63
|
+
/**
|
|
64
|
+
* Create standard RDS DR plan
|
|
65
|
+
*/
|
|
66
|
+
createRDSDRPlan(options: {
|
|
67
|
+
primaryDbArn: string;
|
|
68
|
+
secondaryDbArn: string;
|
|
69
|
+
primaryRegion: string;
|
|
70
|
+
secondaryRegion: string;
|
|
71
|
+
rto?: number;
|
|
72
|
+
rpo?: number;
|
|
73
|
+
}): DisasterRecoveryPlan;
|
|
74
|
+
/**
|
|
75
|
+
* Create DynamoDB DR plan
|
|
76
|
+
*/
|
|
77
|
+
createDynamoDBDRPlan(options: {
|
|
78
|
+
tableArn: string;
|
|
79
|
+
regions: string[];
|
|
80
|
+
rto?: number;
|
|
81
|
+
rpo?: number;
|
|
82
|
+
}): DisasterRecoveryPlan;
|
|
83
|
+
/**
|
|
84
|
+
* Generate RDS disaster recovery runbook
|
|
85
|
+
*/
|
|
86
|
+
private generateRDSRunbook;
|
|
87
|
+
/**
|
|
88
|
+
* Generate DynamoDB disaster recovery runbook
|
|
89
|
+
*/
|
|
90
|
+
private generateDynamoDBRunbook;
|
|
91
|
+
/**
|
|
92
|
+
* Execute failover
|
|
93
|
+
*/
|
|
94
|
+
executeFailover(planId: string, dryRun?: boolean): Promise<{
|
|
95
|
+
success: boolean;
|
|
96
|
+
duration: number;
|
|
97
|
+
completedSteps: number;
|
|
98
|
+
failedStep?: string;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Schedule automated failover test
|
|
102
|
+
*/
|
|
103
|
+
scheduleFailoverTest(planId: string, testDate: Date): FailoverTest;
|
|
104
|
+
/**
|
|
105
|
+
* Run failover test
|
|
106
|
+
*/
|
|
107
|
+
runFailoverTest(planId: string): Promise<FailoverTest>;
|
|
108
|
+
/**
|
|
109
|
+
* Get DR plan
|
|
110
|
+
*/
|
|
111
|
+
getDRPlan(id: string): DisasterRecoveryPlan | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* List DR plans
|
|
114
|
+
*/
|
|
115
|
+
listDRPlans(): DisasterRecoveryPlan[];
|
|
116
|
+
/**
|
|
117
|
+
* Get failover test
|
|
118
|
+
*/
|
|
119
|
+
getFailoverTest(id: string): FailoverTest | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* List failover tests
|
|
122
|
+
*/
|
|
123
|
+
listFailoverTests(): FailoverTest[];
|
|
124
|
+
/**
|
|
125
|
+
* Validate DR plan
|
|
126
|
+
*/
|
|
127
|
+
validateDRPlan(plan: DisasterRecoveryPlan): {
|
|
128
|
+
valid: boolean;
|
|
129
|
+
warnings: string[];
|
|
130
|
+
errors: string[];
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Clear all data
|
|
134
|
+
*/
|
|
135
|
+
clear(): void;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Global disaster recovery manager instance
|
|
139
|
+
*/
|
|
140
|
+
export declare const drManager: DisasterRecoveryManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backup & Disaster Recovery
|
|
3
|
+
* Automated backup schedules and disaster recovery planning
|
|
4
|
+
*/
|
|
5
|
+
export { BackupManager, backupManager, } from './manager';
|
|
6
|
+
export type { BackupPlan, BackupResource, BackupLifecycle, BackupVault, RestoreJob, ContinuousBackup, } from './manager';
|
|
7
|
+
export { DisasterRecoveryManager, drManager, } from './disaster-recovery';
|
|
8
|
+
export type { DisasterRecoveryPlan, DRResource, RecoveryRunbook, RecoveryStep, FailoverTest, FailoverTestResult, } from './disaster-recovery';
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backup & Disaster Recovery Manager
|
|
3
|
+
* Automated backup schedules and disaster recovery
|
|
4
|
+
*/
|
|
5
|
+
export interface BackupPlan {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
schedule: string;
|
|
9
|
+
retentionDays: number;
|
|
10
|
+
vaultName: string;
|
|
11
|
+
resources: BackupResource[];
|
|
12
|
+
lifecycle?: BackupLifecycle;
|
|
13
|
+
tags?: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export interface BackupResource {
|
|
16
|
+
resourceArn: string;
|
|
17
|
+
resourceType: 'rds' | 's3' | 'ebs' | 'efs' | 'dynamodb' | 'ec2';
|
|
18
|
+
region: string;
|
|
19
|
+
}
|
|
20
|
+
export interface BackupLifecycle {
|
|
21
|
+
moveTocoldStorageAfterDays?: number;
|
|
22
|
+
deleteAfterDays?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface BackupVault {
|
|
25
|
+
name: string;
|
|
26
|
+
region: string;
|
|
27
|
+
encryptionKeyArn?: string;
|
|
28
|
+
accessPolicy?: any;
|
|
29
|
+
}
|
|
30
|
+
export interface RestoreJob {
|
|
31
|
+
id: string;
|
|
32
|
+
backupId: string;
|
|
33
|
+
resourceType: string;
|
|
34
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
35
|
+
startTime: Date;
|
|
36
|
+
endTime?: Date;
|
|
37
|
+
targetRegion?: string;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ContinuousBackup {
|
|
41
|
+
id: string;
|
|
42
|
+
resourceId: string;
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
retentionDays: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Backup manager for automated backup and recovery
|
|
48
|
+
*/
|
|
49
|
+
export declare class BackupManager {
|
|
50
|
+
private backupPlans;
|
|
51
|
+
private backupVaults;
|
|
52
|
+
private restoreJobs;
|
|
53
|
+
private continuousBackups;
|
|
54
|
+
private planCounter;
|
|
55
|
+
private restoreCounter;
|
|
56
|
+
private continuousBackupCounter;
|
|
57
|
+
/**
|
|
58
|
+
* Create backup vault
|
|
59
|
+
*/
|
|
60
|
+
createVault(vault: BackupVault): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get backup vault
|
|
63
|
+
*/
|
|
64
|
+
getVault(name: string): BackupVault | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Create backup plan
|
|
67
|
+
*/
|
|
68
|
+
createBackupPlan(plan: Omit<BackupPlan, 'id'>): BackupPlan;
|
|
69
|
+
/**
|
|
70
|
+
* Get backup plan
|
|
71
|
+
*/
|
|
72
|
+
getBackupPlan(id: string): BackupPlan | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* List all backup plans
|
|
75
|
+
*/
|
|
76
|
+
listBackupPlans(): BackupPlan[];
|
|
77
|
+
/**
|
|
78
|
+
* Create automated backup schedule for RDS
|
|
79
|
+
*/
|
|
80
|
+
createRDSBackupPlan(options: {
|
|
81
|
+
dbInstanceArn: string;
|
|
82
|
+
schedule?: string;
|
|
83
|
+
retentionDays?: number;
|
|
84
|
+
vaultName?: string;
|
|
85
|
+
}): BackupPlan;
|
|
86
|
+
/**
|
|
87
|
+
* Create automated backup schedule for DynamoDB
|
|
88
|
+
*/
|
|
89
|
+
createDynamoDBBackupPlan(options: {
|
|
90
|
+
tableArn: string;
|
|
91
|
+
schedule?: string;
|
|
92
|
+
retentionDays?: number;
|
|
93
|
+
crossRegionCopy?: string[];
|
|
94
|
+
}): BackupPlan;
|
|
95
|
+
/**
|
|
96
|
+
* Create automated backup schedule for EFS
|
|
97
|
+
*/
|
|
98
|
+
createEFSBackupPlan(options: {
|
|
99
|
+
fileSystemArn: string;
|
|
100
|
+
schedule?: string;
|
|
101
|
+
retentionDays?: number;
|
|
102
|
+
}): BackupPlan;
|
|
103
|
+
/**
|
|
104
|
+
* Enable continuous backup for a resource
|
|
105
|
+
*/
|
|
106
|
+
enableContinuousBackup(resourceId: string, retentionDays?: number): ContinuousBackup;
|
|
107
|
+
/**
|
|
108
|
+
* Get continuous backup configuration
|
|
109
|
+
*/
|
|
110
|
+
getContinuousBackup(id: string): ContinuousBackup | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* Create point-in-time recovery configuration
|
|
113
|
+
*/
|
|
114
|
+
enablePointInTimeRecovery(resourceArn: string, resourceType: 'rds' | 'dynamodb'): {
|
|
115
|
+
enabled: boolean;
|
|
116
|
+
earliestRestorableTime: Date;
|
|
117
|
+
latestRestorableTime: Date;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Restore from backup
|
|
121
|
+
*/
|
|
122
|
+
restoreFromBackup(options: {
|
|
123
|
+
backupId: string;
|
|
124
|
+
resourceType: string;
|
|
125
|
+
targetRegion?: string;
|
|
126
|
+
}): Promise<RestoreJob>;
|
|
127
|
+
/**
|
|
128
|
+
* Restore to point in time
|
|
129
|
+
*/
|
|
130
|
+
restoreToPointInTime(options: {
|
|
131
|
+
sourceResourceArn: string;
|
|
132
|
+
targetResourceName: string;
|
|
133
|
+
restoreTime: Date;
|
|
134
|
+
resourceType: 'rds' | 'dynamodb';
|
|
135
|
+
}): Promise<RestoreJob>;
|
|
136
|
+
/**
|
|
137
|
+
* Get restore job status
|
|
138
|
+
*/
|
|
139
|
+
getRestoreJob(id: string): RestoreJob | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* List restore jobs
|
|
142
|
+
*/
|
|
143
|
+
listRestoreJobs(): RestoreJob[];
|
|
144
|
+
/**
|
|
145
|
+
* Cross-region backup replication
|
|
146
|
+
*/
|
|
147
|
+
setupCrossRegionReplication(options: {
|
|
148
|
+
sourceVault: string;
|
|
149
|
+
sourceRegion: string;
|
|
150
|
+
targetRegions: string[];
|
|
151
|
+
}): void;
|
|
152
|
+
/**
|
|
153
|
+
* Generate CloudFormation for backup vault
|
|
154
|
+
*/
|
|
155
|
+
generateBackupVaultCF(vault: BackupVault): any;
|
|
156
|
+
/**
|
|
157
|
+
* Generate CloudFormation for backup plan
|
|
158
|
+
*/
|
|
159
|
+
generateBackupPlanCF(plan: BackupPlan): any;
|
|
160
|
+
/**
|
|
161
|
+
* Generate CloudFormation for backup selection
|
|
162
|
+
*/
|
|
163
|
+
generateBackupSelectionCF(plan: BackupPlan): any;
|
|
164
|
+
/**
|
|
165
|
+
* Clear all data
|
|
166
|
+
*/
|
|
167
|
+
clear(): void;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Global backup manager instance
|
|
171
|
+
*/
|
|
172
|
+
export declare const backupManager: BackupManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CircleCI Configuration Generator
|
|
3
|
+
* Generate CI/CD pipelines for CircleCI
|
|
4
|
+
*/
|
|
5
|
+
export interface CircleCIOptions {
|
|
6
|
+
awsRegion?: string;
|
|
7
|
+
dockerImage?: string;
|
|
8
|
+
bunVersion?: string;
|
|
9
|
+
deployCommand?: string;
|
|
10
|
+
testCommand?: string;
|
|
11
|
+
buildCommand?: string;
|
|
12
|
+
workflows?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generate deployment config
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateDeploymentConfig(options?: CircleCIOptions): string;
|
|
18
|
+
/**
|
|
19
|
+
* Generate multi-environment config
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateMultiEnvConfig(options: {
|
|
22
|
+
environments: Array<{
|
|
23
|
+
name: string;
|
|
24
|
+
branch: string;
|
|
25
|
+
}>;
|
|
26
|
+
awsRegion?: string;
|
|
27
|
+
}): string;
|
|
28
|
+
/**
|
|
29
|
+
* Generate scheduled workflow config
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateScheduledConfig(options: {
|
|
32
|
+
schedule: string;
|
|
33
|
+
environment: string;
|
|
34
|
+
awsRegion?: string;
|
|
35
|
+
}): string;
|
|
36
|
+
/**
|
|
37
|
+
* Generate approval workflow config
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateApprovalConfig(options: {
|
|
40
|
+
environments: string[];
|
|
41
|
+
awsRegion?: string;
|
|
42
|
+
}): string;
|
|
43
|
+
/**
|
|
44
|
+
* Generate parallel deployment config
|
|
45
|
+
*/
|
|
46
|
+
export declare function generateParallelConfig(options: {
|
|
47
|
+
regions: string[];
|
|
48
|
+
environment: string;
|
|
49
|
+
awsRegion?: string;
|
|
50
|
+
}): string;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Actions Workflow Generator
|
|
3
|
+
* Generate CI/CD workflows for GitHub Actions
|
|
4
|
+
*/
|
|
5
|
+
export interface GitHubActionsOptions {
|
|
6
|
+
workflowName?: string;
|
|
7
|
+
trigger?: 'push' | 'pull_request' | 'workflow_dispatch' | 'schedule';
|
|
8
|
+
branches?: string[];
|
|
9
|
+
schedule?: string;
|
|
10
|
+
environments?: string[];
|
|
11
|
+
awsRegion?: string;
|
|
12
|
+
awsRole?: string;
|
|
13
|
+
nodeVersion?: string;
|
|
14
|
+
bunVersion?: string;
|
|
15
|
+
deployCommand?: string;
|
|
16
|
+
testCommand?: string;
|
|
17
|
+
buildCommand?: string;
|
|
18
|
+
lintCommand?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Generate deployment workflow
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateDeploymentWorkflow(options?: GitHubActionsOptions): string;
|
|
24
|
+
/**
|
|
25
|
+
* Generate multi-environment deployment workflow
|
|
26
|
+
*/
|
|
27
|
+
export declare function generateMultiEnvWorkflow(options: {
|
|
28
|
+
environments: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
branch: string;
|
|
31
|
+
}>;
|
|
32
|
+
awsRegion?: string;
|
|
33
|
+
awsRole?: string;
|
|
34
|
+
}): string;
|
|
35
|
+
/**
|
|
36
|
+
* Generate PR preview workflow
|
|
37
|
+
*/
|
|
38
|
+
export declare function generatePRPreviewWorkflow(options?: {
|
|
39
|
+
awsRegion?: string;
|
|
40
|
+
awsRole?: string;
|
|
41
|
+
ttl?: number;
|
|
42
|
+
}): string;
|
|
43
|
+
/**
|
|
44
|
+
* Generate scheduled deployment workflow
|
|
45
|
+
*/
|
|
46
|
+
export declare function generateScheduledWorkflow(options: {
|
|
47
|
+
schedule: string;
|
|
48
|
+
environment: string;
|
|
49
|
+
awsRegion?: string;
|
|
50
|
+
awsRole?: string;
|
|
51
|
+
}): string;
|
|
52
|
+
/**
|
|
53
|
+
* Generate matrix deployment workflow (multiple regions/accounts)
|
|
54
|
+
*/
|
|
55
|
+
export declare function generateMatrixWorkflow(options: {
|
|
56
|
+
matrix: Array<{
|
|
57
|
+
environment: string;
|
|
58
|
+
region: string;
|
|
59
|
+
account?: string;
|
|
60
|
+
}>;
|
|
61
|
+
awsRole?: string;
|
|
62
|
+
}): string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitLab CI/CD Pipeline Generator
|
|
3
|
+
* Generate CI/CD pipelines for GitLab
|
|
4
|
+
*/
|
|
5
|
+
export interface GitLabCIOptions {
|
|
6
|
+
stages?: string[];
|
|
7
|
+
environments?: string[];
|
|
8
|
+
awsRegion?: string;
|
|
9
|
+
dockerImage?: string;
|
|
10
|
+
bunVersion?: string;
|
|
11
|
+
deployCommand?: string;
|
|
12
|
+
testCommand?: string;
|
|
13
|
+
buildCommand?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generate deployment pipeline
|
|
17
|
+
*/
|
|
18
|
+
export declare function generateDeploymentPipeline(options?: GitLabCIOptions): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate multi-environment pipeline
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateMultiEnvPipeline(options: {
|
|
23
|
+
environments: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
branch: string;
|
|
26
|
+
manual?: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
awsRegion?: string;
|
|
29
|
+
}): string;
|
|
30
|
+
/**
|
|
31
|
+
* Generate PR/MR preview pipeline
|
|
32
|
+
*/
|
|
33
|
+
export declare function generatePreviewPipeline(options?: {
|
|
34
|
+
awsRegion?: string;
|
|
35
|
+
ttl?: number;
|
|
36
|
+
}): string;
|
|
37
|
+
/**
|
|
38
|
+
* Generate scheduled pipeline
|
|
39
|
+
*/
|
|
40
|
+
export declare function generateScheduledPipeline(options: {
|
|
41
|
+
environment: string;
|
|
42
|
+
awsRegion?: string;
|
|
43
|
+
}): string;
|
|
44
|
+
/**
|
|
45
|
+
* Generate manual deployment pipeline
|
|
46
|
+
*/
|
|
47
|
+
export declare function generateManualPipeline(options: {
|
|
48
|
+
environments: string[];
|
|
49
|
+
awsRegion?: string;
|
|
50
|
+
}): string;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command history with search and persistence
|
|
3
|
+
* Tracks executed commands and provides search/replay functionality
|
|
4
|
+
*/
|
|
5
|
+
export interface HistoryEntry {
|
|
6
|
+
command: string;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
success: boolean;
|
|
9
|
+
duration?: number;
|
|
10
|
+
output?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface HistoryOptions {
|
|
13
|
+
maxSize?: number;
|
|
14
|
+
persistFile?: string;
|
|
15
|
+
trackOutput?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Command history manager
|
|
19
|
+
*/
|
|
20
|
+
export declare class CommandHistory {
|
|
21
|
+
private entries;
|
|
22
|
+
private maxSize;
|
|
23
|
+
private persistFile?;
|
|
24
|
+
private trackOutput;
|
|
25
|
+
constructor(options?: HistoryOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Add command to history
|
|
28
|
+
*/
|
|
29
|
+
add(entry: Omit<HistoryEntry, 'timestamp'>): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get all history entries
|
|
32
|
+
*/
|
|
33
|
+
getAll(): HistoryEntry[];
|
|
34
|
+
/**
|
|
35
|
+
* Get recent entries
|
|
36
|
+
*/
|
|
37
|
+
getRecent(count?: number): HistoryEntry[];
|
|
38
|
+
/**
|
|
39
|
+
* Search history by command text
|
|
40
|
+
*/
|
|
41
|
+
search(query: string): HistoryEntry[];
|
|
42
|
+
/**
|
|
43
|
+
* Search history by date range
|
|
44
|
+
*/
|
|
45
|
+
searchByDate(startDate: Date, endDate: Date): HistoryEntry[];
|
|
46
|
+
/**
|
|
47
|
+
* Get successful commands
|
|
48
|
+
*/
|
|
49
|
+
getSuccessful(): HistoryEntry[];
|
|
50
|
+
/**
|
|
51
|
+
* Get failed commands
|
|
52
|
+
*/
|
|
53
|
+
getFailed(): HistoryEntry[];
|
|
54
|
+
/**
|
|
55
|
+
* Get most used commands
|
|
56
|
+
*/
|
|
57
|
+
getMostUsed(count?: number): Array<{
|
|
58
|
+
command: string;
|
|
59
|
+
count: number;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Get statistics
|
|
63
|
+
*/
|
|
64
|
+
getStats(): {
|
|
65
|
+
total: number;
|
|
66
|
+
successful: number;
|
|
67
|
+
failed: number;
|
|
68
|
+
averageDuration: number;
|
|
69
|
+
mostUsed: string;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Clear history
|
|
73
|
+
*/
|
|
74
|
+
clear(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get entry by index
|
|
77
|
+
*/
|
|
78
|
+
getByIndex(index: number): HistoryEntry | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Remove entry by index
|
|
81
|
+
*/
|
|
82
|
+
removeByIndex(index: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* Save history to file
|
|
85
|
+
*/
|
|
86
|
+
save(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Load history from file
|
|
89
|
+
*/
|
|
90
|
+
load(): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Export history as JSON
|
|
93
|
+
*/
|
|
94
|
+
exportJSON(): string;
|
|
95
|
+
/**
|
|
96
|
+
* Export history as CSV
|
|
97
|
+
*/
|
|
98
|
+
exportCSV(): string;
|
|
99
|
+
/**
|
|
100
|
+
* Import history from JSON
|
|
101
|
+
*/
|
|
102
|
+
importJSON(json: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* Get history grouped by date
|
|
105
|
+
*/
|
|
106
|
+
groupByDate(): Map<string, HistoryEntry[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Get history grouped by command
|
|
109
|
+
*/
|
|
110
|
+
groupByCommand(): Map<string, HistoryEntry[]>;
|
|
111
|
+
/**
|
|
112
|
+
* Replay a command from history
|
|
113
|
+
*/
|
|
114
|
+
replay(index: number): string | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Get suggestions based on partial input
|
|
117
|
+
*/
|
|
118
|
+
getSuggestions(partial: string, limit?: number): string[];
|
|
119
|
+
/**
|
|
120
|
+
* Analyze command patterns
|
|
121
|
+
*/
|
|
122
|
+
analyzePatterns(): {
|
|
123
|
+
timeOfDay: Map<number, number>;
|
|
124
|
+
dayOfWeek: Map<number, number>;
|
|
125
|
+
successRate: number;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Format history for display
|
|
130
|
+
*/
|
|
131
|
+
export declare function formatHistory(entries: HistoryEntry[], options?: {
|
|
132
|
+
maxWidth?: number;
|
|
133
|
+
}): string;
|
|
134
|
+
/**
|
|
135
|
+
* Format history statistics
|
|
136
|
+
*/
|
|
137
|
+
export declare function formatHistoryStats(stats: ReturnType<CommandHistory['getStats']>): string;
|