@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,132 @@
|
|
|
1
|
+
import type { EnvironmentType } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
import type { IAMAccessKey, IAMGroup, IAMInstanceProfile, IAMManagedPolicy, IAMRole, IAMUser, } from '@stacksjs/ts-cloud-aws-types';
|
|
3
|
+
export declare interface PolicyStatement {
|
|
4
|
+
sid?: string
|
|
5
|
+
effect?: 'Allow' | 'Deny'
|
|
6
|
+
actions: string | string[]
|
|
7
|
+
resources: string | string[]
|
|
8
|
+
conditions?: Record<string, unknown>
|
|
9
|
+
}
|
|
10
|
+
export declare interface UserOptions {
|
|
11
|
+
slug: string
|
|
12
|
+
environment: EnvironmentType
|
|
13
|
+
userName?: string
|
|
14
|
+
groups?: string[]
|
|
15
|
+
managedPolicyArns?: string[]
|
|
16
|
+
}
|
|
17
|
+
export declare interface RoleOptions {
|
|
18
|
+
slug: string
|
|
19
|
+
environment: EnvironmentType
|
|
20
|
+
roleName?: string
|
|
21
|
+
servicePrincipal?: string | string[]
|
|
22
|
+
awsPrincipal?: string | string[]
|
|
23
|
+
managedPolicyArns?: string[]
|
|
24
|
+
}
|
|
25
|
+
export declare interface GroupOptions {
|
|
26
|
+
slug: string
|
|
27
|
+
environment: EnvironmentType
|
|
28
|
+
groupName?: string
|
|
29
|
+
managedPolicyArns?: string[]
|
|
30
|
+
}
|
|
31
|
+
export declare interface ManagedPolicyOptions {
|
|
32
|
+
slug: string
|
|
33
|
+
environment: EnvironmentType
|
|
34
|
+
policyName?: string
|
|
35
|
+
description?: string
|
|
36
|
+
statements: PolicyStatement[]
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Permissions Module - IAM (Identity and Access Management)
|
|
40
|
+
* Provides clean API for creating users, roles, policies, and groups
|
|
41
|
+
*/
|
|
42
|
+
export declare class Permissions {
|
|
43
|
+
static createUser(options: UserOptions): {
|
|
44
|
+
user: IAMUser
|
|
45
|
+
logicalId: string
|
|
46
|
+
};
|
|
47
|
+
static createRole(options: RoleOptions): {
|
|
48
|
+
role: IAMRole
|
|
49
|
+
logicalId: string
|
|
50
|
+
};
|
|
51
|
+
static createGroup(options: GroupOptions): {
|
|
52
|
+
group: IAMGroup
|
|
53
|
+
logicalId: string
|
|
54
|
+
};
|
|
55
|
+
static createPolicy(options: ManagedPolicyOptions): {
|
|
56
|
+
policy: IAMManagedPolicy
|
|
57
|
+
logicalId: string
|
|
58
|
+
};
|
|
59
|
+
static attachPolicyToRole(role: IAMRole, policyArn: string): IAMRole;
|
|
60
|
+
static attachPolicyToUser(user: IAMUser, policyArn: string): IAMUser;
|
|
61
|
+
static attachPolicyToGroup(group: IAMGroup, policyArn: string): IAMGroup;
|
|
62
|
+
static addInlinePolicyToRole(role: IAMRole, policyName: string, statements: PolicyStatement[]): IAMRole;
|
|
63
|
+
static addInlinePolicyToUser(user: IAMUser, policyName: string, statements: PolicyStatement[]): IAMUser;
|
|
64
|
+
static createAccessKey(userLogicalId: string, options: {
|
|
65
|
+
slug: string
|
|
66
|
+
environment: EnvironmentType
|
|
67
|
+
status?: 'Active' | 'Inactive'
|
|
68
|
+
}): {
|
|
69
|
+
accessKey: IAMAccessKey
|
|
70
|
+
logicalId: string
|
|
71
|
+
};
|
|
72
|
+
static createInstanceProfile(roleLogicalId: string, options: {
|
|
73
|
+
slug: string
|
|
74
|
+
environment: EnvironmentType
|
|
75
|
+
profileName?: string
|
|
76
|
+
}): {
|
|
77
|
+
instanceProfile: IAMInstanceProfile
|
|
78
|
+
logicalId: string
|
|
79
|
+
};
|
|
80
|
+
static readonly ManagedPolicies: any;
|
|
81
|
+
static readonly ServicePrincipals: any;
|
|
82
|
+
static createCiCdUser(options: {
|
|
83
|
+
slug: string
|
|
84
|
+
environment: EnvironmentType
|
|
85
|
+
permissions: {
|
|
86
|
+
s3Buckets?: string[]
|
|
87
|
+
cloudFrontDistributions?: string[]
|
|
88
|
+
ecrRepositories?: string[]
|
|
89
|
+
ecsServices?: string[]
|
|
90
|
+
cloudFormationStacks?: string[]
|
|
91
|
+
lambdaFunctions?: string[]
|
|
92
|
+
secretsManagerSecrets?: string[]
|
|
93
|
+
}
|
|
94
|
+
createAccessKey?: boolean
|
|
95
|
+
}): {
|
|
96
|
+
user: IAMUser
|
|
97
|
+
accessKey?: IAMAccessKey
|
|
98
|
+
policy: IAMManagedPolicy
|
|
99
|
+
userLogicalId: string
|
|
100
|
+
accessKeyLogicalId?: string
|
|
101
|
+
policyLogicalId: string
|
|
102
|
+
resources: Record<string, any>
|
|
103
|
+
};
|
|
104
|
+
static createCrossAccountRole(options: {
|
|
105
|
+
slug: string
|
|
106
|
+
environment: EnvironmentType
|
|
107
|
+
trustedAccountIds: string[]
|
|
108
|
+
externalId?: string
|
|
109
|
+
permissions: PolicyStatement[]
|
|
110
|
+
maxSessionDuration?: number
|
|
111
|
+
}): {
|
|
112
|
+
role: IAMRole
|
|
113
|
+
policy: IAMManagedPolicy
|
|
114
|
+
roleLogicalId: string
|
|
115
|
+
policyLogicalId: string
|
|
116
|
+
resources: Record<string, any>
|
|
117
|
+
};
|
|
118
|
+
static createCliUser(options: {
|
|
119
|
+
slug: string
|
|
120
|
+
environment: EnvironmentType
|
|
121
|
+
permissions?: 'readonly' | 'deploy' | 'admin'
|
|
122
|
+
}): {
|
|
123
|
+
user: IAMUser
|
|
124
|
+
accessKey: IAMAccessKey
|
|
125
|
+
policy?: IAMManagedPolicy
|
|
126
|
+
userLogicalId: string
|
|
127
|
+
accessKeyLogicalId: string
|
|
128
|
+
policyLogicalId?: string
|
|
129
|
+
resources: Record<string, any>
|
|
130
|
+
};
|
|
131
|
+
static readonly CiCdPolicies: any;
|
|
132
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export declare interface PhoneConfig {
|
|
2
|
+
slug: string
|
|
3
|
+
environment: string
|
|
4
|
+
instanceAlias: string
|
|
5
|
+
inboundCallsEnabled?: boolean
|
|
6
|
+
outboundCallsEnabled?: boolean
|
|
7
|
+
voicemailEnabled?: boolean
|
|
8
|
+
transcriptionEnabled?: boolean
|
|
9
|
+
notificationTopicArn?: string
|
|
10
|
+
webhookUrl?: string
|
|
11
|
+
}
|
|
12
|
+
export declare class Phone {
|
|
13
|
+
static LambdaCode: {
|
|
14
|
+
incomingCall: string;
|
|
15
|
+
voicemail: string;
|
|
16
|
+
missedCall: string;
|
|
17
|
+
};
|
|
18
|
+
static createConnectInstance(config: PhoneConfig): Record<string, any>;
|
|
19
|
+
static createHoursOfOperation(config: {
|
|
20
|
+
slug: string
|
|
21
|
+
instanceArn: string
|
|
22
|
+
name: string
|
|
23
|
+
timezone: string
|
|
24
|
+
schedule: Array<{
|
|
25
|
+
day: string
|
|
26
|
+
startHour: number
|
|
27
|
+
startMinute: number
|
|
28
|
+
endHour: number
|
|
29
|
+
endMinute: number
|
|
30
|
+
}>
|
|
31
|
+
}): Record<string, any>;
|
|
32
|
+
static createQueue(config: {
|
|
33
|
+
slug: string
|
|
34
|
+
instanceArn: string
|
|
35
|
+
name: string
|
|
36
|
+
hoursOfOperationArn: string
|
|
37
|
+
maxContacts?: number
|
|
38
|
+
}): Record<string, any>;
|
|
39
|
+
static createContactFlow(config: {
|
|
40
|
+
slug: string
|
|
41
|
+
instanceArn: string
|
|
42
|
+
name: string
|
|
43
|
+
type: 'CONTACT_FLOW' | 'CUSTOMER_QUEUE' | 'CUSTOMER_HOLD' | 'CUSTOMER_WHISPER' | 'AGENT_HOLD' | 'AGENT_WHISPER' | 'OUTBOUND_WHISPER' | 'AGENT_TRANSFER' | 'QUEUE_TRANSFER'
|
|
44
|
+
content: string
|
|
45
|
+
}): Record<string, any>;
|
|
46
|
+
static createBasicIvrFlow(config: {
|
|
47
|
+
greeting: string
|
|
48
|
+
queueArn: string
|
|
49
|
+
voicemailLambdaArn?: string
|
|
50
|
+
}): string;
|
|
51
|
+
static createPhoneLambdaRole(config: { slug: string }): Record<string, any>;
|
|
52
|
+
static createIncomingCallLambda(config: {
|
|
53
|
+
slug: string
|
|
54
|
+
roleArn: string
|
|
55
|
+
notificationTopicArn?: string
|
|
56
|
+
callLogTable?: string
|
|
57
|
+
webhookUrl?: string
|
|
58
|
+
}): Record<string, any>;
|
|
59
|
+
static createVoicemailLambda(config: {
|
|
60
|
+
slug: string
|
|
61
|
+
roleArn: string
|
|
62
|
+
voicemailBucket: string
|
|
63
|
+
notificationTopicArn?: string
|
|
64
|
+
callLogTable?: string
|
|
65
|
+
transcriptionEnabled?: boolean
|
|
66
|
+
}): Record<string, any>;
|
|
67
|
+
static createMissedCallLambda(config: {
|
|
68
|
+
slug: string
|
|
69
|
+
roleArn: string
|
|
70
|
+
notificationTopicArn?: string
|
|
71
|
+
callLogTable?: string
|
|
72
|
+
webhookUrl?: string
|
|
73
|
+
}): Record<string, any>;
|
|
74
|
+
static createCallLogTable(config: { slug: string }): Record<string, any>;
|
|
75
|
+
static createCompleteSetup(config: PhoneConfig): {
|
|
76
|
+
resources: Record<string, any>
|
|
77
|
+
outputs: Record<string, any>
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export default Phone;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import type { EnvironmentType } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
import type { EventBridgeRule, SQSQueue, } from '@stacksjs/ts-cloud-aws-types';
|
|
3
|
+
/**
|
|
4
|
+
* Stacks framework job/action integration helpers
|
|
5
|
+
*/
|
|
6
|
+
export declare const StacksIntegration: {
|
|
7
|
+
loadJobs: typeof JobLoader.discoverJobs
|
|
8
|
+
loadActions: typeof JobLoader.discoverActions
|
|
9
|
+
generateScheduledJobs: typeof JobLoader.generateScheduledJobResources
|
|
10
|
+
generateRunner: typeof JobLoader.generateJobRunnerScript
|
|
11
|
+
paths: {
|
|
12
|
+
jobs: string
|
|
13
|
+
actions: string
|
|
14
|
+
runner: string
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export declare interface QueueOptions {
|
|
18
|
+
slug: string
|
|
19
|
+
environment: EnvironmentType
|
|
20
|
+
name?: string
|
|
21
|
+
delaySeconds?: number
|
|
22
|
+
visibilityTimeout?: number
|
|
23
|
+
messageRetentionPeriod?: number
|
|
24
|
+
maxMessageSize?: number
|
|
25
|
+
receiveMessageWaitTime?: number
|
|
26
|
+
fifo?: boolean
|
|
27
|
+
contentBasedDeduplication?: boolean
|
|
28
|
+
encrypted?: boolean
|
|
29
|
+
kmsKeyId?: string
|
|
30
|
+
}
|
|
31
|
+
export declare interface DeadLetterQueueOptions {
|
|
32
|
+
slug: string
|
|
33
|
+
environment: EnvironmentType
|
|
34
|
+
maxReceiveCount?: number
|
|
35
|
+
}
|
|
36
|
+
export declare interface ScheduleOptions {
|
|
37
|
+
slug: string
|
|
38
|
+
environment: EnvironmentType
|
|
39
|
+
name?: string
|
|
40
|
+
description?: string
|
|
41
|
+
enabled?: boolean
|
|
42
|
+
}
|
|
43
|
+
export declare interface EcsScheduleOptions extends ScheduleOptions {
|
|
44
|
+
taskDefinitionArn: string
|
|
45
|
+
clusterArn: string
|
|
46
|
+
subnets: string[]
|
|
47
|
+
securityGroups?: string[]
|
|
48
|
+
assignPublicIp?: boolean
|
|
49
|
+
taskCount?: number
|
|
50
|
+
containerOverrides?: Array<{
|
|
51
|
+
name: string
|
|
52
|
+
environment?: Array<{
|
|
53
|
+
name: string
|
|
54
|
+
value: string
|
|
55
|
+
}>
|
|
56
|
+
command?: string[]
|
|
57
|
+
}>
|
|
58
|
+
}
|
|
59
|
+
export declare interface LambdaScheduleOptions extends ScheduleOptions {
|
|
60
|
+
functionArn: string
|
|
61
|
+
input?: Record<string, unknown>
|
|
62
|
+
}
|
|
63
|
+
export declare interface SqsTargetOptions extends ScheduleOptions {
|
|
64
|
+
queueArn: string
|
|
65
|
+
messageGroupId?: string
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Job configuration type
|
|
69
|
+
*/
|
|
70
|
+
export declare interface JobConfiguration {
|
|
71
|
+
name: string
|
|
72
|
+
handler: string
|
|
73
|
+
retries: number
|
|
74
|
+
backoff: 'linear' | 'exponential' | 'fixed'
|
|
75
|
+
backoffDelay: number
|
|
76
|
+
maxDelay: number
|
|
77
|
+
timeout: number
|
|
78
|
+
jitter: boolean
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Discovered job definition from file scanning
|
|
82
|
+
*/
|
|
83
|
+
export declare interface DiscoveredJob {
|
|
84
|
+
name: string
|
|
85
|
+
path: string
|
|
86
|
+
schedule?: string
|
|
87
|
+
handler: string
|
|
88
|
+
enabled: boolean
|
|
89
|
+
retries?: number
|
|
90
|
+
backoff?: 'linear' | 'exponential' | 'fixed'
|
|
91
|
+
timeout?: number
|
|
92
|
+
description?: string
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Discovered action definition from file scanning
|
|
96
|
+
*/
|
|
97
|
+
export declare interface DiscoveredAction {
|
|
98
|
+
name: string
|
|
99
|
+
path: string
|
|
100
|
+
handler: string
|
|
101
|
+
description?: string
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Queue & Scheduling Module - EventBridge + SQS
|
|
105
|
+
* Provides clean API for creating queues, cron jobs, and scheduled tasks
|
|
106
|
+
*/
|
|
107
|
+
export declare class Queue {
|
|
108
|
+
static createQueue(options: QueueOptions): {
|
|
109
|
+
queue: SQSQueue
|
|
110
|
+
logicalId: string
|
|
111
|
+
};
|
|
112
|
+
static createDeadLetterQueue(sourceQueueLogicalId: string, options: DeadLetterQueueOptions): {
|
|
113
|
+
deadLetterQueue: SQSQueue
|
|
114
|
+
updatedSourceQueue: SQSQueue
|
|
115
|
+
deadLetterLogicalId: string
|
|
116
|
+
};
|
|
117
|
+
static createSchedule(cronExpression: string, options: ScheduleOptions): {
|
|
118
|
+
rule: EventBridgeRule
|
|
119
|
+
logicalId: string
|
|
120
|
+
};
|
|
121
|
+
static scheduleEcsTask(cronExpression: string, roleArn: string, options: EcsScheduleOptions): {
|
|
122
|
+
rule: EventBridgeRule
|
|
123
|
+
logicalId: string
|
|
124
|
+
};
|
|
125
|
+
static scheduleLambda(cronExpression: string, options: LambdaScheduleOptions): {
|
|
126
|
+
rule: EventBridgeRule
|
|
127
|
+
logicalId: string
|
|
128
|
+
};
|
|
129
|
+
static scheduleSqsMessage(cronExpression: string, options: SqsTargetOptions): {
|
|
130
|
+
rule: EventBridgeRule
|
|
131
|
+
logicalId: string
|
|
132
|
+
};
|
|
133
|
+
static addTarget(rule: EventBridgeRule, target: {
|
|
134
|
+
id: string
|
|
135
|
+
arn: string
|
|
136
|
+
roleArn?: string
|
|
137
|
+
input?: Record<string, unknown>
|
|
138
|
+
}): EventBridgeRule;
|
|
139
|
+
static toCronExpression(expression: string): string;
|
|
140
|
+
static rateExpression(value: number, unit: 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days'): string;
|
|
141
|
+
static readonly CronExpressions: any;
|
|
142
|
+
static readonly RateExpressions: any;
|
|
143
|
+
static rateStringToExpression(rateString: string): string;
|
|
144
|
+
static readonly JobConfig: any;
|
|
145
|
+
static createJobContainerOverride(options: {
|
|
146
|
+
containerName: string
|
|
147
|
+
jobClass: string
|
|
148
|
+
jobData?: Record<string, unknown>
|
|
149
|
+
environment?: Record<string, string>
|
|
150
|
+
}): {
|
|
151
|
+
name: string
|
|
152
|
+
command: string[]
|
|
153
|
+
environment: Array<{ name: string, value: string }>
|
|
154
|
+
};
|
|
155
|
+
static createScheduledJob(options: {
|
|
156
|
+
slug: string
|
|
157
|
+
environment: EnvironmentType
|
|
158
|
+
schedule: string
|
|
159
|
+
jobClass: string
|
|
160
|
+
jobData?: Record<string, unknown>
|
|
161
|
+
taskDefinitionArn: string
|
|
162
|
+
clusterArn: string
|
|
163
|
+
subnets: string[]
|
|
164
|
+
securityGroups?: string[]
|
|
165
|
+
roleArn: string
|
|
166
|
+
containerName?: string
|
|
167
|
+
}): {
|
|
168
|
+
rule: EventBridgeRule
|
|
169
|
+
logicalId: string
|
|
170
|
+
};
|
|
171
|
+
static readonly QueuePresets: any;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Dynamic job and action loader for Stacks framework integration
|
|
175
|
+
*/
|
|
176
|
+
export declare class JobLoader {
|
|
177
|
+
static discoverJobs(options: {
|
|
178
|
+
projectRoot: string
|
|
179
|
+
jobsPath?: string
|
|
180
|
+
}): Promise<DiscoveredJob[]>;
|
|
181
|
+
static parseJobMetadata(content: string, name: string, path: string): DiscoveredJob | null;
|
|
182
|
+
static discoverActions(options: {
|
|
183
|
+
projectRoot: string
|
|
184
|
+
actionsPath?: string
|
|
185
|
+
}): Promise<DiscoveredAction[]>;
|
|
186
|
+
static parseActionMetadata(content: string, name: string, path: string): DiscoveredAction | null;
|
|
187
|
+
static generateScheduledJobResources(options: {
|
|
188
|
+
slug: string
|
|
189
|
+
environment: EnvironmentType
|
|
190
|
+
jobs: DiscoveredJob[]
|
|
191
|
+
taskDefinitionArn: string
|
|
192
|
+
clusterArn: string
|
|
193
|
+
subnets: string[]
|
|
194
|
+
securityGroups?: string[]
|
|
195
|
+
roleArn: string
|
|
196
|
+
containerName?: string
|
|
197
|
+
}): {
|
|
198
|
+
rules: Record<string, EventBridgeRule>
|
|
199
|
+
count: number
|
|
200
|
+
};
|
|
201
|
+
static generateJobRunnerScript(): string;
|
|
202
|
+
static generateJobManifest(options: {
|
|
203
|
+
projectRoot: string
|
|
204
|
+
jobsPath?: string
|
|
205
|
+
}): Promise<{
|
|
206
|
+
jobs: DiscoveredJob[]
|
|
207
|
+
scheduledCount: number
|
|
208
|
+
totalCount: number
|
|
209
|
+
}>;
|
|
210
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CloudFrontFunction, S3Bucket, S3BucketPolicy } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
import type { EnvironmentType } from '@stacksjs/ts-cloud-types';
|
|
3
|
+
export declare interface RedirectRule {
|
|
4
|
+
source: string
|
|
5
|
+
target: string
|
|
6
|
+
statusCode?: 301 | 302 | 307 | 308
|
|
7
|
+
preserveQueryString?: boolean
|
|
8
|
+
}
|
|
9
|
+
export declare interface DomainRedirectOptions {
|
|
10
|
+
slug: string
|
|
11
|
+
environment: EnvironmentType
|
|
12
|
+
sourceDomain: string
|
|
13
|
+
targetDomain: string
|
|
14
|
+
protocol?: 'http' | 'https'
|
|
15
|
+
preservePath?: boolean
|
|
16
|
+
}
|
|
17
|
+
export declare interface PathRedirectOptions {
|
|
18
|
+
slug: string
|
|
19
|
+
environment: EnvironmentType
|
|
20
|
+
rules: RedirectRule[]
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Redirects Module - Domain and Path-based Redirects
|
|
24
|
+
* Provides clean API for URL redirects using S3 and CloudFront Functions
|
|
25
|
+
*/
|
|
26
|
+
export declare class Redirects {
|
|
27
|
+
static createDomainRedirectBucket(options: DomainRedirectOptions): {
|
|
28
|
+
bucket: S3Bucket
|
|
29
|
+
bucketPolicy: S3BucketPolicy
|
|
30
|
+
logicalId: string
|
|
31
|
+
policyLogicalId: string
|
|
32
|
+
};
|
|
33
|
+
static createPathRedirectFunction(options: PathRedirectOptions): {
|
|
34
|
+
function: CloudFrontFunction
|
|
35
|
+
logicalId: string
|
|
36
|
+
functionCode: string
|
|
37
|
+
};
|
|
38
|
+
static generateRedirectFunctionCode(rules: RedirectRule[]): string;
|
|
39
|
+
static readonly CommonRedirects: any;
|
|
40
|
+
static readonly Patterns: any;
|
|
41
|
+
static createRedirectSetup(options: {
|
|
42
|
+
slug: string
|
|
43
|
+
environment: EnvironmentType
|
|
44
|
+
domainRedirects?: DomainRedirectOptions[]
|
|
45
|
+
pathRedirects?: RedirectRule[]
|
|
46
|
+
}): {
|
|
47
|
+
resources: Record<string, any>
|
|
48
|
+
outputs: {
|
|
49
|
+
domainRedirectBuckets: string[]
|
|
50
|
+
pathRedirectFunctionLogicalId: string | null
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
static fromMapping(mapping: Record<string, string>, options?: { statusCode?: 301 | 302 | 307 | 308, preserveQueryString?: boolean }): RedirectRule[];
|
|
54
|
+
static validateRules(rules: RedirectRule[]): {
|
|
55
|
+
valid: boolean
|
|
56
|
+
errors: string[]
|
|
57
|
+
warnings: string[]
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { ECRRepository, ECRLifecyclePolicy } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
import type { EnvironmentType } from '@stacksjs/ts-cloud-types';
|
|
3
|
+
export declare interface RegistryOptions {
|
|
4
|
+
name: string
|
|
5
|
+
slug: string
|
|
6
|
+
environment: EnvironmentType
|
|
7
|
+
scanOnPush?: boolean
|
|
8
|
+
imageMutability?: 'MUTABLE' | 'IMMUTABLE'
|
|
9
|
+
encryption?: 'AES256' | 'KMS'
|
|
10
|
+
kmsKey?: string
|
|
11
|
+
lifecyclePolicy?: LifecyclePolicyConfig
|
|
12
|
+
tags?: Record<string, string>
|
|
13
|
+
}
|
|
14
|
+
export declare interface LifecyclePolicyConfig {
|
|
15
|
+
maxImageCount?: number
|
|
16
|
+
maxImageAgeDays?: number
|
|
17
|
+
untaggedImageExpireDays?: number
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Registry Module - ECR Container Registry Management
|
|
21
|
+
* Provides clean API for creating and configuring ECR repositories
|
|
22
|
+
*/
|
|
23
|
+
export declare class Registry {
|
|
24
|
+
static createRepository(options: RegistryOptions): { repository: ECRRepository, logicalId: string };
|
|
25
|
+
static private generateLifecyclePolicy(config: LifecyclePolicyConfig): ECRLifecyclePolicy;
|
|
26
|
+
static readonly LifecyclePolicies: any;
|
|
27
|
+
static enableImmutableTags(repository: ECRRepository): ECRRepository;
|
|
28
|
+
static enableScanOnPush(repository: ECRRepository): ECRRepository;
|
|
29
|
+
static setLifecyclePolicy(repository: ECRRepository, config: LifecyclePolicyConfig): ECRRepository;
|
|
30
|
+
static addCrossAccountAccess(repository: ECRRepository, accountIds: string[]): ECRRepository;
|
|
31
|
+
static addLambdaAccess(repository: ECRRepository): ECRRepository;
|
|
32
|
+
static generateBunDockerfile(options: {
|
|
33
|
+
baseImage?: string
|
|
34
|
+
serverPath: string
|
|
35
|
+
port?: number
|
|
36
|
+
additionalDirs?: string[]
|
|
37
|
+
healthCheckEndpoint?: string
|
|
38
|
+
nodeCompatible?: boolean
|
|
39
|
+
envVars?: Record<string, string>
|
|
40
|
+
buildCommands?: string[]
|
|
41
|
+
runCommand?: string
|
|
42
|
+
}): string;
|
|
43
|
+
static generateDockerBuildCommands(options: {
|
|
44
|
+
repositoryUri: string
|
|
45
|
+
tag?: string
|
|
46
|
+
dockerfilePath?: string
|
|
47
|
+
context?: string
|
|
48
|
+
additionalTags?: string[]
|
|
49
|
+
buildArgs?: Record<string, string>
|
|
50
|
+
platform?: string
|
|
51
|
+
noCache?: boolean
|
|
52
|
+
}): {
|
|
53
|
+
build: string
|
|
54
|
+
tag: string[]
|
|
55
|
+
push: string[]
|
|
56
|
+
all: string[]
|
|
57
|
+
};
|
|
58
|
+
static generateEcrLoginCommand(region: string, accountId: string): string;
|
|
59
|
+
static buildRepositoryUri(options: {
|
|
60
|
+
accountId: string
|
|
61
|
+
region: string
|
|
62
|
+
repositoryName: string
|
|
63
|
+
}): string;
|
|
64
|
+
static generateImageTags(options: {
|
|
65
|
+
version?: string
|
|
66
|
+
gitSha?: string
|
|
67
|
+
gitBranch?: string
|
|
68
|
+
environment?: string
|
|
69
|
+
timestamp?: boolean
|
|
70
|
+
}): string[];
|
|
71
|
+
static readonly DeploymentWorkflow: any;
|
|
72
|
+
static readonly DockerfileTemplates: any;
|
|
73
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { OpenSearchDomain } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
export declare interface SearchDomainOptions {
|
|
3
|
+
slug: string
|
|
4
|
+
environment: string
|
|
5
|
+
domainName?: string
|
|
6
|
+
engineVersion?: string
|
|
7
|
+
instanceType?: string
|
|
8
|
+
instanceCount?: number
|
|
9
|
+
volumeSize?: number
|
|
10
|
+
volumeType?: 'gp2' | 'gp3' | 'io1'
|
|
11
|
+
dedicatedMaster?: boolean
|
|
12
|
+
dedicatedMasterType?: string
|
|
13
|
+
dedicatedMasterCount?: number
|
|
14
|
+
multiAz?: boolean
|
|
15
|
+
availabilityZoneCount?: number
|
|
16
|
+
vpc?: {
|
|
17
|
+
subnetIds: Array<string | { Ref: string }>
|
|
18
|
+
securityGroupIds: Array<string | { Ref: string }>
|
|
19
|
+
}
|
|
20
|
+
encryption?: {
|
|
21
|
+
atRest?: boolean
|
|
22
|
+
kmsKeyId?: string | { Ref: string }
|
|
23
|
+
nodeToNode?: boolean
|
|
24
|
+
}
|
|
25
|
+
enforceHttps?: boolean
|
|
26
|
+
tlsSecurityPolicy?: 'Policy-Min-TLS-1-0-2019-07' | 'Policy-Min-TLS-1-2-2019-07'
|
|
27
|
+
advancedSecurity?: {
|
|
28
|
+
enabled: boolean
|
|
29
|
+
internalUserDatabase?: boolean
|
|
30
|
+
masterUserName?: string
|
|
31
|
+
masterUserPassword?: string
|
|
32
|
+
masterUserArn?: string | { Ref: string }
|
|
33
|
+
}
|
|
34
|
+
autoSnapshotHour?: number
|
|
35
|
+
autoTune?: boolean
|
|
36
|
+
tags?: Record<string, string>
|
|
37
|
+
}
|
|
38
|
+
export declare interface AccessPolicyOptions {
|
|
39
|
+
ipAddresses?: string[]
|
|
40
|
+
iamPrincipalArns?: Array<string | { Ref: string }>
|
|
41
|
+
allowAll?: boolean
|
|
42
|
+
vpcEndpoint?: boolean
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Search class for OpenSearch/Elasticsearch operations
|
|
46
|
+
*/
|
|
47
|
+
export declare class Search {
|
|
48
|
+
static createDomain(options: SearchDomainOptions): {
|
|
49
|
+
domain: OpenSearchDomain
|
|
50
|
+
logicalId: string
|
|
51
|
+
};
|
|
52
|
+
static createAccessPolicy(domainArn: string | { 'Fn::GetAtt': [string, string] }, options: AccessPolicyOptions): Record<string, any>;
|
|
53
|
+
static readonly DomainPresets: any;
|
|
54
|
+
static readonly InstanceTypes: any;
|
|
55
|
+
static readonly EngineVersions: any;
|
|
56
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { SecretsManagerSecret, SecretsManagerSecretTargetAttachment, SecretsManagerRotationSchedule } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
export declare interface SecretOptions {
|
|
3
|
+
slug: string
|
|
4
|
+
environment: string
|
|
5
|
+
secretName?: string
|
|
6
|
+
description?: string
|
|
7
|
+
secretString?: string
|
|
8
|
+
kmsKeyId?: string
|
|
9
|
+
tags?: Record<string, string>
|
|
10
|
+
}
|
|
11
|
+
export declare interface GeneratedSecretOptions {
|
|
12
|
+
slug: string
|
|
13
|
+
environment: string
|
|
14
|
+
secretName?: string
|
|
15
|
+
description?: string
|
|
16
|
+
excludeCharacters?: string
|
|
17
|
+
excludeLowercase?: boolean
|
|
18
|
+
excludeNumbers?: boolean
|
|
19
|
+
excludePunctuation?: boolean
|
|
20
|
+
excludeUppercase?: boolean
|
|
21
|
+
passwordLength?: number
|
|
22
|
+
requireEachIncludedType?: boolean
|
|
23
|
+
kmsKeyId?: string
|
|
24
|
+
tags?: Record<string, string>
|
|
25
|
+
}
|
|
26
|
+
export declare interface SecretTargetAttachmentOptions {
|
|
27
|
+
slug: string
|
|
28
|
+
environment: string
|
|
29
|
+
secretId: string
|
|
30
|
+
targetId: string
|
|
31
|
+
targetType: 'AWS::RDS::DBInstance' | 'AWS::RDS::DBCluster' | 'AWS::Redshift::Cluster' | 'AWS::DocDB::DBInstance' | 'AWS::DocDB::DBCluster'
|
|
32
|
+
}
|
|
33
|
+
export declare interface SecretRotationOptions {
|
|
34
|
+
slug: string
|
|
35
|
+
environment: string
|
|
36
|
+
secretId: string
|
|
37
|
+
rotationLambdaArn?: string
|
|
38
|
+
automaticallyAfterDays?: number
|
|
39
|
+
rotationType?: string
|
|
40
|
+
kmsKeyArn?: string
|
|
41
|
+
vpcSecurityGroupIds?: string
|
|
42
|
+
vpcSubnetIds?: string
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Secrets Manager Module
|
|
46
|
+
*/
|
|
47
|
+
export declare class Secrets {
|
|
48
|
+
static createSecret(options: SecretOptions): {
|
|
49
|
+
secret: SecretsManagerSecret
|
|
50
|
+
logicalId: string
|
|
51
|
+
};
|
|
52
|
+
static createGeneratedSecret(options: GeneratedSecretOptions): {
|
|
53
|
+
secret: SecretsManagerSecret
|
|
54
|
+
logicalId: string
|
|
55
|
+
};
|
|
56
|
+
static createDatabaseSecret(options: {
|
|
57
|
+
slug: string
|
|
58
|
+
environment: string
|
|
59
|
+
secretName?: string
|
|
60
|
+
username: string
|
|
61
|
+
dbname?: string
|
|
62
|
+
engine?: string
|
|
63
|
+
host?: string
|
|
64
|
+
port?: number
|
|
65
|
+
kmsKeyId?: string
|
|
66
|
+
}): {
|
|
67
|
+
secret: SecretsManagerSecret
|
|
68
|
+
logicalId: string
|
|
69
|
+
};
|
|
70
|
+
static attachToDatabase(options: SecretTargetAttachmentOptions): {
|
|
71
|
+
attachment: SecretsManagerSecretTargetAttachment
|
|
72
|
+
logicalId: string
|
|
73
|
+
};
|
|
74
|
+
static enableRotation(options: SecretRotationOptions): {
|
|
75
|
+
rotation: SecretsManagerRotationSchedule
|
|
76
|
+
logicalId: string
|
|
77
|
+
};
|
|
78
|
+
static readonly SecretTypes: any;
|
|
79
|
+
static readonly RotationTypes: any;
|
|
80
|
+
}
|