sst 3.0.0 → 3.0.1-2
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 +8 -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/Script.d.ts
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { Function as Fn, FunctionProps, FunctionDefinition } from "./Function.js";
|
|
3
|
-
import { SSTConstruct } from "./Construct.js";
|
|
4
|
-
import { Permissions } from "./util/permission.js";
|
|
5
|
-
export interface ScriptProps {
|
|
6
|
-
/**
|
|
7
|
-
* An object of input parameters to be passed to the script. Made available in the `event` object of the function.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```js
|
|
11
|
-
* import { Script } from "sst/constructs";
|
|
12
|
-
*
|
|
13
|
-
* new Script(stack, "Script", {
|
|
14
|
-
* onCreate: "src/script.create",
|
|
15
|
-
* params: {
|
|
16
|
-
* hello: "world",
|
|
17
|
-
* },
|
|
18
|
-
* });
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
params?: Record<string, any>;
|
|
22
|
-
/**
|
|
23
|
-
* By default, the script runs during each deployment. If a version is provided, the script will only run when the version changes.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```js
|
|
27
|
-
* import { Script } from "sst/constructs";
|
|
28
|
-
*
|
|
29
|
-
* new Script(stack, "Script", {
|
|
30
|
-
* onCreate: "src/script.create",
|
|
31
|
-
* version: "v17",
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
version?: string;
|
|
36
|
-
defaults?: {
|
|
37
|
-
/**
|
|
38
|
-
* The default function props to be applied to all the Lambda functions in the API. The `environment`, `permissions` and `layers` properties will be merged with per route definitions if they are defined.
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```js
|
|
42
|
-
* new Script(stack, "Api", {
|
|
43
|
-
* defaults: {
|
|
44
|
-
* function: {
|
|
45
|
-
* timeout: 20,
|
|
46
|
-
* }
|
|
47
|
-
* }
|
|
48
|
-
* });
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
function?: FunctionProps;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Creates the function that runs when the Script is created.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```js
|
|
58
|
-
* new Script(stack, "Api", {
|
|
59
|
-
* onCreate: "src/function.handler",
|
|
60
|
-
* })
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
onCreate?: FunctionDefinition;
|
|
64
|
-
/**
|
|
65
|
-
* Creates the function that runs on every deploy after the Script is created
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```js
|
|
69
|
-
* new Script(stack, "Api", {
|
|
70
|
-
* onUpdate: "src/function.handler",
|
|
71
|
-
* })
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
onUpdate?: FunctionDefinition;
|
|
75
|
-
/**
|
|
76
|
-
* Create the function that runs when the Script is deleted from the stack.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```js
|
|
80
|
-
* new Script(stack, "Api", {
|
|
81
|
-
* onDelete: "src/function.handler",
|
|
82
|
-
* })
|
|
83
|
-
* ```
|
|
84
|
-
*/
|
|
85
|
-
onDelete?: FunctionDefinition;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* The `Script` construct is a higher level CDK construct that makes it easy to run a script in a Lambda function during the deployment process.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
*
|
|
92
|
-
* ```js
|
|
93
|
-
* import { Script } from "sst/constructs";
|
|
94
|
-
*
|
|
95
|
-
* new Script(stack, "Script", {
|
|
96
|
-
* onCreate: "src/function.create",
|
|
97
|
-
* onUpdate: "src/function.update",
|
|
98
|
-
* onDelete: "src/function.delete",
|
|
99
|
-
* });
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
export declare class Script extends Construct implements SSTConstruct {
|
|
103
|
-
/**
|
|
104
|
-
* The internally created onCreate `Function` instance.
|
|
105
|
-
*/
|
|
106
|
-
readonly createFunction?: Fn;
|
|
107
|
-
/**
|
|
108
|
-
* The internally created onUpdate `Function` instance.
|
|
109
|
-
*/
|
|
110
|
-
readonly updateFunction?: Fn;
|
|
111
|
-
/**
|
|
112
|
-
* The internally created onDelete `Function` instance.
|
|
113
|
-
*/
|
|
114
|
-
readonly deleteFunction?: Fn;
|
|
115
|
-
protected readonly props: ScriptProps;
|
|
116
|
-
readonly id: string;
|
|
117
|
-
constructor(scope: Construct, id: string, props: ScriptProps);
|
|
118
|
-
/**
|
|
119
|
-
* Binds additional resources to the script
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* ```js
|
|
123
|
-
* script.bind([STRIPE_KEY, bucket]);
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
bind(constructs: SSTConstruct[]): void;
|
|
127
|
-
/**
|
|
128
|
-
* Grants additional permissions to the script
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```js
|
|
132
|
-
* script.attachPermissions(["s3"]);
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
attachPermissions(permissions: Permissions): void;
|
|
136
|
-
protected createUserFunction(type: string, fnDef?: FunctionDefinition): Fn | undefined;
|
|
137
|
-
private createCustomResourceFunction;
|
|
138
|
-
private createCustomResource;
|
|
139
|
-
private checkDeprecatedFunction;
|
|
140
|
-
/** @internal */
|
|
141
|
-
getConstructMetadata(): {
|
|
142
|
-
type: "Script";
|
|
143
|
-
data: {
|
|
144
|
-
createfn: {
|
|
145
|
-
node: string;
|
|
146
|
-
stack: string;
|
|
147
|
-
} | undefined;
|
|
148
|
-
deletefn: {
|
|
149
|
-
node: string;
|
|
150
|
-
stack: string;
|
|
151
|
-
} | undefined;
|
|
152
|
-
updatefn: {
|
|
153
|
-
node: string;
|
|
154
|
-
stack: string;
|
|
155
|
-
} | undefined;
|
|
156
|
-
};
|
|
157
|
-
};
|
|
158
|
-
/** @internal */
|
|
159
|
-
getFunctionBinding(): undefined;
|
|
160
|
-
}
|
package/constructs/Script.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import url from "url";
|
|
3
|
-
import { Construct } from "constructs";
|
|
4
|
-
import { CustomResource, Duration } from "aws-cdk-lib/core";
|
|
5
|
-
import { PolicyStatement } from "aws-cdk-lib/aws-iam";
|
|
6
|
-
import { Code, Runtime, Function as CdkFunction } from "aws-cdk-lib/aws-lambda";
|
|
7
|
-
import { Stack } from "./Stack.js";
|
|
8
|
-
import { Function as Fn, } from "./Function.js";
|
|
9
|
-
import { getFunctionRef, } from "./Construct.js";
|
|
10
|
-
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
11
|
-
/////////////////////
|
|
12
|
-
// Construct
|
|
13
|
-
/////////////////////
|
|
14
|
-
/**
|
|
15
|
-
* The `Script` construct is a higher level CDK construct that makes it easy to run a script in a Lambda function during the deployment process.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
*
|
|
19
|
-
* ```js
|
|
20
|
-
* import { Script } from "sst/constructs";
|
|
21
|
-
*
|
|
22
|
-
* new Script(stack, "Script", {
|
|
23
|
-
* onCreate: "src/function.create",
|
|
24
|
-
* onUpdate: "src/function.update",
|
|
25
|
-
* onDelete: "src/function.delete",
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export class Script extends Construct {
|
|
30
|
-
/**
|
|
31
|
-
* The internally created onCreate `Function` instance.
|
|
32
|
-
*/
|
|
33
|
-
createFunction;
|
|
34
|
-
/**
|
|
35
|
-
* The internally created onUpdate `Function` instance.
|
|
36
|
-
*/
|
|
37
|
-
updateFunction;
|
|
38
|
-
/**
|
|
39
|
-
* The internally created onDelete `Function` instance.
|
|
40
|
-
*/
|
|
41
|
-
deleteFunction;
|
|
42
|
-
props;
|
|
43
|
-
id;
|
|
44
|
-
constructor(scope, id, props) {
|
|
45
|
-
super(scope, id);
|
|
46
|
-
this.id = id;
|
|
47
|
-
if (props.function)
|
|
48
|
-
this.checkDeprecatedFunction();
|
|
49
|
-
// Validate deprecated "function" prop
|
|
50
|
-
// Validate at least 1 function is provided
|
|
51
|
-
if (!props.onCreate && !props.onUpdate && !props.onDelete) {
|
|
52
|
-
throw new Error(`Need to provide at least one of "onCreate", "onUpdate", or "onDelete" functions for the "${this.node.id}" Script`);
|
|
53
|
-
}
|
|
54
|
-
const root = scope.node.root;
|
|
55
|
-
this.props = props;
|
|
56
|
-
this.createFunction = this.createUserFunction("onCreate", props.onCreate);
|
|
57
|
-
this.updateFunction = this.createUserFunction("onUpdate", props.onUpdate);
|
|
58
|
-
this.deleteFunction = this.createUserFunction("onDelete", props.onDelete);
|
|
59
|
-
const crFunction = this.createCustomResourceFunction();
|
|
60
|
-
this.createCustomResource(root, crFunction);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Binds additional resources to the script
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```js
|
|
67
|
-
* script.bind([STRIPE_KEY, bucket]);
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
bind(constructs) {
|
|
71
|
-
this.createFunction?.bind(constructs);
|
|
72
|
-
this.updateFunction?.bind(constructs);
|
|
73
|
-
this.deleteFunction?.bind(constructs);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Grants additional permissions to the script
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```js
|
|
80
|
-
* script.attachPermissions(["s3"]);
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
attachPermissions(permissions) {
|
|
84
|
-
this.createFunction?.attachPermissions(permissions);
|
|
85
|
-
this.updateFunction?.attachPermissions(permissions);
|
|
86
|
-
this.deleteFunction?.attachPermissions(permissions);
|
|
87
|
-
}
|
|
88
|
-
createUserFunction(type, fnDef) {
|
|
89
|
-
if (!fnDef) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
// function is construct => return function directly
|
|
93
|
-
if (fnDef instanceof Fn) {
|
|
94
|
-
// validate live dev is not enabled
|
|
95
|
-
if (fnDef._isLiveDevEnabled) {
|
|
96
|
-
throw new Error(`Live Lambda Dev cannot be enabled for functions in the Script construct. Set the "enableLiveDev" prop for the function to "false".`);
|
|
97
|
-
}
|
|
98
|
-
return Fn.fromDefinition(this, `${type}Function`, fnDef, this.props.defaults?.function, `The "defaults.function" cannot be applied if an instance of a Function construct is passed in. Make sure to define the "${type}" function using FunctionProps, so the Script construct can apply the "defaults.function" to them.`);
|
|
99
|
-
}
|
|
100
|
-
// function is string => create function
|
|
101
|
-
else if (typeof fnDef === "string") {
|
|
102
|
-
return Fn.fromDefinition(this, `${type}Function`, {
|
|
103
|
-
handler: fnDef,
|
|
104
|
-
enableLiveDev: false,
|
|
105
|
-
}, {
|
|
106
|
-
timeout: 900,
|
|
107
|
-
...this.props.defaults?.function,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
// function is props => create function
|
|
111
|
-
return Fn.fromDefinition(this, `${type}Function`, {
|
|
112
|
-
...fnDef,
|
|
113
|
-
enableLiveDev: false,
|
|
114
|
-
}, {
|
|
115
|
-
timeout: 900,
|
|
116
|
-
...this.props.defaults?.function,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
createCustomResourceFunction() {
|
|
120
|
-
const handler = new CdkFunction(this, "ScriptHandler", {
|
|
121
|
-
code: Code.fromAsset(path.join(__dirname, "../support/script-function")),
|
|
122
|
-
runtime: Runtime.NODEJS_16_X,
|
|
123
|
-
handler: "index.handler",
|
|
124
|
-
timeout: Duration.minutes(15),
|
|
125
|
-
memorySize: 1024,
|
|
126
|
-
initialPolicy: [
|
|
127
|
-
new PolicyStatement({
|
|
128
|
-
actions: ["cloudformation:DescribeStacks"],
|
|
129
|
-
resources: [Stack.of(this).stackId],
|
|
130
|
-
}),
|
|
131
|
-
],
|
|
132
|
-
});
|
|
133
|
-
this.createFunction?.grantInvoke(handler);
|
|
134
|
-
this.updateFunction?.grantInvoke(handler);
|
|
135
|
-
this.deleteFunction?.grantInvoke(handler);
|
|
136
|
-
return handler;
|
|
137
|
-
}
|
|
138
|
-
createCustomResource(app, crFunction) {
|
|
139
|
-
// Note: "Version" is set to current timestamp to ensure the Custom
|
|
140
|
-
// Resource function is run on every update.
|
|
141
|
-
//
|
|
142
|
-
// Do not use the current timestamp in Live mode, b/c we want the
|
|
143
|
-
// this custom resource to remain the same in CloudFormation template
|
|
144
|
-
// when rebuilding infrastructure. Otherwise, there will always be
|
|
145
|
-
// a change when rebuilding infrastructure b/c the "version" property
|
|
146
|
-
// changes on each build.
|
|
147
|
-
const defaultVersion = app.mode === "dev" ? app.debugScriptVersion : Date.now().toString();
|
|
148
|
-
const version = this.props.version ?? defaultVersion;
|
|
149
|
-
new CustomResource(this, "ScriptResource", {
|
|
150
|
-
serviceToken: crFunction.functionArn,
|
|
151
|
-
resourceType: "Custom::SSTScript",
|
|
152
|
-
properties: {
|
|
153
|
-
UserCreateFunction: this.createFunction?.functionName,
|
|
154
|
-
UserUpdateFunction: this.updateFunction?.functionName,
|
|
155
|
-
UserDeleteFunction: this.deleteFunction?.functionName,
|
|
156
|
-
UserParams: JSON.stringify(this.props.params || {}),
|
|
157
|
-
Version: version,
|
|
158
|
-
},
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
checkDeprecatedFunction() {
|
|
162
|
-
throw new Error(`The "function" property has been replaced by "onCreate" and "onUpdate". More details on upgrading - https://docs.sst.dev/constructs/Script#upgrading-to-v0460`);
|
|
163
|
-
}
|
|
164
|
-
/** @internal */
|
|
165
|
-
getConstructMetadata() {
|
|
166
|
-
return {
|
|
167
|
-
type: "Script",
|
|
168
|
-
data: {
|
|
169
|
-
createfn: getFunctionRef(this.createFunction),
|
|
170
|
-
deletefn: getFunctionRef(this.deleteFunction),
|
|
171
|
-
updatefn: getFunctionRef(this.updateFunction),
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/** @internal */
|
|
176
|
-
getFunctionBinding() {
|
|
177
|
-
return undefined;
|
|
178
|
-
}
|
|
179
|
-
}
|
package/constructs/Secret.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { SSTConstruct } from "./Construct.js";
|
|
3
|
-
import { FunctionBindingProps } from "./util/functionBinding.js";
|
|
4
|
-
/**
|
|
5
|
-
* The `Secret` construct is a higher level CDK construct that makes it easy to manage app secrets.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ### Using the minimal config
|
|
9
|
-
*
|
|
10
|
-
* ```js
|
|
11
|
-
* import { Config } from "sst/constructs";
|
|
12
|
-
*
|
|
13
|
-
* new Config.Secret(stack, "STRIPE_KEY");
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
export declare class Secret extends Construct implements SSTConstruct {
|
|
17
|
-
readonly id: string;
|
|
18
|
-
readonly name: string;
|
|
19
|
-
constructor(scope: Construct, id: string);
|
|
20
|
-
/** @internal */
|
|
21
|
-
getConstructMetadata(): {
|
|
22
|
-
type: "Secret";
|
|
23
|
-
data: {
|
|
24
|
-
name: string;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
/** @internal */
|
|
28
|
-
getFunctionBinding(): FunctionBindingProps;
|
|
29
|
-
static create<T extends string[]>(scope: Construct, ...parameters: T): { [key in T[number]]: Secret; };
|
|
30
|
-
}
|
package/constructs/Secret.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { Stack } from "./Stack.js";
|
|
3
|
-
import { getParameterPath, getParameterFallbackPath, } from "./util/functionBinding.js";
|
|
4
|
-
/**
|
|
5
|
-
* The `Secret` construct is a higher level CDK construct that makes it easy to manage app secrets.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ### Using the minimal config
|
|
9
|
-
*
|
|
10
|
-
* ```js
|
|
11
|
-
* import { Config } from "sst/constructs";
|
|
12
|
-
*
|
|
13
|
-
* new Config.Secret(stack, "STRIPE_KEY");
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
export class Secret extends Construct {
|
|
17
|
-
id;
|
|
18
|
-
name;
|
|
19
|
-
constructor(scope, id) {
|
|
20
|
-
super(scope, id);
|
|
21
|
-
this.id = id;
|
|
22
|
-
this.name = id;
|
|
23
|
-
}
|
|
24
|
-
/** @internal */
|
|
25
|
-
getConstructMetadata() {
|
|
26
|
-
return {
|
|
27
|
-
type: "Secret",
|
|
28
|
-
data: {
|
|
29
|
-
name: this.name,
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/** @internal */
|
|
34
|
-
getFunctionBinding() {
|
|
35
|
-
const app = this.node.root;
|
|
36
|
-
const partition = Stack.of(this).partition;
|
|
37
|
-
return {
|
|
38
|
-
clientPackage: "config",
|
|
39
|
-
variables: {
|
|
40
|
-
value: {
|
|
41
|
-
type: "secret",
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
permissions: {
|
|
45
|
-
"ssm:GetParameters": [
|
|
46
|
-
`arn:${partition}:ssm:${app.region}:${app.account}:parameter${getParameterPath(this, "value")}`,
|
|
47
|
-
`arn:${partition}:ssm:${app.region}:${app.account}:parameter${getParameterFallbackPath(this, "value")}`,
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
static create(scope, ...parameters) {
|
|
53
|
-
const result = {};
|
|
54
|
-
for (const name of parameters) {
|
|
55
|
-
result[name] = new Secret(scope, name);
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
}
|