sst 3.0.0 → 3.0.1-1
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/package.json +7 -139
- package/src/index.ts +1 -0
- package/src/resource.ts +15 -0
- package/tsconfig.json +11 -0
- package/LICENSE +0 -21
- package/README.md +0 -43
- package/bootstrap.d.ts +0 -5
- package/bootstrap.js +0 -318
- package/bus.d.ts +0 -20
- package/bus.js +0 -52
- package/cache.d.ts +0 -4
- package/cache.js +0 -31
- package/cdk/deploy-stack.d.ts +0 -223
- package/cdk/deploy-stack.js +0 -562
- package/cdk/deployments-wrapper.d.ts +0 -3
- package/cdk/deployments-wrapper.js +0 -135
- package/cdk/deployments.d.ts +0 -327
- package/cdk/deployments.js +0 -360
- package/cdk/util.d.ts +0 -1
- package/cdk/util.js +0 -17
- package/cli/ci-info.d.ts +0 -4
- package/cli/ci-info.js +0 -8
- package/cli/colors.d.ts +0 -17
- package/cli/colors.js +0 -27
- package/cli/commands/bind.d.ts +0 -19
- package/cli/commands/bind.js +0 -360
- package/cli/commands/bootstrap.d.ts +0 -15
- package/cli/commands/bootstrap.js +0 -11
- package/cli/commands/build.d.ts +0 -17
- package/cli/commands/build.js +0 -25
- package/cli/commands/connect.d.ts +0 -17
- package/cli/commands/connect.js +0 -55
- package/cli/commands/console.d.ts +0 -15
- package/cli/commands/console.js +0 -22
- package/cli/commands/deploy.d.ts +0 -19
- package/cli/commands/deploy.js +0 -112
- package/cli/commands/dev.d.ts +0 -25
- package/cli/commands/dev.js +0 -351
- package/cli/commands/diff.d.ts +0 -19
- package/cli/commands/diff.js +0 -89
- package/cli/commands/plugins/kysely.d.ts +0 -1
- package/cli/commands/plugins/kysely.js +0 -87
- package/cli/commands/plugins/pothos.d.ts +0 -1
- package/cli/commands/plugins/pothos.js +0 -58
- package/cli/commands/plugins/warmer.d.ts +0 -1
- package/cli/commands/plugins/warmer.js +0 -33
- package/cli/commands/remove.d.ts +0 -19
- package/cli/commands/remove.js +0 -62
- package/cli/commands/secrets/get.d.ts +0 -19
- package/cli/commands/secrets/get.js +0 -27
- package/cli/commands/secrets/list.d.ts +0 -19
- package/cli/commands/secrets/list.js +0 -69
- package/cli/commands/secrets/load.d.ts +0 -17
- package/cli/commands/secrets/load.js +0 -47
- package/cli/commands/secrets/remove.d.ts +0 -19
- package/cli/commands/secrets/remove.js +0 -27
- package/cli/commands/secrets/secrets.d.ts +0 -2
- package/cli/commands/secrets/secrets.js +0 -16
- package/cli/commands/secrets/set.d.ts +0 -21
- package/cli/commands/secrets/set.js +0 -54
- package/cli/commands/telemetry.d.ts +0 -17
- package/cli/commands/telemetry.js +0 -24
- package/cli/commands/transform.d.ts +0 -17
- package/cli/commands/transform.js +0 -62
- package/cli/commands/types.d.ts +0 -15
- package/cli/commands/types.js +0 -25
- package/cli/commands/update.d.ts +0 -17
- package/cli/commands/update.js +0 -116
- package/cli/commands/version.d.ts +0 -15
- package/cli/commands/version.js +0 -15
- package/cli/local/router.d.ts +0 -44
- package/cli/local/router.js +0 -43
- package/cli/local/server.d.ts +0 -22
- package/cli/local/server.js +0 -319
- package/cli/program.d.ts +0 -19
- package/cli/program.js +0 -87
- package/cli/spinner.d.ts +0 -3
- package/cli/spinner.js +0 -14
- package/cli/sst.d.ts +0 -2
- package/cli/sst.js +0 -74
- package/cli/telemetry/environment.d.ts +0 -15
- package/cli/telemetry/environment.js +0 -27
- package/cli/telemetry/post-payload.d.ts +0 -1
- package/cli/telemetry/post-payload.js +0 -27
- package/cli/telemetry/project-id.d.ts +0 -2
- package/cli/telemetry/project-id.js +0 -47
- package/cli/telemetry/telemetry.d.ts +0 -19
- package/cli/telemetry/telemetry.js +0 -103
- package/cli/terminal.d.ts +0 -1
- package/cli/terminal.js +0 -8
- package/cli/ui/deploy.d.ts +0 -10
- package/cli/ui/deploy.js +0 -172
- package/cli/ui/functions.d.ts +0 -2
- package/cli/ui/functions.js +0 -130
- package/cli/ui/header.d.ts +0 -5
- package/cli/ui/header.js +0 -16
- package/cli/ui/stack.d.ts +0 -1
- package/cli/ui/stack.js +0 -6
- package/config.d.ts +0 -56
- package/config.js +0 -244
- package/constructs/Api.d.ts +0 -814
- package/constructs/Api.js +0 -743
- package/constructs/ApiGatewayV1Api.d.ts +0 -642
- package/constructs/ApiGatewayV1Api.js +0 -767
- package/constructs/App.d.ts +0 -168
- package/constructs/App.js +0 -493
- package/constructs/AppSyncApi.d.ts +0 -550
- package/constructs/AppSyncApi.js +0 -493
- package/constructs/AstroSite.d.ts +0 -39
- package/constructs/AstroSite.js +0 -78
- package/constructs/AstroSite.tsdoc.d.ts +0 -2
- package/constructs/AstroSite.tsdoc.js +0 -2
- package/constructs/Auth.d.ts +0 -100
- package/constructs/Auth.js +0 -177
- package/constructs/BaseSite.d.ts +0 -29
- package/constructs/BaseSite.js +0 -43
- package/constructs/Bucket.d.ts +0 -364
- package/constructs/Bucket.js +0 -327
- package/constructs/Cognito.d.ts +0 -232
- package/constructs/Cognito.js +0 -370
- package/constructs/Config.d.ts +0 -3
- package/constructs/Config.js +0 -3
- package/constructs/Construct.d.ts +0 -23
- package/constructs/Construct.js +0 -46
- package/constructs/Cron.d.ts +0 -164
- package/constructs/Cron.js +0 -114
- package/constructs/Distribution.d.ts +0 -143
- package/constructs/Distribution.js +0 -260
- package/constructs/EdgeFunction.d.ts +0 -49
- package/constructs/EdgeFunction.js +0 -442
- package/constructs/EventBus.d.ts +0 -444
- package/constructs/EventBus.js +0 -440
- package/constructs/Function.d.ts +0 -690
- package/constructs/Function.js +0 -583
- package/constructs/FunctionalStack.d.ts +0 -13
- package/constructs/FunctionalStack.js +0 -62
- package/constructs/Job.d.ts +0 -337
- package/constructs/Job.js +0 -404
- package/constructs/KinesisStream.d.ts +0 -224
- package/constructs/KinesisStream.js +0 -207
- package/constructs/Metadata.d.ts +0 -60
- package/constructs/Metadata.js +0 -1
- package/constructs/NextjsSite.d.ts +0 -104
- package/constructs/NextjsSite.js +0 -308
- package/constructs/Parameter.d.ts +0 -37
- package/constructs/Parameter.js +0 -53
- package/constructs/Queue.d.ts +0 -194
- package/constructs/Queue.js +0 -204
- package/constructs/RDS.d.ts +0 -221
- package/constructs/RDS.js +0 -363
- package/constructs/RemixSite.d.ts +0 -42
- package/constructs/RemixSite.js +0 -158
- package/constructs/RemixSite.tsdoc.d.ts +0 -2
- package/constructs/RemixSite.tsdoc.js +0 -2
- package/constructs/Script.d.ts +0 -160
- package/constructs/Script.js +0 -179
- package/constructs/Secret.d.ts +0 -30
- package/constructs/Secret.js +0 -59
- package/constructs/Service.d.ts +0 -487
- package/constructs/Service.js +0 -655
- package/constructs/SolidStartSite.d.ts +0 -37
- package/constructs/SolidStartSite.js +0 -66
- package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
- package/constructs/SolidStartSite.tsdoc.js +0 -2
- package/constructs/SsrFunction.d.ts +0 -60
- package/constructs/SsrFunction.js +0 -226
- package/constructs/SsrSite.d.ts +0 -407
- package/constructs/SsrSite.js +0 -850
- package/constructs/Stack.d.ts +0 -127
- package/constructs/Stack.js +0 -243
- package/constructs/StaticSite.d.ts +0 -348
- package/constructs/StaticSite.js +0 -468
- package/constructs/SvelteKitSite.d.ts +0 -40
- package/constructs/SvelteKitSite.js +0 -106
- package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
- package/constructs/SvelteKitSite.tsdoc.js +0 -2
- package/constructs/Table.d.ts +0 -410
- package/constructs/Table.js +0 -425
- package/constructs/Topic.d.ts +0 -257
- package/constructs/Topic.js +0 -273
- package/constructs/WebSocketApi.d.ts +0 -355
- package/constructs/WebSocketApi.js +0 -404
- package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
- package/constructs/cdk/HttpAwsIntegration.js +0 -24
- package/constructs/cdk/certificate-base.d.ts +0 -18
- package/constructs/cdk/certificate-base.js +0 -26
- package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
- package/constructs/cdk/dns-validated-certificate.js +0 -125
- package/constructs/cdk/website-redirect.d.ts +0 -53
- package/constructs/cdk/website-redirect.js +0 -77
- package/constructs/context.d.ts +0 -3
- package/constructs/context.js +0 -27
- package/constructs/deferred_task.d.ts +0 -6
- package/constructs/deferred_task.js +0 -45
- package/constructs/deprecated/NextjsSite.d.ts +0 -309
- package/constructs/deprecated/NextjsSite.js +0 -1074
- package/constructs/deprecated/cross-region-helper.d.ts +0 -7
- package/constructs/deprecated/cross-region-helper.js +0 -152
- package/constructs/deprecated/index.d.ts +0 -1
- package/constructs/deprecated/index.js +0 -1
- package/constructs/future/Auth.d.ts +0 -80
- package/constructs/future/Auth.js +0 -122
- package/constructs/future/index.d.ts +0 -1
- package/constructs/future/index.js +0 -1
- package/constructs/index.d.ts +0 -32
- package/constructs/index.js +0 -32
- package/constructs/static-file-list.d.ts +0 -1
- package/constructs/static-file-list.js +0 -51
- package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
- package/constructs/util/apiGatewayV1AccessLog.js +0 -76
- package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
- package/constructs/util/apiGatewayV2AccessLog.js +0 -107
- package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
- package/constructs/util/apiGatewayV2Cors.js +0 -21
- package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
- package/constructs/util/apiGatewayV2Domain.js +0 -208
- package/constructs/util/appSyncApiDomain.d.ts +0 -41
- package/constructs/util/appSyncApiDomain.js +0 -176
- package/constructs/util/builder.d.ts +0 -3
- package/constructs/util/builder.js +0 -9
- package/constructs/util/duration.d.ts +0 -3
- package/constructs/util/duration.js +0 -19
- package/constructs/util/functionBinding.d.ts +0 -31
- package/constructs/util/functionBinding.js +0 -104
- package/constructs/util/functionUrlCors.d.ts +0 -67
- package/constructs/util/functionUrlCors.js +0 -23
- package/constructs/util/permission.d.ts +0 -8
- package/constructs/util/permission.js +0 -228
- package/constructs/util/size.d.ts +0 -3
- package/constructs/util/size.js +0 -12
- package/constructs/util/warning.d.ts +0 -11
- package/constructs/util/warning.js +0 -21
- package/context/context.d.ts +0 -13
- package/context/context.js +0 -69
- package/context/context2.d.ts +0 -16
- package/context/context2.js +0 -108
- package/context/handler.d.ts +0 -25
- package/context/handler.js +0 -21
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -2
- package/credentials.d.ts +0 -9
- package/credentials.js +0 -145
- package/error.d.ts +0 -6
- package/error.js +0 -10
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/iot.d.ts +0 -6
- package/iot.js +0 -163
- package/logger.d.ts +0 -3
- package/logger.js +0 -32
- package/node/actor/index.d.ts +0 -29
- package/node/actor/index.js +0 -17
- package/node/api/index.d.ts +0 -64
- package/node/api/index.js +0 -179
- package/node/auth/adapter/adapter.d.ts +0 -3
- package/node/auth/adapter/adapter.js +0 -3
- package/node/auth/adapter/facebook.d.ts +0 -2
- package/node/auth/adapter/facebook.js +0 -26
- package/node/auth/adapter/github.d.ts +0 -2
- package/node/auth/adapter/github.js +0 -21
- package/node/auth/adapter/google.d.ts +0 -9
- package/node/auth/adapter/google.js +0 -18
- package/node/auth/adapter/link.d.ts +0 -8
- package/node/auth/adapter/link.js +0 -39
- package/node/auth/adapter/oauth.d.ts +0 -25
- package/node/auth/adapter/oauth.js +0 -52
- package/node/auth/adapter/oidc.d.ts +0 -17
- package/node/auth/adapter/oidc.js +0 -50
- package/node/auth/adapter/twitch.d.ts +0 -2
- package/node/auth/adapter/twitch.js +0 -11
- package/node/auth/auth.d.ts +0 -24
- package/node/auth/auth.js +0 -74
- package/node/auth/index.d.ts +0 -13
- package/node/auth/index.js +0 -12
- package/node/auth/session.d.ts +0 -76
- package/node/auth/session.js +0 -121
- package/node/bucket/index.d.ts +0 -3
- package/node/bucket/index.js +0 -2
- package/node/config/index.d.ts +0 -13
- package/node/config/index.js +0 -22
- package/node/event-bus/index.d.ts +0 -51
- package/node/event-bus/index.js +0 -76
- package/node/function/index.d.ts +0 -3
- package/node/function/index.js +0 -3
- package/node/future/auth/adapter/adapter.d.ts +0 -10
- package/node/future/auth/adapter/adapter.js +0 -1
- package/node/future/auth/adapter/code.d.ts +0 -17
- package/node/future/auth/adapter/code.js +0 -68
- package/node/future/auth/adapter/facebook.d.ts +0 -16
- package/node/future/auth/adapter/facebook.js +0 -27
- package/node/future/auth/adapter/github.d.ts +0 -23
- package/node/future/auth/adapter/github.js +0 -23
- package/node/future/auth/adapter/google.d.ts +0 -28
- package/node/future/auth/adapter/google.js +0 -22
- package/node/future/auth/adapter/link.d.ts +0 -13
- package/node/future/auth/adapter/link.js +0 -47
- package/node/future/auth/adapter/microsoft.d.ts +0 -22
- package/node/future/auth/adapter/microsoft.js +0 -16
- package/node/future/auth/adapter/oauth.d.ts +0 -41
- package/node/future/auth/adapter/oauth.js +0 -67
- package/node/future/auth/adapter/oidc.d.ts +0 -30
- package/node/future/auth/adapter/oidc.js +0 -63
- package/node/future/auth/adapter/spotify.d.ts +0 -23
- package/node/future/auth/adapter/spotify.js +0 -22
- package/node/future/auth/encryption.d.ts +0 -2
- package/node/future/auth/encryption.js +0 -30
- package/node/future/auth/handler.d.ts +0 -46
- package/node/future/auth/handler.js +0 -280
- package/node/future/auth/index.d.ts +0 -17
- package/node/future/auth/index.js +0 -15
- package/node/future/auth/session.d.ts +0 -71
- package/node/future/auth/session.js +0 -146
- package/node/graphql/index.d.ts +0 -15
- package/node/graphql/index.js +0 -32
- package/node/job/index.d.ts +0 -37
- package/node/job/index.js +0 -64
- package/node/kinesis-stream/index.d.ts +0 -3
- package/node/kinesis-stream/index.js +0 -3
- package/node/queue/index.d.ts +0 -3
- package/node/queue/index.js +0 -2
- package/node/rds/index.d.ts +0 -3
- package/node/rds/index.js +0 -2
- package/node/service/index.d.ts +0 -3
- package/node/service/index.js +0 -4
- package/node/site/index.d.ts +0 -18
- package/node/site/index.js +0 -18
- package/node/table/index.d.ts +0 -3
- package/node/table/index.js +0 -4
- package/node/topic/index.d.ts +0 -3
- package/node/topic/index.js +0 -4
- package/node/util/index.d.ts +0 -2
- package/node/util/index.js +0 -196
- package/node/util/loader.d.ts +0 -2
- package/node/util/loader.js +0 -51
- package/node/websocket-api/index.d.ts +0 -23
- package/node/websocket-api/index.js +0 -48
- package/pothos.d.ts +0 -7
- package/pothos.js +0 -160
- package/project.d.ts +0 -75
- package/project.js +0 -188
- package/runtime/handlers/container.d.ts +0 -2
- package/runtime/handlers/container.js +0 -263
- package/runtime/handlers/dotnet.d.ts +0 -2
- package/runtime/handlers/dotnet.js +0 -115
- package/runtime/handlers/go.d.ts +0 -2
- package/runtime/handlers/go.js +0 -126
- package/runtime/handlers/java.d.ts +0 -2
- package/runtime/handlers/java.js +0 -103
- package/runtime/handlers/node.d.ts +0 -2
- package/runtime/handlers/node.js +0 -269
- package/runtime/handlers/python.d.ts +0 -2
- package/runtime/handlers/python.js +0 -141
- package/runtime/handlers/pythonBundling.d.ts +0 -82
- package/runtime/handlers/pythonBundling.js +0 -80
- package/runtime/handlers/rust.d.ts +0 -2
- package/runtime/handlers/rust.js +0 -110
- package/runtime/handlers.d.ts +0 -74
- package/runtime/handlers.js +0 -151
- package/runtime/iot.d.ts +0 -1
- package/runtime/iot.js +0 -17
- package/runtime/runtime.d.ts +0 -32
- package/runtime/runtime.js +0 -1
- package/runtime/server.d.ts +0 -6
- package/runtime/server.js +0 -150
- package/runtime/workers.d.ts +0 -37
- package/runtime/workers.js +0 -85
- package/stacks/app-metadata.d.ts +0 -7
- package/stacks/app-metadata.js +0 -75
- package/stacks/assembly.d.ts +0 -1
- package/stacks/assembly.js +0 -4
- package/stacks/build.d.ts +0 -9
- package/stacks/build.js +0 -110
- package/stacks/deploy.d.ts +0 -9
- package/stacks/deploy.js +0 -240
- package/stacks/diff.d.ts +0 -8
- package/stacks/diff.js +0 -62
- package/stacks/index.d.ts +0 -10
- package/stacks/index.js +0 -10
- package/stacks/metadata.d.ts +0 -11
- package/stacks/metadata.js +0 -83
- package/stacks/monitor.d.ts +0 -32
- package/stacks/monitor.js +0 -151
- package/stacks/remove.d.ts +0 -8
- package/stacks/remove.js +0 -76
- package/stacks/synth.d.ts +0 -12
- package/stacks/synth.js +0 -94
- package/support/base-site-archiver.mjs +0 -99
- package/support/base-site-custom-resource/s3-handler.py +0 -195
- package/support/base-site-custom-resource/s3-upload.py +0 -89
- package/support/bootstrap-metadata-function/index.mjs +0 -58011
- package/support/bridge/Dockerfile +0 -3
- package/support/bridge/bridge.mjs +0 -146
- package/support/certificate-requestor/index.js +0 -549
- package/support/custom-resources/index.mjs +0 -180627
- package/support/dotnet31-bootstrap/Program.cs +0 -17
- package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
- package/support/dotnet6-bootstrap/Program.cs +0 -17
- package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
- package/support/edge-function/edge-lambda-version.mjs +0 -3
- package/support/edge-function/edge-lambda.mjs +0 -3
- package/support/edge-function/s3-bucket.mjs +0 -3
- package/support/event-bus-retrier/index.mjs +0 -75
- package/support/java-runtime/install.sh +0 -25
- package/support/java-runtime/pom.xml +0 -39
- package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
- package/support/job-manager/index.mjs +0 -57679
- package/support/nixpacks/Dockerfile +0 -6
- package/support/nodejs-runtime/index.mjs +0 -169
- package/support/python-runtime/Dockerfile +0 -9
- package/support/python-runtime/Dockerfile.custom +0 -21
- package/support/python-runtime/Dockerfile.dependencies +0 -26
- package/support/python-runtime/runtime.py +0 -127
- package/support/rds-migrator/index.mjs +0 -49
- package/support/remix-site-function/edge-server.js +0 -161
- package/support/remix-site-function/polyfill.js +0 -24
- package/support/remix-site-function/regional-server.js +0 -164
- package/support/script-function/index.mjs +0 -48760
- package/support/service-dev-function/index.js +0 -1
- package/support/signing-function/index.mjs +0 -3769
- package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
- package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
- package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
- package/support/sls-nextjs-site-stub/index.html +0 -99
- package/support/ssr-site-function-archiver.mjs +0 -96
- package/support/ssr-site-function-stub/index.js +0 -5
- package/support/ssr-warmer/index.mjs +0 -34235
- package/util/error.d.ts +0 -3
- package/util/error.js +0 -6
- package/util/fs.d.ts +0 -4
- package/util/fs.js +0 -46
- package/util/lazy.d.ts +0 -1
- package/util/lazy.js +0 -11
- package/util/module.d.ts +0 -1
- package/util/module.js +0 -5
- package/util/process.d.ts +0 -2
- package/util/process.js +0 -3
- package/watcher.d.ts +0 -14
- package/watcher.js +0 -35
package/constructs/Stack.d.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { StackProps as CDKStackProps, Stack as CDKStack, CfnOutputProps } from "aws-cdk-lib/core";
|
|
3
|
-
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
4
|
-
import { FunctionProps, Function as Fn } from "./Function.js";
|
|
5
|
-
import { SSTConstruct } from "./Construct.js";
|
|
6
|
-
import { Permissions } from "./util/permission.js";
|
|
7
|
-
export type StackProps = CDKStackProps;
|
|
8
|
-
/**
|
|
9
|
-
* The Stack construct extends cdk.Stack. It automatically prefixes the stack names with the stage and app name to ensure that they can be deployed to multiple regions in the same AWS account. It also ensure that the stack uses the same AWS profile and region as the app. They're defined using functions that return resources that can be imported by other stacks.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
*
|
|
13
|
-
* ```js
|
|
14
|
-
* import { StackContext } from "sst/constructs";
|
|
15
|
-
*
|
|
16
|
-
* export function MyStack({ stack }: StackContext) {
|
|
17
|
-
* // Define your stack
|
|
18
|
-
* }
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare class Stack extends CDKStack {
|
|
22
|
-
/**
|
|
23
|
-
* The current stage of the stack.
|
|
24
|
-
*/
|
|
25
|
-
readonly stage: string;
|
|
26
|
-
/**
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
readonly defaultFunctionProps: FunctionProps[];
|
|
30
|
-
/**
|
|
31
|
-
* Create a custom resource handler per stack. This handler will
|
|
32
|
-
* be used by all the custom resources in the stack.
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
readonly customResourceHandler: lambda.Function;
|
|
36
|
-
/**
|
|
37
|
-
* Skip building Function/Site code when stack is not active
|
|
38
|
-
* ie. `sst remove` and `sst deploy PATTERN` (pattern not matched)
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
readonly isActive: boolean;
|
|
42
|
-
constructor(scope: Construct, id: string, props?: StackProps);
|
|
43
|
-
/**
|
|
44
|
-
* The default function props to be applied to all the Lambda functions in the stack.
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```js
|
|
48
|
-
* stack.setDefaultFunctionProps({
|
|
49
|
-
* srcPath: "backend",
|
|
50
|
-
* runtime: "nodejs18.x",
|
|
51
|
-
* });
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
setDefaultFunctionProps(props: FunctionProps): void;
|
|
55
|
-
/**
|
|
56
|
-
* Adds additional default Permissions to be applied to all Lambda functions in the stack.
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```js
|
|
60
|
-
* stack.addDefaultFunctionPermissions(["sqs", "s3"]);
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
addDefaultFunctionPermissions(permissions: Permissions): void;
|
|
64
|
-
/**
|
|
65
|
-
* Adds additional default environment variables to be applied to all Lambda functions in the stack.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```js
|
|
69
|
-
* stack.addDefaultFunctionEnv({
|
|
70
|
-
* DYNAMO_TABLE: table.name
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
addDefaultFunctionEnv(environment: Record<string, string>): void;
|
|
75
|
-
/**
|
|
76
|
-
* Binds additional resources to be applied to all Lambda functions in the stack.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```js
|
|
80
|
-
* app.addDefaultFunctionBinding([STRIPE_KEY, bucket]);
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
addDefaultFunctionBinding(bind: SSTConstruct[]): void;
|
|
84
|
-
/**
|
|
85
|
-
* Adds additional default layers to be applied to all Lambda functions in the stack.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```js
|
|
89
|
-
* stack.addDefaultFunctionLayers(["arn:aws:lambda:us-east-1:123456789012:layer:nodejs:3"]);
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
addDefaultFunctionLayers(layers: lambda.ILayerVersion[]): void;
|
|
93
|
-
/**
|
|
94
|
-
* Returns all the Function instances in this stack.
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```js
|
|
98
|
-
* stack.getAllFunctions();
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
getAllFunctions(): Fn[];
|
|
102
|
-
private doGetAllFunctions;
|
|
103
|
-
/**
|
|
104
|
-
* Add outputs to this stack
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* ```js
|
|
108
|
-
* stack.addOutputs({
|
|
109
|
-
* TableName: table.name,
|
|
110
|
-
* });
|
|
111
|
-
* ```
|
|
112
|
-
*
|
|
113
|
-
* ```js
|
|
114
|
-
* stack.addOutputs({
|
|
115
|
-
* TableName: {
|
|
116
|
-
* value: table.name,
|
|
117
|
-
* exportName: "MyTableName",
|
|
118
|
-
* }
|
|
119
|
-
* });
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
addOutputs(outputs: Record<string, string | CfnOutputProps | undefined>): void;
|
|
123
|
-
private createCustomResourceHandler;
|
|
124
|
-
private static buildSynthesizer;
|
|
125
|
-
private static checkForPropsIsConstruct;
|
|
126
|
-
private static checkForEnvInProps;
|
|
127
|
-
}
|
package/constructs/Stack.js
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import url from "url";
|
|
3
|
-
import * as path from "path";
|
|
4
|
-
import { Stack as CDKStack, CfnOutput, Duration as CDKDuration, DefaultStackSynthesizer, } from "aws-cdk-lib/core";
|
|
5
|
-
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
6
|
-
import { useProject } from "../project.js";
|
|
7
|
-
import { Function as Fn } from "./Function.js";
|
|
8
|
-
import { isConstruct } from "./Construct.js";
|
|
9
|
-
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
10
|
-
/**
|
|
11
|
-
* The Stack construct extends cdk.Stack. It automatically prefixes the stack names with the stage and app name to ensure that they can be deployed to multiple regions in the same AWS account. It also ensure that the stack uses the same AWS profile and region as the app. They're defined using functions that return resources that can be imported by other stacks.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
*
|
|
15
|
-
* ```js
|
|
16
|
-
* import { StackContext } from "sst/constructs";
|
|
17
|
-
*
|
|
18
|
-
* export function MyStack({ stack }: StackContext) {
|
|
19
|
-
* // Define your stack
|
|
20
|
-
* }
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class Stack extends CDKStack {
|
|
24
|
-
/**
|
|
25
|
-
* The current stage of the stack.
|
|
26
|
-
*/
|
|
27
|
-
stage;
|
|
28
|
-
/**
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
defaultFunctionProps;
|
|
32
|
-
/**
|
|
33
|
-
* Create a custom resource handler per stack. This handler will
|
|
34
|
-
* be used by all the custom resources in the stack.
|
|
35
|
-
* @internal
|
|
36
|
-
*/
|
|
37
|
-
customResourceHandler;
|
|
38
|
-
/**
|
|
39
|
-
* Skip building Function/Site code when stack is not active
|
|
40
|
-
* ie. `sst remove` and `sst deploy PATTERN` (pattern not matched)
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
isActive;
|
|
44
|
-
constructor(scope, id, props) {
|
|
45
|
-
const app = scope.node.root;
|
|
46
|
-
const stackId = app.logicalPrefixedName(id);
|
|
47
|
-
Stack.checkForPropsIsConstruct(id, props);
|
|
48
|
-
Stack.checkForEnvInProps(id, props);
|
|
49
|
-
super(scope, stackId, {
|
|
50
|
-
...props,
|
|
51
|
-
env: {
|
|
52
|
-
account: app.account,
|
|
53
|
-
region: app.region,
|
|
54
|
-
},
|
|
55
|
-
synthesizer: props?.synthesizer || Stack.buildSynthesizer(),
|
|
56
|
-
});
|
|
57
|
-
this.stage = app.stage;
|
|
58
|
-
this.defaultFunctionProps = app.defaultFunctionProps.map((dfp) => typeof dfp === "function" ? dfp(this) : dfp);
|
|
59
|
-
this.customResourceHandler = this.createCustomResourceHandler();
|
|
60
|
-
this.isActive =
|
|
61
|
-
app.mode !== "remove" &&
|
|
62
|
-
(!app.isActiveStack || app.isActiveStack?.(this.stackName) === true);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* The default function props to be applied to all the Lambda functions in the stack.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```js
|
|
69
|
-
* stack.setDefaultFunctionProps({
|
|
70
|
-
* srcPath: "backend",
|
|
71
|
-
* runtime: "nodejs18.x",
|
|
72
|
-
* });
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
setDefaultFunctionProps(props) {
|
|
76
|
-
const fns = this.getAllFunctions();
|
|
77
|
-
if (fns.length > 0)
|
|
78
|
-
throw new Error("Default function props for the stack must be set before any functions have been added. Use 'addDefaultFunctionEnv' or 'addDefaultFunctionPermissions' instead to add more default properties.");
|
|
79
|
-
this.defaultFunctionProps.push(props);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Adds additional default Permissions to be applied to all Lambda functions in the stack.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```js
|
|
86
|
-
* stack.addDefaultFunctionPermissions(["sqs", "s3"]);
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
addDefaultFunctionPermissions(permissions) {
|
|
90
|
-
this.defaultFunctionProps.push({
|
|
91
|
-
permissions,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Adds additional default environment variables to be applied to all Lambda functions in the stack.
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* ```js
|
|
99
|
-
* stack.addDefaultFunctionEnv({
|
|
100
|
-
* DYNAMO_TABLE: table.name
|
|
101
|
-
* });
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
addDefaultFunctionEnv(environment) {
|
|
105
|
-
this.defaultFunctionProps.push({
|
|
106
|
-
environment,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Binds additional resources to be applied to all Lambda functions in the stack.
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
* ```js
|
|
114
|
-
* app.addDefaultFunctionBinding([STRIPE_KEY, bucket]);
|
|
115
|
-
* ```
|
|
116
|
-
*/
|
|
117
|
-
addDefaultFunctionBinding(bind) {
|
|
118
|
-
this.defaultFunctionProps.push({ bind });
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Adds additional default layers to be applied to all Lambda functions in the stack.
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```js
|
|
125
|
-
* stack.addDefaultFunctionLayers(["arn:aws:lambda:us-east-1:123456789012:layer:nodejs:3"]);
|
|
126
|
-
* ```
|
|
127
|
-
*/
|
|
128
|
-
addDefaultFunctionLayers(layers) {
|
|
129
|
-
this.defaultFunctionProps.push({
|
|
130
|
-
layers,
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Returns all the Function instances in this stack.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* ```js
|
|
138
|
-
* stack.getAllFunctions();
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
|
-
getAllFunctions() {
|
|
142
|
-
return this.doGetAllFunctions(this);
|
|
143
|
-
}
|
|
144
|
-
doGetAllFunctions(construct) {
|
|
145
|
-
const results = [];
|
|
146
|
-
for (const child of construct.node.children) {
|
|
147
|
-
if (child instanceof Fn)
|
|
148
|
-
results.push(child);
|
|
149
|
-
results.push(...this.doGetAllFunctions(child));
|
|
150
|
-
}
|
|
151
|
-
return results;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Add outputs to this stack
|
|
155
|
-
*
|
|
156
|
-
* @example
|
|
157
|
-
* ```js
|
|
158
|
-
* stack.addOutputs({
|
|
159
|
-
* TableName: table.name,
|
|
160
|
-
* });
|
|
161
|
-
* ```
|
|
162
|
-
*
|
|
163
|
-
* ```js
|
|
164
|
-
* stack.addOutputs({
|
|
165
|
-
* TableName: {
|
|
166
|
-
* value: table.name,
|
|
167
|
-
* exportName: "MyTableName",
|
|
168
|
-
* }
|
|
169
|
-
* });
|
|
170
|
-
* ```
|
|
171
|
-
*/
|
|
172
|
-
addOutputs(outputs) {
|
|
173
|
-
Object.entries(outputs)
|
|
174
|
-
.filter((e) => e[1] !== undefined)
|
|
175
|
-
.forEach(([key, value]) => {
|
|
176
|
-
// Note: add "SSTStackOutput" prefix to the CfnOutput id to ensure the id
|
|
177
|
-
// does not thrash w/ construct ids in the stack. So users can do this:
|
|
178
|
-
// ```
|
|
179
|
-
// const table = new Table(stack, "myTable");
|
|
180
|
-
// stack.addOutputs({ myTable: table.name });
|
|
181
|
-
// ```
|
|
182
|
-
// And then we override the logical id so the actual output name is
|
|
183
|
-
// still "myTable".
|
|
184
|
-
const output = typeof value === "string"
|
|
185
|
-
? new CfnOutput(this, `SSTStackOutput${key}`, { value })
|
|
186
|
-
: new CfnOutput(this, `SSTStackOutput${key}`, value);
|
|
187
|
-
// CloudFormation only allows alphanumeric characters in the output name.
|
|
188
|
-
output.overrideLogicalId(key.replace(/[^A-Za-z0-9]/g, ""));
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
createCustomResourceHandler() {
|
|
192
|
-
const dir = path.join(__dirname, "../support/custom-resources/");
|
|
193
|
-
return new lambda.Function(this, "CustomResourceHandler", {
|
|
194
|
-
code: lambda.Code.fromAsset(dir, {
|
|
195
|
-
//assetHash: this.stackName + "-custom-resources-20230130",
|
|
196
|
-
assetHash: this.stackName + fs.readFileSync(dir + "/index.mjs").toString(),
|
|
197
|
-
}),
|
|
198
|
-
handler: "index.handler",
|
|
199
|
-
runtime: lambda.Runtime.NODEJS_16_X,
|
|
200
|
-
timeout: CDKDuration.seconds(900),
|
|
201
|
-
memorySize: 1024,
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
static buildSynthesizer() {
|
|
205
|
-
const { config } = useProject();
|
|
206
|
-
const props = {
|
|
207
|
-
qualifier: config.cdk?.qualifier,
|
|
208
|
-
bootstrapStackVersionSsmParameter: config.cdk?.bootstrapStackVersionSsmParameter,
|
|
209
|
-
fileAssetsBucketName: config.cdk?.fileAssetsBucketName,
|
|
210
|
-
deployRoleArn: config.cdk?.deployRoleArn,
|
|
211
|
-
fileAssetPublishingRoleArn: config.cdk?.fileAssetPublishingRoleArn,
|
|
212
|
-
imageAssetPublishingRoleArn: config.cdk?.imageAssetPublishingRoleArn,
|
|
213
|
-
imageAssetsRepositoryName: config.cdk?.imageAssetsRepositoryName,
|
|
214
|
-
cloudFormationExecutionRole: config.cdk?.cloudFormationExecutionRole,
|
|
215
|
-
lookupRoleArn: config.cdk?.lookupRoleArn,
|
|
216
|
-
};
|
|
217
|
-
const isEmpty = Object.values(props).every((v) => v === undefined);
|
|
218
|
-
if (isEmpty)
|
|
219
|
-
return;
|
|
220
|
-
return new DefaultStackSynthesizer(props);
|
|
221
|
-
}
|
|
222
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
223
|
-
static checkForPropsIsConstruct(id, props) {
|
|
224
|
-
// If a construct is passed in as stack props, let's detect it and throw a
|
|
225
|
-
// friendlier error.
|
|
226
|
-
if (props && isConstruct(props)) {
|
|
227
|
-
throw new Error(`Expected an associative array as the stack props while initializing "${id}" stack. Received a construct instead.`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
231
|
-
static checkForEnvInProps(id, props) {
|
|
232
|
-
if (props && props.env) {
|
|
233
|
-
let envS = "";
|
|
234
|
-
try {
|
|
235
|
-
envS = " (" + JSON.stringify(props.env) + ")";
|
|
236
|
-
}
|
|
237
|
-
catch (e) {
|
|
238
|
-
// Ignore
|
|
239
|
-
}
|
|
240
|
-
throw new Error(`Do not set the "env" prop while initializing "${id}" stack${envS}. Use the "AWS_PROFILE" environment variable and "--region" CLI option instead.`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|