@stacksjs/ts-cloud-core 0.1.3 → 0.1.7
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/README.md +98 -13
- package/dist/advanced-features.test.d.ts +0 -0
- package/dist/aws/cloudformation.d.ts +69 -0
- package/dist/aws/cloudfront.d.ts +21 -0
- package/dist/aws/credentials.d.ts +66 -0
- package/dist/aws/credentials.test.d.ts +0 -0
- package/{src/aws/index.ts → dist/aws/index.d.ts} +37 -51
- package/dist/aws/s3.d.ts +130 -0
- package/dist/aws/s3.test.d.ts +0 -0
- package/dist/aws/signature.d.ts +101 -0
- package/dist/aws/signature.test.d.ts +0 -0
- package/dist/backup/disaster-recovery.d.ts +98 -0
- package/dist/backup/disaster-recovery.test.d.ts +0 -0
- package/{src/backup/index.ts → dist/backup/index.d.ts} +10 -20
- package/dist/backup/manager.d.ts +112 -0
- package/dist/backup/manager.test.d.ts +0 -0
- package/dist/cicd/circleci.d.ts +47 -0
- package/dist/cicd/github-actions.d.ts +55 -0
- package/dist/cicd/gitlab-ci.d.ts +46 -0
- package/dist/cicd/index.d.ts +3 -0
- package/dist/cli/history.d.ts +66 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/progress.d.ts +97 -0
- package/dist/cli/repl.d.ts +76 -0
- package/dist/cli/suggestions.d.ts +67 -0
- package/dist/cli/table.d.ts +70 -0
- package/dist/cli/table.test.d.ts +0 -0
- package/dist/cloudformation/builder.d.ts +59 -0
- package/dist/cloudformation/builder.test.d.ts +0 -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 +66 -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 +36 -0
- package/dist/cloudformation/builders/network.d.ts +14 -0
- package/dist/cloudformation/builders/queue.d.ts +8 -0
- package/dist/cloudformation/builders/security.d.ts +31 -0
- package/dist/cloudformation/builders/storage.d.ts +8 -0
- package/dist/cloudformation/index.d.ts +24 -0
- package/dist/cloudformation/types.d.ts +132 -0
- package/dist/compliance/aws-config.d.ts +88 -0
- package/dist/compliance/cloudtrail.d.ts +96 -0
- package/dist/compliance/compliance.test.d.ts +0 -0
- package/dist/compliance/guardduty.d.ts +110 -0
- package/{src/compliance/index.ts → dist/compliance/index.d.ts} +20 -36
- package/dist/compliance/security-hub.d.ts +110 -0
- package/dist/containers/build-optimization.d.ts +110 -0
- package/dist/containers/containers.test.d.ts +0 -0
- package/dist/containers/image-scanning.d.ts +96 -0
- package/dist/containers/index.d.ts +4 -0
- package/dist/containers/registry.d.ts +99 -0
- package/dist/containers/service-mesh.d.ts +206 -0
- package/dist/database/database.test.d.ts +0 -0
- package/dist/database/index.d.ts +4 -0
- package/dist/database/migrations.d.ts +102 -0
- package/dist/database/performance.d.ts +168 -0
- package/dist/database/replicas.d.ts +146 -0
- package/dist/database/users.d.ts +102 -0
- package/dist/dependency-graph.d.ts +19 -0
- package/dist/deployment/ab-testing.d.ts +114 -0
- package/dist/deployment/blue-green.d.ts +98 -0
- package/dist/deployment/canary.d.ts +103 -0
- package/dist/deployment/deployment.test.d.ts +0 -0
- package/{src/deployment/index.ts → dist/deployment/index.d.ts} +20 -36
- package/dist/deployment/progressive.d.ts +34 -0
- package/dist/dns/dns.test.d.ts +0 -0
- package/dist/dns/dnssec.d.ts +75 -0
- package/dist/dns/index.d.ts +3 -0
- package/dist/dns/resolver.d.ts +150 -0
- package/dist/dns/routing.d.ts +217 -0
- package/dist/email/advanced/analytics.d.ts +78 -0
- package/dist/email/advanced/index.d.ts +7 -0
- package/dist/email/advanced/rules.d.ts +60 -0
- package/dist/email/advanced/scheduling.d.ts +63 -0
- package/dist/email/advanced/search.d.ts +76 -0
- package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
- package/dist/email/advanced/templates.d.ts +39 -0
- package/dist/email/advanced/threading.d.ts +53 -0
- package/dist/email/analytics.d.ts +144 -0
- package/dist/email/bounce-handling.d.ts +120 -0
- package/dist/email/email.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
- package/{src/email/handlers/converter.ts → dist/email/handlers/converter.d.ts} +3 -5
- package/{src/email/handlers/feedback.ts → dist/email/handlers/feedback.d.ts} +3 -5
- package/{src/email/handlers/inbound.ts → dist/email/handlers/inbound.d.ts} +3 -5
- package/{src/email/handlers/outbound.ts → dist/email/handlers/outbound.d.ts} +3 -5
- package/dist/email/index.d.ts +6 -0
- package/dist/email/reputation.d.ts +97 -0
- package/dist/email/templates.d.ts +82 -0
- package/dist/errors/index.d.ts +186 -0
- package/dist/errors/index.test.d.ts +0 -0
- package/dist/health-checks/index.d.ts +35 -0
- package/dist/index.d.ts +256 -0
- package/dist/index.js +63499 -0
- package/dist/intrinsic-functions.d.ts +37 -0
- package/dist/lambda/concurrency.d.ts +98 -0
- package/dist/lambda/destinations.d.ts +99 -0
- package/dist/lambda/dlq.d.ts +109 -0
- package/dist/lambda/index.d.ts +6 -0
- package/dist/lambda/lambda.test.d.ts +0 -0
- package/dist/lambda/layers.d.ts +81 -0
- package/dist/lambda/versions.d.ts +91 -0
- package/dist/lambda/vpc.d.ts +116 -0
- package/dist/local/config.d.ts +44 -0
- package/dist/local/index.d.ts +2 -0
- package/dist/local/mock-aws.d.ts +60 -0
- package/dist/modules/ai.d.ts +47 -0
- package/dist/modules/api.d.ts +98 -0
- package/dist/modules/auth.d.ts +165 -0
- package/dist/modules/cache.d.ts +73 -0
- package/dist/modules/cdn.d.ts +125 -0
- package/dist/modules/communication.d.ts +98 -0
- package/dist/modules/compute.d.ts +309 -0
- package/dist/modules/database.d.ts +105 -0
- package/dist/modules/deployment.d.ts +181 -0
- package/dist/modules/dns.d.ts +45 -0
- package/dist/modules/email.d.ts +217 -0
- package/dist/modules/filesystem.d.ts +94 -0
- package/dist/modules/index.d.ts +27 -0
- package/dist/modules/messaging.d.ts +108 -0
- package/dist/modules/monitoring.d.ts +127 -0
- package/dist/modules/network.d.ts +102 -0
- package/dist/modules/parameter-store.d.ts +33 -0
- package/dist/modules/permissions.d.ts +132 -0
- package/dist/modules/phone.d.ts +80 -0
- package/dist/modules/queue.d.ts +210 -0
- package/dist/modules/redirects.d.ts +59 -0
- package/dist/modules/registry.d.ts +73 -0
- package/dist/modules/search.d.ts +56 -0
- package/dist/modules/secrets.d.ts +80 -0
- package/dist/modules/security.d.ts +100 -0
- package/dist/modules/sms.d.ts +52 -0
- package/dist/modules/storage.d.ts +160 -0
- package/dist/modules/workflow.d.ts +205 -0
- package/dist/multi-account/config.d.ts +315 -0
- package/dist/multi-account/index.d.ts +2 -0
- package/dist/multi-account/manager.d.ts +100 -0
- package/dist/multi-region/cross-region.d.ts +114 -0
- package/dist/multi-region/index.d.ts +3 -0
- package/dist/multi-region/manager.d.ts +72 -0
- package/dist/multi-region/regions.d.ts +98 -0
- package/dist/network-security/index.d.ts +39 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/logs.d.ts +129 -0
- package/dist/observability/metrics.d.ts +153 -0
- package/dist/observability/observability.test.d.ts +0 -0
- package/dist/observability/synthetics.d.ts +146 -0
- package/dist/observability/xray.d.ts +129 -0
- package/dist/phone/advanced/analytics.d.ts +66 -0
- package/dist/phone/advanced/callbacks.d.ts +50 -0
- package/dist/phone/advanced/index.d.ts +4 -0
- package/dist/phone/advanced/ivr-builder.d.ts +83 -0
- package/dist/phone/advanced/recording.d.ts +48 -0
- package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
- package/{src/phone/handlers/incoming-call.ts → dist/phone/handlers/incoming-call.d.ts} +3 -5
- package/{src/phone/handlers/missed-call.ts → dist/phone/handlers/missed-call.d.ts} +3 -5
- package/{src/phone/handlers/voicemail.ts → dist/phone/handlers/voicemail.d.ts} +3 -5
- package/dist/phone/index.d.ts +2 -0
- package/dist/presets/api-backend.d.ts +11 -0
- package/dist/presets/data-pipeline.d.ts +11 -0
- package/{src/presets/extend.ts → dist/presets/extend.d.ts} +11 -114
- package/dist/presets/extend.test.d.ts +0 -0
- package/dist/presets/fullstack-app.d.ts +12 -0
- package/dist/presets/index.d.ts +24 -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 +0 -0
- package/{src/preview/index.ts → dist/preview/index.d.ts} +16 -26
- package/dist/preview/manager.d.ts +58 -0
- package/dist/preview/manager.test.d.ts +0 -0
- package/dist/preview/notifications.d.ts +55 -0
- package/dist/preview/notifications.test.d.ts +0 -0
- package/dist/queue/batch-processing.d.ts +87 -0
- package/dist/queue/dlq-monitoring.d.ts +95 -0
- package/dist/queue/fifo.d.ts +90 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/management.d.ts +105 -0
- package/dist/queue/queue.test.d.ts +0 -0
- package/dist/resource-mgmt/index.d.ts +29 -0
- package/dist/resource-naming.d.ts +26 -0
- package/dist/s3/index.d.ts +173 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/security/certificate-manager.d.ts +121 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/scanning.d.ts +147 -0
- package/dist/security/secrets-manager.d.ts +144 -0
- package/dist/security/secrets-rotation.d.ts +115 -0
- package/dist/security/security.test.d.ts +0 -0
- package/dist/sms/advanced/ab-testing.d.ts +54 -0
- package/dist/sms/advanced/analytics.d.ts +56 -0
- package/dist/sms/advanced/campaigns.d.ts +82 -0
- package/dist/sms/advanced/chatbot.d.ts +48 -0
- package/dist/sms/advanced/index.d.ts +6 -0
- package/dist/sms/advanced/link-tracking.d.ts +42 -0
- package/dist/sms/advanced/mms.d.ts +35 -0
- package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
- package/{src/sms/handlers/delivery-status.ts → dist/sms/handlers/delivery-status.d.ts} +3 -5
- package/{src/sms/handlers/receive.ts → dist/sms/handlers/receive.d.ts} +3 -5
- package/{src/sms/handlers/send.ts → dist/sms/handlers/send.d.ts} +3 -5
- package/dist/sms/index.d.ts +2 -0
- package/dist/stack-diff.d.ts +34 -0
- package/dist/static-site/index.d.ts +49 -0
- package/dist/template-builder.d.ts +14 -0
- package/dist/template-validator.d.ts +24 -0
- package/dist/utils/cache.d.ts +55 -0
- package/dist/utils/diff.d.ts +48 -0
- package/dist/utils/hash.d.ts +58 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/parallel.d.ts +60 -0
- package/dist/validators/credentials.d.ts +23 -0
- package/dist/validators/credentials.test.d.ts +0 -0
- package/dist/validators/quotas.d.ts +60 -0
- package/dist/validators/quotas.test.d.ts +0 -0
- package/package.json +13 -4
- package/src/advanced-features.test.ts +0 -465
- package/src/aws/cloudformation.ts +0 -421
- package/src/aws/cloudfront.ts +0 -158
- package/src/aws/credentials.test.ts +0 -132
- package/src/aws/credentials.ts +0 -545
- package/src/aws/s3.test.ts +0 -188
- package/src/aws/s3.ts +0 -1088
- package/src/aws/signature.test.ts +0 -670
- package/src/aws/signature.ts +0 -1155
- package/src/backup/disaster-recovery.test.ts +0 -726
- package/src/backup/disaster-recovery.ts +0 -500
- package/src/backup/manager.test.ts +0 -498
- package/src/backup/manager.ts +0 -432
- package/src/cicd/circleci.ts +0 -430
- package/src/cicd/github-actions.ts +0 -424
- package/src/cicd/gitlab-ci.ts +0 -255
- package/src/cicd/index.ts +0 -8
- package/src/cli/history.ts +0 -396
- package/src/cli/index.ts +0 -10
- package/src/cli/progress.ts +0 -458
- package/src/cli/repl.ts +0 -454
- package/src/cli/suggestions.ts +0 -327
- package/src/cli/table.test.ts +0 -319
- package/src/cli/table.ts +0 -332
- package/src/cloudformation/builder.test.ts +0 -327
- package/src/cloudformation/builder.ts +0 -378
- package/src/cloudformation/builders/api-gateway.ts +0 -449
- package/src/cloudformation/builders/cache.ts +0 -334
- package/src/cloudformation/builders/cdn.ts +0 -278
- package/src/cloudformation/builders/compute.ts +0 -485
- package/src/cloudformation/builders/database.ts +0 -392
- package/src/cloudformation/builders/functions.ts +0 -343
- package/src/cloudformation/builders/messaging.ts +0 -140
- package/src/cloudformation/builders/monitoring.ts +0 -300
- package/src/cloudformation/builders/network.ts +0 -264
- package/src/cloudformation/builders/queue.ts +0 -147
- package/src/cloudformation/builders/security.ts +0 -399
- package/src/cloudformation/builders/storage.ts +0 -285
- package/src/cloudformation/index.ts +0 -30
- package/src/cloudformation/types.ts +0 -173
- package/src/compliance/aws-config.ts +0 -543
- package/src/compliance/cloudtrail.ts +0 -376
- package/src/compliance/compliance.test.ts +0 -423
- package/src/compliance/guardduty.ts +0 -446
- package/src/compliance/security-hub.ts +0 -456
- package/src/containers/build-optimization.ts +0 -416
- package/src/containers/containers.test.ts +0 -508
- package/src/containers/image-scanning.ts +0 -360
- package/src/containers/index.ts +0 -9
- package/src/containers/registry.ts +0 -293
- package/src/containers/service-mesh.ts +0 -520
- package/src/database/database.test.ts +0 -762
- package/src/database/index.ts +0 -9
- package/src/database/migrations.ts +0 -444
- package/src/database/performance.ts +0 -528
- package/src/database/replicas.ts +0 -534
- package/src/database/users.ts +0 -494
- package/src/dependency-graph.ts +0 -143
- package/src/deployment/ab-testing.ts +0 -582
- package/src/deployment/blue-green.ts +0 -452
- package/src/deployment/canary.ts +0 -500
- package/src/deployment/deployment.test.ts +0 -526
- package/src/deployment/progressive.ts +0 -62
- package/src/dns/dns.test.ts +0 -641
- package/src/dns/dnssec.ts +0 -315
- package/src/dns/index.ts +0 -8
- package/src/dns/resolver.ts +0 -496
- package/src/dns/routing.ts +0 -593
- package/src/email/advanced/analytics.ts +0 -445
- package/src/email/advanced/index.ts +0 -11
- package/src/email/advanced/rules.ts +0 -465
- package/src/email/advanced/scheduling.ts +0 -352
- package/src/email/advanced/search.ts +0 -412
- package/src/email/advanced/shared-mailboxes.ts +0 -404
- package/src/email/advanced/templates.ts +0 -455
- package/src/email/advanced/threading.ts +0 -281
- package/src/email/analytics.ts +0 -467
- package/src/email/bounce-handling.ts +0 -425
- package/src/email/email.test.ts +0 -431
- package/src/email/handlers/__tests__/inbound.test.ts +0 -38
- package/src/email/handlers/__tests__/outbound.test.ts +0 -37
- package/src/email/index.ts +0 -15
- package/src/email/reputation.ts +0 -303
- package/src/email/templates.ts +0 -352
- package/src/errors/index.test.ts +0 -434
- package/src/errors/index.ts +0 -416
- package/src/health-checks/index.ts +0 -40
- package/src/index.ts +0 -360
- package/src/intrinsic-functions.ts +0 -118
- package/src/lambda/concurrency.ts +0 -330
- package/src/lambda/destinations.ts +0 -345
- package/src/lambda/dlq.ts +0 -425
- package/src/lambda/index.ts +0 -11
- package/src/lambda/lambda.test.ts +0 -840
- package/src/lambda/layers.ts +0 -263
- package/src/lambda/versions.ts +0 -376
- package/src/lambda/vpc.ts +0 -399
- package/src/local/config.ts +0 -114
- package/src/local/index.ts +0 -6
- package/src/local/mock-aws.ts +0 -351
- package/src/modules/ai.ts +0 -340
- package/src/modules/api.ts +0 -478
- package/src/modules/auth.ts +0 -805
- package/src/modules/cache.ts +0 -417
- package/src/modules/cdn.ts +0 -1062
- package/src/modules/communication.ts +0 -1094
- package/src/modules/compute.ts +0 -3348
- package/src/modules/database.ts +0 -554
- package/src/modules/deployment.ts +0 -1079
- package/src/modules/dns.ts +0 -337
- package/src/modules/email.ts +0 -1538
- package/src/modules/filesystem.ts +0 -515
- package/src/modules/index.ts +0 -32
- package/src/modules/messaging.ts +0 -486
- package/src/modules/monitoring.ts +0 -2086
- package/src/modules/network.ts +0 -664
- package/src/modules/parameter-store.ts +0 -325
- package/src/modules/permissions.ts +0 -1081
- package/src/modules/phone.ts +0 -494
- package/src/modules/queue.ts +0 -1260
- package/src/modules/redirects.ts +0 -464
- package/src/modules/registry.ts +0 -699
- package/src/modules/search.ts +0 -401
- package/src/modules/secrets.ts +0 -416
- package/src/modules/security.ts +0 -731
- package/src/modules/sms.ts +0 -389
- package/src/modules/storage.ts +0 -1120
- package/src/modules/workflow.ts +0 -680
- package/src/multi-account/config.ts +0 -521
- package/src/multi-account/index.ts +0 -7
- package/src/multi-account/manager.ts +0 -427
- package/src/multi-region/cross-region.ts +0 -410
- package/src/multi-region/index.ts +0 -8
- package/src/multi-region/manager.ts +0 -483
- package/src/multi-region/regions.ts +0 -435
- package/src/network-security/index.ts +0 -48
- package/src/observability/index.ts +0 -9
- package/src/observability/logs.ts +0 -522
- package/src/observability/metrics.ts +0 -460
- package/src/observability/observability.test.ts +0 -782
- package/src/observability/synthetics.ts +0 -568
- package/src/observability/xray.ts +0 -358
- package/src/phone/advanced/analytics.ts +0 -349
- package/src/phone/advanced/callbacks.ts +0 -428
- package/src/phone/advanced/index.ts +0 -8
- package/src/phone/advanced/ivr-builder.ts +0 -504
- package/src/phone/advanced/recording.ts +0 -310
- package/src/phone/handlers/__tests__/incoming-call.test.ts +0 -40
- package/src/phone/index.ts +0 -9
- package/src/presets/api-backend.ts +0 -134
- package/src/presets/data-pipeline.ts +0 -204
- package/src/presets/extend.test.ts +0 -295
- package/src/presets/fullstack-app.ts +0 -144
- package/src/presets/index.ts +0 -27
- package/src/presets/jamstack.ts +0 -135
- package/src/presets/microservices.ts +0 -167
- package/src/presets/ml-api.ts +0 -208
- package/src/presets/nodejs-server.ts +0 -104
- package/src/presets/nodejs-serverless.ts +0 -114
- package/src/presets/realtime-app.ts +0 -184
- package/src/presets/static-site.ts +0 -64
- package/src/presets/traditional-web-app.ts +0 -339
- package/src/presets/wordpress.ts +0 -138
- package/src/preview/github.test.ts +0 -249
- package/src/preview/github.ts +0 -297
- package/src/preview/manager.test.ts +0 -440
- package/src/preview/manager.ts +0 -326
- package/src/preview/notifications.test.ts +0 -582
- package/src/preview/notifications.ts +0 -341
- package/src/queue/batch-processing.ts +0 -402
- package/src/queue/dlq-monitoring.ts +0 -402
- package/src/queue/fifo.ts +0 -342
- package/src/queue/index.ts +0 -9
- package/src/queue/management.ts +0 -428
- package/src/queue/queue.test.ts +0 -429
- package/src/resource-mgmt/index.ts +0 -39
- package/src/resource-naming.ts +0 -62
- package/src/s3/index.ts +0 -523
- package/src/schema/cloud-config.schema.json +0 -554
- package/src/schema/index.ts +0 -68
- package/src/security/certificate-manager.ts +0 -492
- package/src/security/index.ts +0 -9
- package/src/security/scanning.ts +0 -545
- package/src/security/secrets-manager.ts +0 -476
- package/src/security/secrets-rotation.ts +0 -456
- package/src/security/security.test.ts +0 -738
- package/src/sms/advanced/ab-testing.ts +0 -389
- package/src/sms/advanced/analytics.ts +0 -336
- package/src/sms/advanced/campaigns.ts +0 -523
- package/src/sms/advanced/chatbot.ts +0 -224
- package/src/sms/advanced/index.ts +0 -10
- package/src/sms/advanced/link-tracking.ts +0 -248
- package/src/sms/advanced/mms.ts +0 -308
- package/src/sms/handlers/__tests__/send.test.ts +0 -40
- package/src/sms/index.ts +0 -9
- package/src/stack-diff.ts +0 -389
- package/src/static-site/index.ts +0 -85
- package/src/template-builder.ts +0 -110
- package/src/template-validator.ts +0 -574
- package/src/utils/cache.ts +0 -291
- package/src/utils/diff.ts +0 -269
- package/src/utils/hash.ts +0 -227
- package/src/utils/index.ts +0 -8
- package/src/utils/parallel.ts +0 -294
- package/src/validators/credentials.test.ts +0 -274
- package/src/validators/credentials.ts +0 -233
- package/src/validators/quotas.test.ts +0 -434
- package/src/validators/quotas.ts +0 -217
- package/test/ai.test.ts +0 -327
- package/test/api.test.ts +0 -511
- package/test/auth.test.ts +0 -632
- package/test/cache.test.ts +0 -406
- package/test/cdn.test.ts +0 -247
- package/test/compute.test.ts +0 -861
- package/test/database.test.ts +0 -523
- package/test/deployment.test.ts +0 -499
- package/test/dns.test.ts +0 -270
- package/test/email.test.ts +0 -439
- package/test/filesystem.test.ts +0 -382
- package/test/integration.test.ts +0 -350
- package/test/messaging.test.ts +0 -514
- package/test/monitoring.test.ts +0 -634
- package/test/network.test.ts +0 -425
- package/test/permissions.test.ts +0 -488
- package/test/queue.test.ts +0 -484
- package/test/registry.test.ts +0 -306
- package/test/security.test.ts +0 -462
- package/test/storage.test.ts +0 -463
- package/test/template-validator.test.ts +0 -559
- package/test/workflow.test.ts +0 -592
- package/tsconfig.json +0 -16
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive REPL mode for ts-cloud CLI
|
|
3
|
+
* Provides a shell-like experience for running commands
|
|
4
|
+
*/
|
|
5
|
+
export declare interface REPLOptions {
|
|
6
|
+
prompt?: string
|
|
7
|
+
welcome?: string
|
|
8
|
+
commands: Map<string, REPLCommand>
|
|
9
|
+
historyFile?: string
|
|
10
|
+
autocomplete?: boolean
|
|
11
|
+
}
|
|
12
|
+
export declare interface REPLCommand {
|
|
13
|
+
name: string
|
|
14
|
+
description: string
|
|
15
|
+
aliases?: string[]
|
|
16
|
+
handler: (args: string[]) => Promise<void> | void
|
|
17
|
+
autocomplete?: (partial: string) => string[]
|
|
18
|
+
}
|
|
19
|
+
export declare interface REPLHistory {
|
|
20
|
+
commands: string[]
|
|
21
|
+
maxSize: number
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* REPL session manager
|
|
25
|
+
*/
|
|
26
|
+
export declare class REPL {
|
|
27
|
+
private options: REPLOptions;
|
|
28
|
+
private running: boolean;
|
|
29
|
+
private history: REPLHistory;
|
|
30
|
+
private historyIndex: number;
|
|
31
|
+
constructor(options: REPLOptions);
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
stop(): void;
|
|
34
|
+
private readInput(): Promise<string>;
|
|
35
|
+
private executeCommand(input: string): Promise<void>;
|
|
36
|
+
private parseCommand(input: string): string[];
|
|
37
|
+
private findCommand(name: string): REPLCommand | undefined;
|
|
38
|
+
private showHelp(): void;
|
|
39
|
+
private showHistory(): void;
|
|
40
|
+
private addToHistory(command: string): void;
|
|
41
|
+
private historyBack(): string | undefined;
|
|
42
|
+
private historyForward(): string | undefined;
|
|
43
|
+
private autocomplete(partial: string): string[];
|
|
44
|
+
private loadHistory(): Promise<void>;
|
|
45
|
+
private saveHistory(): Promise<void>;
|
|
46
|
+
searchHistory(query: string): string[];
|
|
47
|
+
clearHistory(): void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Context manager for REPL sessions
|
|
51
|
+
* Maintains state across commands
|
|
52
|
+
*/
|
|
53
|
+
export declare class REPLContext {
|
|
54
|
+
private variables: Map<string, any>;
|
|
55
|
+
private workingDirectory: string;
|
|
56
|
+
set(key: string, value: any): void;
|
|
57
|
+
get(key: string): any;
|
|
58
|
+
has(key: string): boolean;
|
|
59
|
+
delete(key: string): void;
|
|
60
|
+
getAll(): Record<string, any>;
|
|
61
|
+
clear(): void;
|
|
62
|
+
setWorkingDirectory(path: string): void;
|
|
63
|
+
getWorkingDirectory(): string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Command builder for creating REPL commands
|
|
67
|
+
*/
|
|
68
|
+
export declare class REPLCommandBuilder {
|
|
69
|
+
private command: Partial<REPLCommand>;
|
|
70
|
+
name(name: string): this;
|
|
71
|
+
description(description: string): this;
|
|
72
|
+
aliases(aliases: string[]): this;
|
|
73
|
+
handler(handler: (args: string[]) => Promise<void> | void): this;
|
|
74
|
+
autocomplete(fn: (partial: string) => string[]): this;
|
|
75
|
+
build(): REPLCommand;
|
|
76
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Suggest similar commands based on typo
|
|
3
|
+
*/
|
|
4
|
+
export declare function suggestCommand(input: string, availableCommands: string[], threshold?: any): string[];
|
|
5
|
+
/**
|
|
6
|
+
* Format suggestion message
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatSuggestion(input: string, suggestions: string[]): string;
|
|
9
|
+
/**
|
|
10
|
+
* Check if input is likely a typo of any available command
|
|
11
|
+
*/
|
|
12
|
+
export declare function isLikelyTypo(input: string, availableCommands: string[]): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Get contextual help based on current command
|
|
15
|
+
*/
|
|
16
|
+
export declare function getContextualHelp(currentCommand: string, categories: CommandCategory[]): string;
|
|
17
|
+
/**
|
|
18
|
+
* Search commands by keyword
|
|
19
|
+
*/
|
|
20
|
+
export declare function searchCommands(query: string, categories: CommandCategory[]): Array<{ command: CommandInfo; category: string }>;
|
|
21
|
+
/**
|
|
22
|
+
* Autocomplete suggestions for partial input
|
|
23
|
+
*/
|
|
24
|
+
export declare function autocomplete(partial: string, availableCommands: string[], maxResults?: any): string[];
|
|
25
|
+
export declare function suggestFlags(partial: string, availableFlags: FlagInfo[]): FlagInfo[];
|
|
26
|
+
/**
|
|
27
|
+
* Format flag suggestions
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatFlagSuggestions(flags: FlagInfo[]): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get command usage example
|
|
32
|
+
*/
|
|
33
|
+
export declare function getCommandUsage(command: CommandInfo): string;
|
|
34
|
+
export declare function validateCommand(input: string, availableCommands: string[], requiredFlags?: string[]): ValidationResult;
|
|
35
|
+
/**
|
|
36
|
+
* Command categories for contextual help
|
|
37
|
+
*/
|
|
38
|
+
export declare interface CommandCategory {
|
|
39
|
+
name: string
|
|
40
|
+
description: string
|
|
41
|
+
commands: CommandInfo[]
|
|
42
|
+
}
|
|
43
|
+
export declare interface CommandInfo {
|
|
44
|
+
name: string
|
|
45
|
+
description: string
|
|
46
|
+
aliases?: string[]
|
|
47
|
+
examples?: string[]
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Suggest flags based on partial input
|
|
51
|
+
*/
|
|
52
|
+
export declare interface FlagInfo {
|
|
53
|
+
name: string
|
|
54
|
+
alias?: string
|
|
55
|
+
description: string
|
|
56
|
+
type: 'boolean' | 'string' | 'number'
|
|
57
|
+
required?: boolean
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate command and suggest fixes
|
|
61
|
+
*/
|
|
62
|
+
export declare interface ValidationResult {
|
|
63
|
+
valid: boolean
|
|
64
|
+
errors: string[]
|
|
65
|
+
warnings: string[]
|
|
66
|
+
suggestions: string[]
|
|
67
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format data as a table
|
|
3
|
+
*/
|
|
4
|
+
export declare function formatTable(options: TableOptions): string;
|
|
5
|
+
/**
|
|
6
|
+
* Format data as a tree
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatTree(nodes: TreeNode[], options?: TreeOptions): string;
|
|
9
|
+
/**
|
|
10
|
+
* Format a progress bar
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatProgressBar(options: ProgressBarOptions): string;
|
|
13
|
+
/**
|
|
14
|
+
* Format bytes as human-readable size
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatBytes(bytes: number, decimals?: any): string;
|
|
17
|
+
/**
|
|
18
|
+
* Format duration as human-readable time
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatDuration(ms: number): string;
|
|
21
|
+
/**
|
|
22
|
+
* Format list with bullets
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatList(items: string[], bullet?: any): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format key-value pairs
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatKeyValue(data: Record<string, any>, options?: { indent?: string; separator?: string }): string;
|
|
29
|
+
/**
|
|
30
|
+
* Table formatting utilities for CLI output
|
|
31
|
+
* Better table rendering with borders, alignment, colors
|
|
32
|
+
*/
|
|
33
|
+
export declare interface TableColumn {
|
|
34
|
+
key: string
|
|
35
|
+
label: string
|
|
36
|
+
width?: number
|
|
37
|
+
align?: 'left' | 'right' | 'center'
|
|
38
|
+
formatter?: (value: any) => string
|
|
39
|
+
}
|
|
40
|
+
export declare interface TableOptions {
|
|
41
|
+
columns: TableColumn[]
|
|
42
|
+
data: Record<string, any>[]
|
|
43
|
+
border?: boolean
|
|
44
|
+
header?: boolean
|
|
45
|
+
compact?: boolean
|
|
46
|
+
maxWidth?: number
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Format data as a tree structure
|
|
50
|
+
*/
|
|
51
|
+
export declare interface TreeNode {
|
|
52
|
+
label: string
|
|
53
|
+
children?: TreeNode[]
|
|
54
|
+
metadata?: Record<string, any>
|
|
55
|
+
}
|
|
56
|
+
export declare interface TreeOptions {
|
|
57
|
+
indent?: string
|
|
58
|
+
showMetadata?: boolean
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create a simple progress bar
|
|
62
|
+
*/
|
|
63
|
+
export declare interface ProgressBarOptions {
|
|
64
|
+
total: number
|
|
65
|
+
current: number
|
|
66
|
+
width?: number
|
|
67
|
+
format?: string
|
|
68
|
+
complete?: string
|
|
69
|
+
incomplete?: string
|
|
70
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { addApiGatewayResources } from './builders/api-gateway';
|
|
2
|
+
import { addCacheResources } from './builders/cache';
|
|
3
|
+
import { addCDNResources } from './builders/cdn';
|
|
4
|
+
import { addComputeResources } from './builders/compute';
|
|
5
|
+
import { addDatabaseResources } from './builders/database';
|
|
6
|
+
import { addFunctionResources } from './builders/functions';
|
|
7
|
+
import { addMessagingResources } from './builders/messaging';
|
|
8
|
+
import { addMonitoringResources } from './builders/monitoring';
|
|
9
|
+
import { addNetworkResources } from './builders/network';
|
|
10
|
+
import { addQueueResources } from './builders/queue';
|
|
11
|
+
import { addSecurityResources } from './builders/security';
|
|
12
|
+
import { addStorageResources } from './builders/storage';
|
|
13
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
14
|
+
import type { CloudFormationTemplate, CloudFormationResource } from './types';
|
|
15
|
+
/**
|
|
16
|
+
* Main function to convert CloudConfig to CloudFormation template
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildCloudFormationTemplate(config: CloudConfig): CloudFormationTemplate;
|
|
19
|
+
/**
|
|
20
|
+
* CloudFormation Template Builder
|
|
21
|
+
* Converts-cloudConfig to CloudFormation templates
|
|
22
|
+
*/
|
|
23
|
+
export declare class CloudFormationBuilder {
|
|
24
|
+
protected template: CloudFormationTemplate;
|
|
25
|
+
private config: CloudConfig;
|
|
26
|
+
private resourceDependencies: Map<string, Set<string>>;
|
|
27
|
+
constructor(config: CloudConfig);
|
|
28
|
+
build(): CloudFormationTemplate;
|
|
29
|
+
private addParameters(): void;
|
|
30
|
+
private addMappings(): void;
|
|
31
|
+
private addConditions(): void;
|
|
32
|
+
private addResources(): void;
|
|
33
|
+
private initializeOutputs(): void;
|
|
34
|
+
addResource(logicalId: string, type: string, properties: Record<string, any>, options?: {
|
|
35
|
+
dependsOn?: string | string[]
|
|
36
|
+
condition?: string
|
|
37
|
+
deletionPolicy?: 'Delete' | 'Retain' | 'Snapshot'
|
|
38
|
+
updateReplacePolicy?: 'Delete' | 'Retain' | 'Snapshot'
|
|
39
|
+
}): void;
|
|
40
|
+
addOutputs(outputs: Record<string, any>): void;
|
|
41
|
+
getOutputs(): Record<string, any>;
|
|
42
|
+
hasResource(logicalId: string): boolean;
|
|
43
|
+
getResource(logicalId: string): CloudFormationResource | undefined;
|
|
44
|
+
private trackDependency(resource: string, dependencies: string | string[]): void;
|
|
45
|
+
private resolveDependencies(): void;
|
|
46
|
+
toLogicalId(name: string): string;
|
|
47
|
+
private addNetworkResources(network: any): void;
|
|
48
|
+
private addStorageResources(storage: any): void;
|
|
49
|
+
private addComputeResources(compute: any): void;
|
|
50
|
+
private addDatabaseResources(database: any): void;
|
|
51
|
+
private addFunctionResources(functions: any): void;
|
|
52
|
+
private addCacheResources(cache: any): void;
|
|
53
|
+
private addQueueResources(queue: any): void;
|
|
54
|
+
private addMessagingResources(messaging: any): void;
|
|
55
|
+
private addCDNResources(cdn: any): void;
|
|
56
|
+
private addApiGatewayResources(apiGateway: any): void;
|
|
57
|
+
private addMonitoringResources(monitoring: any): void;
|
|
58
|
+
private addSecurityResources(security: any): void;
|
|
59
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add API Gateway resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addApiGatewayResources(builder: CloudFormationBuilder, config: ApiGatewayConfig): void;
|
|
6
|
+
export declare interface ApiGatewayConfig {
|
|
7
|
+
type: 'http' | 'rest' | 'websocket'
|
|
8
|
+
customDomain?: {
|
|
9
|
+
domain: string
|
|
10
|
+
certificateArn: string
|
|
11
|
+
}
|
|
12
|
+
cors?: {
|
|
13
|
+
allowOrigins: string[]
|
|
14
|
+
allowMethods: string[]
|
|
15
|
+
allowHeaders?: string[]
|
|
16
|
+
maxAge?: number
|
|
17
|
+
}
|
|
18
|
+
throttling?: {
|
|
19
|
+
rateLimit: number
|
|
20
|
+
burstLimit: number
|
|
21
|
+
}
|
|
22
|
+
routes?: any
|
|
23
|
+
authorizer?: {
|
|
24
|
+
type: 'jwt' | 'lambda' | 'cognito'
|
|
25
|
+
identitySource?: string
|
|
26
|
+
authorizerUri?: string
|
|
27
|
+
issuer?: string
|
|
28
|
+
audience?: string[]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add ElastiCache resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addCacheResources(builder: CloudFormationBuilder, config: CacheConfig): void;
|
|
6
|
+
export declare interface CacheConfig {
|
|
7
|
+
redis?: {
|
|
8
|
+
nodeType: string
|
|
9
|
+
numCacheNodes: number
|
|
10
|
+
engine: 'redis'
|
|
11
|
+
engineVersion: string
|
|
12
|
+
port?: number
|
|
13
|
+
parameterGroup?: {
|
|
14
|
+
maxmemoryPolicy?: string
|
|
15
|
+
timeout?: string
|
|
16
|
+
[key: string]: string | undefined
|
|
17
|
+
}
|
|
18
|
+
snapshotRetentionLimit?: number
|
|
19
|
+
snapshotWindow?: string
|
|
20
|
+
automaticFailoverEnabled?: boolean
|
|
21
|
+
}
|
|
22
|
+
memcached?: {
|
|
23
|
+
nodeType: string
|
|
24
|
+
numCacheNodes: number
|
|
25
|
+
engine: 'memcached'
|
|
26
|
+
engineVersion: string
|
|
27
|
+
port?: number
|
|
28
|
+
}
|
|
29
|
+
elasticache?: {
|
|
30
|
+
nodeType: string
|
|
31
|
+
numCacheNodes: number
|
|
32
|
+
engine: string
|
|
33
|
+
engineVersion: string
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add CloudFront distribution to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addCDNResources(builder: CloudFormationBuilder, config: CDNConfig): void;
|
|
6
|
+
export declare interface CDNConfig {
|
|
7
|
+
enabled: boolean
|
|
8
|
+
origins?: Array<{
|
|
9
|
+
id: string
|
|
10
|
+
domainName: string
|
|
11
|
+
pathPattern?: string
|
|
12
|
+
originPath?: string
|
|
13
|
+
}>
|
|
14
|
+
customDomain?: {
|
|
15
|
+
domain: string
|
|
16
|
+
certificateArn: string
|
|
17
|
+
}
|
|
18
|
+
cachePolicy?: {
|
|
19
|
+
minTTL?: number
|
|
20
|
+
defaultTTL?: number
|
|
21
|
+
maxTTL?: number
|
|
22
|
+
}
|
|
23
|
+
compress?: boolean
|
|
24
|
+
http3?: boolean
|
|
25
|
+
errorPages?: {
|
|
26
|
+
[code: string]: string
|
|
27
|
+
}
|
|
28
|
+
edgeFunctions?: Array<{
|
|
29
|
+
eventType: 'viewer-request' | 'viewer-response' | 'origin-request' | 'origin-response'
|
|
30
|
+
functionArn: string
|
|
31
|
+
name: string
|
|
32
|
+
}>
|
|
33
|
+
priceClass?: 'PriceClass_All' | 'PriceClass_200' | 'PriceClass_100'
|
|
34
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add compute resources (EC2, ECS, ALB) to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addComputeResources(builder: CloudFormationBuilder, config: ComputeConfig): void;
|
|
6
|
+
export declare interface LoadBalancerConfig {
|
|
7
|
+
type: 'application' | 'network'
|
|
8
|
+
healthCheck?: {
|
|
9
|
+
path?: string
|
|
10
|
+
interval?: number
|
|
11
|
+
timeout?: number
|
|
12
|
+
healthyThreshold?: number
|
|
13
|
+
unhealthyThreshold?: number
|
|
14
|
+
}
|
|
15
|
+
stickySession?: {
|
|
16
|
+
enabled: boolean
|
|
17
|
+
duration?: number
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export declare interface ServerConfig {
|
|
21
|
+
instanceType: string
|
|
22
|
+
ami?: string
|
|
23
|
+
autoScaling?: {
|
|
24
|
+
min: number
|
|
25
|
+
max: number
|
|
26
|
+
targetCPU?: number
|
|
27
|
+
scaleUpCooldown?: number
|
|
28
|
+
scaleDownCooldown?: number
|
|
29
|
+
}
|
|
30
|
+
loadBalancer?: LoadBalancerConfig
|
|
31
|
+
userData?: string
|
|
32
|
+
}
|
|
33
|
+
export declare interface ComputeConfig {
|
|
34
|
+
server?: ServerConfig
|
|
35
|
+
fargate?: {
|
|
36
|
+
taskDefinition: {
|
|
37
|
+
cpu: string
|
|
38
|
+
memory: string
|
|
39
|
+
containerDefinitions?: Array<{
|
|
40
|
+
name: string
|
|
41
|
+
image: string
|
|
42
|
+
portMappings?: Array<{ containerPort: number }>
|
|
43
|
+
environment?: Record<string, string>
|
|
44
|
+
healthCheck?: any
|
|
45
|
+
}>
|
|
46
|
+
}
|
|
47
|
+
service: {
|
|
48
|
+
desiredCount: number
|
|
49
|
+
serviceDiscovery?: {
|
|
50
|
+
enabled: boolean
|
|
51
|
+
namespace?: string
|
|
52
|
+
}
|
|
53
|
+
autoScaling?: {
|
|
54
|
+
min: number
|
|
55
|
+
max: number
|
|
56
|
+
targetCPU?: number
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
services?: Array<{
|
|
61
|
+
name: string
|
|
62
|
+
type: 'fargate' | 'ec2'
|
|
63
|
+
taskDefinition: any
|
|
64
|
+
service: any
|
|
65
|
+
}>
|
|
66
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add database resources (RDS, DynamoDB) to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addDatabaseResources(builder: CloudFormationBuilder, config: DatabaseConfig): void;
|
|
6
|
+
export declare interface DatabaseConfig {
|
|
7
|
+
postgres?: {
|
|
8
|
+
engine: 'postgres'
|
|
9
|
+
version: string
|
|
10
|
+
instanceClass: string
|
|
11
|
+
allocatedStorage: number
|
|
12
|
+
maxAllocatedStorage?: number
|
|
13
|
+
multiAZ?: boolean
|
|
14
|
+
backupRetentionDays?: number
|
|
15
|
+
preferredBackupWindow?: string
|
|
16
|
+
preferredMaintenanceWindow?: string
|
|
17
|
+
enablePerformanceInsights?: boolean
|
|
18
|
+
performanceInsightsRetention?: number
|
|
19
|
+
deletionProtection?: boolean
|
|
20
|
+
parameters?: Record<string, string>
|
|
21
|
+
}
|
|
22
|
+
mysql?: {
|
|
23
|
+
engine: 'mysql'
|
|
24
|
+
version: string
|
|
25
|
+
instanceClass: string
|
|
26
|
+
allocatedStorage: number
|
|
27
|
+
maxAllocatedStorage?: number
|
|
28
|
+
multiAZ?: boolean
|
|
29
|
+
backupRetentionDays?: number
|
|
30
|
+
preferredBackupWindow?: string
|
|
31
|
+
preferredMaintenanceWindow?: string
|
|
32
|
+
enablePerformanceInsights?: boolean
|
|
33
|
+
performanceInsightsRetention?: number
|
|
34
|
+
deletionProtection?: boolean
|
|
35
|
+
parameters?: Record<string, string>
|
|
36
|
+
}
|
|
37
|
+
dynamodb?: {
|
|
38
|
+
tables: DynamoDBTableConfig[]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export declare interface DynamoDBTableConfig {
|
|
42
|
+
name: string
|
|
43
|
+
partitionKey: string
|
|
44
|
+
sortKey?: string
|
|
45
|
+
billingMode?: 'PROVISIONED' | 'PAY_PER_REQUEST'
|
|
46
|
+
readCapacity?: number
|
|
47
|
+
writeCapacity?: number
|
|
48
|
+
streamEnabled?: boolean
|
|
49
|
+
pointInTimeRecovery?: boolean
|
|
50
|
+
ttl?: {
|
|
51
|
+
enabled: boolean
|
|
52
|
+
attributeName: string
|
|
53
|
+
}
|
|
54
|
+
globalSecondaryIndexes?: Array<{
|
|
55
|
+
name: string
|
|
56
|
+
partitionKey: string
|
|
57
|
+
sortKey?: string
|
|
58
|
+
projectionType?: 'ALL' | 'KEYS_ONLY' | 'INCLUDE'
|
|
59
|
+
nonKeyAttributes?: string[]
|
|
60
|
+
}>
|
|
61
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add Lambda function resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addFunctionResources(builder: CloudFormationBuilder, config: FunctionsConfig): void;
|
|
6
|
+
export declare interface FunctionEvent {
|
|
7
|
+
type: 'http' | 's3' | 'sqs' | 'sns' | 'kinesis' | 'dynamodb-stream' | 'schedule'
|
|
8
|
+
path?: string
|
|
9
|
+
method?: string
|
|
10
|
+
bucket?: string
|
|
11
|
+
filterPrefix?: string
|
|
12
|
+
filterSuffix?: string
|
|
13
|
+
queueName?: string
|
|
14
|
+
streamName?: string
|
|
15
|
+
tableName?: string
|
|
16
|
+
batchSize?: number
|
|
17
|
+
startingPosition?: 'LATEST' | 'TRIM_HORIZON'
|
|
18
|
+
parallelizationFactor?: number
|
|
19
|
+
expression?: string
|
|
20
|
+
}
|
|
21
|
+
export declare interface FunctionItem {
|
|
22
|
+
name: string
|
|
23
|
+
runtime: string
|
|
24
|
+
handler: string
|
|
25
|
+
memory: number
|
|
26
|
+
timeout: number
|
|
27
|
+
events?: FunctionEvent[]
|
|
28
|
+
environment?: Record<string, string>
|
|
29
|
+
}
|
|
30
|
+
export declare interface FunctionsConfig {
|
|
31
|
+
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add SNS topic resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addMessagingResources(builder: CloudFormationBuilder, config: MessagingConfig): void;
|
|
6
|
+
export declare interface TopicConfig {
|
|
7
|
+
name: string
|
|
8
|
+
displayName?: string
|
|
9
|
+
subscriptions?: Array<{
|
|
10
|
+
protocol: 'http' | 'https' | 'email' | 'email-json' | 'sms' | 'sqs' | 'lambda'
|
|
11
|
+
endpoint: string
|
|
12
|
+
filterPolicy?: Record<string, any>
|
|
13
|
+
}>
|
|
14
|
+
}
|
|
15
|
+
export declare interface MessagingConfig {
|
|
16
|
+
topics?: TopicConfig[]
|
|
17
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add CloudWatch monitoring resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addMonitoringResources(builder: CloudFormationBuilder, config: MonitoringConfig): void;
|
|
6
|
+
export declare interface AlarmConfig {
|
|
7
|
+
name?: string
|
|
8
|
+
metric: string
|
|
9
|
+
threshold: number
|
|
10
|
+
evaluationPeriods?: number
|
|
11
|
+
comparisonOperator?: 'GreaterThanThreshold' | 'LessThanThreshold' | 'GreaterThanOrEqualToThreshold' | 'LessThanOrEqualToThreshold'
|
|
12
|
+
statistic?: 'Average' | 'Sum' | 'Minimum' | 'Maximum' | 'SampleCount'
|
|
13
|
+
period?: number
|
|
14
|
+
treatMissingData?: 'breaching' | 'notBreaching' | 'ignore' | 'missing'
|
|
15
|
+
service?: string
|
|
16
|
+
namespace?: string
|
|
17
|
+
dimensions?: Record<string, string>
|
|
18
|
+
}
|
|
19
|
+
export declare interface MonitoringConfig {
|
|
20
|
+
dashboard?: {
|
|
21
|
+
name: string
|
|
22
|
+
widgets?: Array<{
|
|
23
|
+
type: 'metric' | 'log' | 'text'
|
|
24
|
+
metrics?: string[] | Array<{ service?: string, metric: string }>
|
|
25
|
+
logGroup?: string
|
|
26
|
+
text?: string
|
|
27
|
+
width?: number
|
|
28
|
+
height?: number
|
|
29
|
+
}>
|
|
30
|
+
}
|
|
31
|
+
alarms?: AlarmConfig[]
|
|
32
|
+
logs?: {
|
|
33
|
+
retention?: number
|
|
34
|
+
groups?: string[]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add VPC and networking resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addNetworkResources(builder: CloudFormationBuilder, config: NetworkConfig): void;
|
|
6
|
+
export declare interface NetworkConfig {
|
|
7
|
+
vpc?: {
|
|
8
|
+
cidr?: string
|
|
9
|
+
availabilityZones?: number
|
|
10
|
+
natGateways?: number
|
|
11
|
+
enableDnsHostnames?: boolean
|
|
12
|
+
enableDnsSupport?: boolean
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add SQS queue resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addQueueResources(builder: CloudFormationBuilder, config: QueueConfig): void;
|
|
6
|
+
export declare interface QueueConfig {
|
|
7
|
+
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add security resources (ACM certificates, WAF, security groups) to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addSecurityResources(builder: CloudFormationBuilder, config: SecurityConfig): void;
|
|
6
|
+
export declare interface SecurityConfig {
|
|
7
|
+
certificate?: {
|
|
8
|
+
domain: string
|
|
9
|
+
subdomains?: string[]
|
|
10
|
+
validationMethod?: 'DNS' | 'EMAIL'
|
|
11
|
+
}
|
|
12
|
+
waf?: {
|
|
13
|
+
enabled: boolean
|
|
14
|
+
rules?: string[]
|
|
15
|
+
rateLimit?: number
|
|
16
|
+
scope?: 'REGIONAL' | 'CLOUDFRONT'
|
|
17
|
+
}
|
|
18
|
+
securityGroups?: Record<string, {
|
|
19
|
+
ingress?: Array<{
|
|
20
|
+
port: number
|
|
21
|
+
protocol: string
|
|
22
|
+
cidr?: string
|
|
23
|
+
source?: string
|
|
24
|
+
}>
|
|
25
|
+
egress?: Array<{
|
|
26
|
+
port: number
|
|
27
|
+
protocol: string
|
|
28
|
+
cidr?: string
|
|
29
|
+
}>
|
|
30
|
+
}>
|
|
31
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CloudFormationBuilder } from '../builder';
|
|
2
|
+
/**
|
|
3
|
+
* Add S3 and EFS storage resources to CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function addStorageResources(builder: CloudFormationBuilder, config: StorageConfig): void;
|
|
6
|
+
export declare interface StorageConfig {
|
|
7
|
+
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type {
|
|
2
|
+
CloudFormationTemplate,
|
|
3
|
+
CloudFormationResource,
|
|
4
|
+
CloudFormationParameter,
|
|
5
|
+
CloudFormationOutput,
|
|
6
|
+
CloudFormationCondition,
|
|
7
|
+
CloudFormationIntrinsicFunction,
|
|
8
|
+
} from './types';
|
|
9
|
+
export type { QueueConfig } from './builders/queue';
|
|
10
|
+
export {
|
|
11
|
+
CloudFormationBuilder,
|
|
12
|
+
buildCloudFormationTemplate,
|
|
13
|
+
} from './builder';
|
|
14
|
+
export {
|
|
15
|
+
Fn,
|
|
16
|
+
Arn,
|
|
17
|
+
AWS_PSEUDO_PARAMETERS,
|
|
18
|
+
} from './types';
|
|
19
|
+
export { addNetworkResources } from './builders/network';
|
|
20
|
+
export { addStorageResources } from './builders/storage';
|
|
21
|
+
export { addComputeResources } from './builders/compute';
|
|
22
|
+
export { addDatabaseResources } from './builders/database';
|
|
23
|
+
export { addFunctionResources } from './builders/functions';
|
|
24
|
+
export { addQueueResources } from './builders/queue';
|