sst 3.0.0 → 3.0.1-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/resource.d.ts +4 -0
- package/dist/resource.js +15 -0
- package/dist/vector-client.d.ts +126 -0
- package/dist/vector-client.js +38 -0
- package/package.json +16 -137
- 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
|
@@ -1,642 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import * as logs from "aws-cdk-lib/aws-logs";
|
|
3
|
-
import * as route53 from "aws-cdk-lib/aws-route53";
|
|
4
|
-
import * as iam from "aws-cdk-lib/aws-iam";
|
|
5
|
-
import * as acm from "aws-cdk-lib/aws-certificatemanager";
|
|
6
|
-
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
7
|
-
import * as apig from "aws-cdk-lib/aws-apigateway";
|
|
8
|
-
import * as apigV1AccessLog from "./util/apiGatewayV1AccessLog.js";
|
|
9
|
-
import { Bucket } from "./Bucket.js";
|
|
10
|
-
import { FunctionBindingProps } from "./util/functionBinding.js";
|
|
11
|
-
import { Duration } from "./util/duration.js";
|
|
12
|
-
import { SSTConstruct } from "./Construct.js";
|
|
13
|
-
import { Function as Fn, FunctionProps, FunctionInlineDefinition, FunctionDefinition } from "./Function.js";
|
|
14
|
-
import { Permissions } from "./util/permission.js";
|
|
15
|
-
export interface ApiGatewayV1ApiAccessLogProps extends apigV1AccessLog.AccessLogProps {
|
|
16
|
-
}
|
|
17
|
-
export interface ApiGatewayV1ApiProps<Authorizers extends Record<string, ApiGatewayV1ApiAuthorizer> = Record<string, never>, AuthorizerKeys = keyof Authorizers> {
|
|
18
|
-
/**
|
|
19
|
-
* Define the routes for the API. Can be a function, proxy to another API, or point to an ALB
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
*
|
|
23
|
-
* ```js
|
|
24
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
25
|
-
* "GET /notes" : "src/list.main",
|
|
26
|
-
* "GET /notes/{id}" : "src/get.main",
|
|
27
|
-
* "$default": "src/default.main"
|
|
28
|
-
* })
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
routes?: Record<string, ApiGatewayV1ApiRouteProps<AuthorizerKeys>>;
|
|
32
|
-
/**
|
|
33
|
-
* CORS support applied to all endpoints in this API
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
*
|
|
37
|
-
* ```js
|
|
38
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
39
|
-
* cors: true,
|
|
40
|
-
* });
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
*/
|
|
44
|
-
cors?: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Enable CloudWatch access logs for this API
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```js
|
|
50
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
51
|
-
* accessLog: true
|
|
52
|
-
* });
|
|
53
|
-
*
|
|
54
|
-
* ```
|
|
55
|
-
* @example
|
|
56
|
-
* ```js
|
|
57
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
58
|
-
* accessLog: {
|
|
59
|
-
* retention: "one_week",
|
|
60
|
-
* },
|
|
61
|
-
* });
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
accessLog?: boolean | string | ApiGatewayV1ApiAccessLogProps;
|
|
65
|
-
/**
|
|
66
|
-
* Specify a custom domain to use in addition to the automatically generated one. SST currently supports domains that are configured using [Route 53](https://aws.amazon.com/route53/)
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```js
|
|
70
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
71
|
-
* customDomain: "api.example.com"
|
|
72
|
-
* })
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```js
|
|
77
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
78
|
-
* customDomain: {
|
|
79
|
-
* domainName: "api.example.com",
|
|
80
|
-
* hostedZone: "domain.com",
|
|
81
|
-
* path: "v1"
|
|
82
|
-
* }
|
|
83
|
-
* })
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
customDomain?: string | ApiGatewayV1ApiCustomDomainProps;
|
|
87
|
-
/**
|
|
88
|
-
* Define the authorizers for the API. Can be a user pool, JWT, or Lambda authorizers.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```js
|
|
92
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
93
|
-
* authorizers: {
|
|
94
|
-
* MyAuthorizer: {
|
|
95
|
-
* type: "user_pools",
|
|
96
|
-
* userPoolIds: [userPool.userPoolId],
|
|
97
|
-
* },
|
|
98
|
-
* },
|
|
99
|
-
* });
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
authorizers?: Authorizers;
|
|
103
|
-
defaults?: {
|
|
104
|
-
/**
|
|
105
|
-
* 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.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```js
|
|
109
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
110
|
-
* defaults: {
|
|
111
|
-
* function: {
|
|
112
|
-
* timeout: 20,
|
|
113
|
-
* environment: { tableName: table.tableName },
|
|
114
|
-
* permissions: [table],
|
|
115
|
-
* }
|
|
116
|
-
* er
|
|
117
|
-
* });
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
function?: FunctionProps;
|
|
121
|
-
/**
|
|
122
|
-
* The authorizer for all the routes in the API.
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
* ```js
|
|
126
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
127
|
-
* defaults: {
|
|
128
|
-
* authorizer: "iam",
|
|
129
|
-
* }
|
|
130
|
-
* });
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```js
|
|
135
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
136
|
-
* authorizers: {
|
|
137
|
-
* Authorizer: {
|
|
138
|
-
* type: "user_pools",
|
|
139
|
-
* userPoolIds: [userPool.userPoolId],
|
|
140
|
-
* },
|
|
141
|
-
* },
|
|
142
|
-
* defaults: {
|
|
143
|
-
* authorizer: "Authorizer",
|
|
144
|
-
* }
|
|
145
|
-
* });
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
authorizer?: "none" | "iam" | (string extends AuthorizerKeys ? Omit<AuthorizerKeys, "none" | "iam"> : AuthorizerKeys);
|
|
149
|
-
/**
|
|
150
|
-
* An array of scopes to include in the authorization when using `user_pool` or `jwt` authorizers. These will be merged with the scopes from the attached authorizer.
|
|
151
|
-
* @default []
|
|
152
|
-
*/
|
|
153
|
-
authorizationScopes?: string[];
|
|
154
|
-
};
|
|
155
|
-
cdk?: {
|
|
156
|
-
/**
|
|
157
|
-
* Allows you to override default id for this construct.
|
|
158
|
-
*/
|
|
159
|
-
id?: string;
|
|
160
|
-
/**
|
|
161
|
-
* Override the internally created rest api
|
|
162
|
-
*
|
|
163
|
-
* @example
|
|
164
|
-
* ```js
|
|
165
|
-
*
|
|
166
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
167
|
-
* cdk: {
|
|
168
|
-
* restApi: {
|
|
169
|
-
* description: "My api"
|
|
170
|
-
* }
|
|
171
|
-
* }
|
|
172
|
-
* });
|
|
173
|
-
* ```
|
|
174
|
-
*/
|
|
175
|
-
restApi?: apig.IRestApi | apig.RestApiProps;
|
|
176
|
-
/**
|
|
177
|
-
* If you are importing an existing API Gateway REST API project, you can import existing route paths by providing a list of paths with their corresponding resource ids.
|
|
178
|
-
*
|
|
179
|
-
* @example
|
|
180
|
-
* ```js
|
|
181
|
-
* import { RestApi } from "aws-cdk-lib/aws-apigateway";
|
|
182
|
-
*
|
|
183
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
184
|
-
* cdk: {
|
|
185
|
-
* restApi: RestApi.fromRestApiAttributes(stack, "ImportedApi", {
|
|
186
|
-
* restApiId,
|
|
187
|
-
* rootResourceId,
|
|
188
|
-
* }),
|
|
189
|
-
* importedPaths: {
|
|
190
|
-
* "/notes": "slx2bn",
|
|
191
|
-
* "/users": "uu8xs3",
|
|
192
|
-
* },
|
|
193
|
-
* }
|
|
194
|
-
* });
|
|
195
|
-
* ```
|
|
196
|
-
*
|
|
197
|
-
* API Gateway REST API is structured in a tree structure:
|
|
198
|
-
* - Each path part is a separate API Gateway resource object.
|
|
199
|
-
* - And a path part is a child resource of the preceding part.
|
|
200
|
-
* So the part path /notes, is a child resource of the root resource /. And /notes/{noteId} is a child resource of /notes. If /notes has been created in the imported API, you have to import it before creating the /notes/{noteId} child route.
|
|
201
|
-
*/
|
|
202
|
-
importedPaths?: {
|
|
203
|
-
[path: string]: string;
|
|
204
|
-
};
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
export type ApiGatewayV1ApiRouteProps<AuthorizerKeys> = FunctionInlineDefinition | ApiGatewayV1ApiFunctionRouteProps<AuthorizerKeys>;
|
|
208
|
-
/**
|
|
209
|
-
* Specify a function route handler and configure additional options
|
|
210
|
-
*
|
|
211
|
-
* @example
|
|
212
|
-
* ```js
|
|
213
|
-
* api.addRoutes(props.stack, {
|
|
214
|
-
* "GET /notes/{id}": {
|
|
215
|
-
* type: "function",
|
|
216
|
-
* function: "src/get.main",
|
|
217
|
-
* }
|
|
218
|
-
* });
|
|
219
|
-
* ```
|
|
220
|
-
*/
|
|
221
|
-
export interface ApiGatewayV1ApiFunctionRouteProps<AuthorizerKeys = never> {
|
|
222
|
-
function?: FunctionDefinition;
|
|
223
|
-
authorizer?: "none" | "iam" | (string extends AuthorizerKeys ? Omit<AuthorizerKeys, "none" | "iam"> : AuthorizerKeys);
|
|
224
|
-
authorizationScopes?: string[];
|
|
225
|
-
cdk?: {
|
|
226
|
-
method?: Omit<apig.MethodOptions, "authorizer" | "authorizationType" | "authorizationScopes">;
|
|
227
|
-
integration?: apig.LambdaIntegrationOptions;
|
|
228
|
-
/**
|
|
229
|
-
* Use an existing Lambda function.
|
|
230
|
-
*/
|
|
231
|
-
function?: lambda.IFunction;
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
export type ApiGatewayV1ApiAuthorizer = ApiGatewayV1ApiUserPoolsAuthorizer | ApiGatewayV1ApiLambdaTokenAuthorizer | ApiGatewayV1ApiLambdaRequestAuthorizer;
|
|
235
|
-
interface ApiGatewayV1ApiBaseAuthorizer {
|
|
236
|
-
/**
|
|
237
|
-
* The name of the authorizer.
|
|
238
|
-
*/
|
|
239
|
-
name?: string;
|
|
240
|
-
/**
|
|
241
|
-
* The amount of time the results are cached.
|
|
242
|
-
* @default Not cached
|
|
243
|
-
*/
|
|
244
|
-
resultsCacheTtl?: Duration;
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Specify a user pools authorizer and configure additional options.
|
|
248
|
-
*
|
|
249
|
-
* @example
|
|
250
|
-
* ```js
|
|
251
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
252
|
-
* authorizers: {
|
|
253
|
-
* MyAuthorizer: {
|
|
254
|
-
* type: "user_pools",
|
|
255
|
-
* userPoolIds: [userPool.userPoolId],
|
|
256
|
-
* },
|
|
257
|
-
* },
|
|
258
|
-
* });
|
|
259
|
-
* ```
|
|
260
|
-
*/
|
|
261
|
-
export interface ApiGatewayV1ApiUserPoolsAuthorizer extends ApiGatewayV1ApiBaseAuthorizer {
|
|
262
|
-
/**
|
|
263
|
-
* String literal to signify that the authorizer is user pool authorizer.
|
|
264
|
-
*/
|
|
265
|
-
type: "user_pools";
|
|
266
|
-
/**
|
|
267
|
-
* The ids of the user pools to use for authorization.
|
|
268
|
-
*/
|
|
269
|
-
userPoolIds?: string[];
|
|
270
|
-
/**
|
|
271
|
-
* The identity source for which authorization is requested.
|
|
272
|
-
*/
|
|
273
|
-
identitySource?: string;
|
|
274
|
-
cdk?: {
|
|
275
|
-
/**
|
|
276
|
-
* This allows you to override the default settings this construct uses internally to create the authorizer.
|
|
277
|
-
*/
|
|
278
|
-
authorizer: apig.CognitoUserPoolsAuthorizer;
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Specify a Lambda TOKEN authorizer and configure additional options.
|
|
283
|
-
*
|
|
284
|
-
* @example
|
|
285
|
-
* ```js
|
|
286
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
287
|
-
* authorizers: {
|
|
288
|
-
* MyAuthorizer: {
|
|
289
|
-
* type: "lambda_token",
|
|
290
|
-
* function: new Function(stack, "Authorizer", {
|
|
291
|
-
* handler: "test/lambda.handler"
|
|
292
|
-
* }),
|
|
293
|
-
* identitySources: [apig.IdentitySource.header("Authorization")],
|
|
294
|
-
* },
|
|
295
|
-
* },
|
|
296
|
-
* });
|
|
297
|
-
* ```
|
|
298
|
-
*/
|
|
299
|
-
export interface ApiGatewayV1ApiLambdaTokenAuthorizer extends ApiGatewayV1ApiBaseAuthorizer {
|
|
300
|
-
/**
|
|
301
|
-
* String literal to signify that the authorizer is Lambda TOKEN authorizer.
|
|
302
|
-
*/
|
|
303
|
-
type: "lambda_token";
|
|
304
|
-
/**
|
|
305
|
-
* Used to create the authorizer function
|
|
306
|
-
*/
|
|
307
|
-
function?: Fn;
|
|
308
|
-
/**
|
|
309
|
-
* The identity source for which authorization is requested.
|
|
310
|
-
*/
|
|
311
|
-
identitySource?: string;
|
|
312
|
-
/**
|
|
313
|
-
* An regex to be matched against the authorization token.
|
|
314
|
-
*
|
|
315
|
-
* Note that when matched, the authorizer lambda is invoked, otherwise a 401 Unauthorized is returned to the client.
|
|
316
|
-
*/
|
|
317
|
-
validationRegex?: string;
|
|
318
|
-
cdk?: {
|
|
319
|
-
/**
|
|
320
|
-
* An IAM role for API Gateway to assume before calling the Lambda-based authorizer.
|
|
321
|
-
*/
|
|
322
|
-
assumeRole?: iam.IRole;
|
|
323
|
-
/**
|
|
324
|
-
* This allows you to override the default settings this construct uses internally to create the authorizer.
|
|
325
|
-
*/
|
|
326
|
-
authorizer?: apig.TokenAuthorizer;
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Specify a Lambda REQUEST authorizer and configure additional options.
|
|
331
|
-
*
|
|
332
|
-
* @example
|
|
333
|
-
* ```js
|
|
334
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
335
|
-
* authorizers: {
|
|
336
|
-
* MyAuthorizer: {
|
|
337
|
-
* type: "lambda_request",
|
|
338
|
-
* function: new Function(stack, "Authorizer", {
|
|
339
|
-
* handler: "test/lambda.handler"
|
|
340
|
-
* }),
|
|
341
|
-
* identitySources: [apig.IdentitySource.header("Authorization")],
|
|
342
|
-
* },
|
|
343
|
-
* },
|
|
344
|
-
* });
|
|
345
|
-
* ```
|
|
346
|
-
*/
|
|
347
|
-
export interface ApiGatewayV1ApiLambdaRequestAuthorizer extends ApiGatewayV1ApiBaseAuthorizer {
|
|
348
|
-
/**
|
|
349
|
-
* String literal to signify that the authorizer is Lambda REQUEST authorizer.
|
|
350
|
-
*/
|
|
351
|
-
type: "lambda_request";
|
|
352
|
-
/**
|
|
353
|
-
* Used to create the authorizer function
|
|
354
|
-
*/
|
|
355
|
-
function?: Fn;
|
|
356
|
-
/**
|
|
357
|
-
* The identity sources for which authorization is requested.
|
|
358
|
-
*/
|
|
359
|
-
identitySources?: string[];
|
|
360
|
-
cdk?: {
|
|
361
|
-
/**
|
|
362
|
-
* An IAM role for API Gateway to assume before calling the Lambda-based authorizer.
|
|
363
|
-
*/
|
|
364
|
-
assumeRole?: iam.IRole;
|
|
365
|
-
/**
|
|
366
|
-
* This allows you to override the default settings this construct uses internally to create the authorizer.
|
|
367
|
-
*/
|
|
368
|
-
authorizer?: apig.TokenAuthorizer;
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* The customDomain for this API. SST currently supports domains that are configured using Route 53. If your domains are hosted elsewhere, you can [follow this guide to migrate them to Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html).
|
|
373
|
-
*
|
|
374
|
-
* @example
|
|
375
|
-
* ```js
|
|
376
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
377
|
-
* customDomain: "api.domain.com",
|
|
378
|
-
* });
|
|
379
|
-
* ```
|
|
380
|
-
*
|
|
381
|
-
* @example
|
|
382
|
-
* ```js
|
|
383
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
384
|
-
* customDomain: {
|
|
385
|
-
* domainName: "api.domain.com",
|
|
386
|
-
* hostedZone: "domain.com",
|
|
387
|
-
* endpointType: EndpointType.EDGE,
|
|
388
|
-
* path: "v1",
|
|
389
|
-
* }
|
|
390
|
-
* });
|
|
391
|
-
* ```
|
|
392
|
-
*
|
|
393
|
-
* Note that, SST automatically creates a Route 53 A record in the hosted zone to point the custom domain to the API Gateway domain.
|
|
394
|
-
*/
|
|
395
|
-
export interface ApiGatewayV1ApiCustomDomainProps {
|
|
396
|
-
/**
|
|
397
|
-
* The domain to be assigned to the API endpoint.
|
|
398
|
-
*/
|
|
399
|
-
domainName?: string;
|
|
400
|
-
/**
|
|
401
|
-
* The hosted zone in Route 53 that contains the domain.
|
|
402
|
-
*
|
|
403
|
-
* By default, SST will look for a hosted zone by stripping out the first part of the domainName that's passed in. So, if your domainName is `api.domain.com`, SST will default the hostedZone to `domain.com`.
|
|
404
|
-
*/
|
|
405
|
-
hostedZone?: string;
|
|
406
|
-
/**
|
|
407
|
-
* The base mapping for the custom domain. For example, by setting the `domainName` to `api.domain.com` and `path` to `v1`, the custom domain URL for the API will become `https://api.domain.com/v1`. If the path is not set, the custom domain URL will be `https://api.domain.com`.
|
|
408
|
-
*
|
|
409
|
-
* :::caution
|
|
410
|
-
* You cannot change the path once it has been set.
|
|
411
|
-
* :::
|
|
412
|
-
*
|
|
413
|
-
* Note, if the `path` was not defined initially, it cannot be defined later. If the `path` was initially defined, it cannot be later changed to _undefined_. Instead, you'd need to remove the `customDomain` option from the construct, deploy it. And then set it to the new path value.
|
|
414
|
-
*/
|
|
415
|
-
path?: string;
|
|
416
|
-
/**
|
|
417
|
-
* The type of endpoint for this DomainName.
|
|
418
|
-
* @default `regional`
|
|
419
|
-
*/
|
|
420
|
-
endpointType?: Lowercase<keyof typeof apig.EndpointType>;
|
|
421
|
-
mtls?: {
|
|
422
|
-
/**
|
|
423
|
-
* The bucket that the trust store is hosted in.
|
|
424
|
-
*/
|
|
425
|
-
bucket: Bucket;
|
|
426
|
-
/**
|
|
427
|
-
* The key in S3 to look at for the trust store.
|
|
428
|
-
*/
|
|
429
|
-
key: string;
|
|
430
|
-
/**
|
|
431
|
-
* The version of the S3 object that contains your truststore.
|
|
432
|
-
*
|
|
433
|
-
* To specify a version, you must have versioning enabled for the S3 bucket.
|
|
434
|
-
*/
|
|
435
|
-
version?: string;
|
|
436
|
-
};
|
|
437
|
-
/**
|
|
438
|
-
* The Transport Layer Security (TLS) version + cipher suite for this domain name.
|
|
439
|
-
* @default `TLS 1.0`
|
|
440
|
-
*/
|
|
441
|
-
securityPolicy?: "TLS 1.0" | "TLS 1.2";
|
|
442
|
-
cdk?: {
|
|
443
|
-
/**
|
|
444
|
-
* Import the underlying API Gateway custom domain names.
|
|
445
|
-
*/
|
|
446
|
-
domainName?: apig.IDomainName;
|
|
447
|
-
/**
|
|
448
|
-
* Import the underlying Route 53 hosted zone.
|
|
449
|
-
*/
|
|
450
|
-
hostedZone?: route53.IHostedZone;
|
|
451
|
-
/**
|
|
452
|
-
* Import the underlying ACM certificate.
|
|
453
|
-
*/
|
|
454
|
-
certificate?: acm.ICertificate;
|
|
455
|
-
};
|
|
456
|
-
}
|
|
457
|
-
/**
|
|
458
|
-
*
|
|
459
|
-
* The `ApiGatewayV1Api` construct is a higher level CDK construct that makes it easy to create an API Gateway REST API.
|
|
460
|
-
*
|
|
461
|
-
* @example
|
|
462
|
-
*
|
|
463
|
-
* ```js
|
|
464
|
-
* import { ApiGatewayV1Api } from "sst/constructs";
|
|
465
|
-
*
|
|
466
|
-
* new ApiGatewayV1Api(stack, "Api", {
|
|
467
|
-
* routes: {
|
|
468
|
-
* "GET /notes" : "src/list.main",
|
|
469
|
-
* "POST /notes" : "src/create.main",
|
|
470
|
-
* "GET /notes/{id}": "src/get.main",
|
|
471
|
-
* "PUT /notes/{id}": "src/update.main",
|
|
472
|
-
* "DELETE /notes/{id}": "src/delete.main",
|
|
473
|
-
* },
|
|
474
|
-
* });
|
|
475
|
-
* ```
|
|
476
|
-
*/
|
|
477
|
-
export declare class ApiGatewayV1Api<Authorizers extends Record<string, ApiGatewayV1ApiAuthorizer> = Record<string, never>> extends Construct implements SSTConstruct {
|
|
478
|
-
readonly id: string;
|
|
479
|
-
readonly cdk: {
|
|
480
|
-
/**
|
|
481
|
-
* The internally created rest API
|
|
482
|
-
*/
|
|
483
|
-
restApi: apig.RestApi;
|
|
484
|
-
/**
|
|
485
|
-
* The internally created log group
|
|
486
|
-
*/
|
|
487
|
-
accessLogGroup?: logs.LogGroup;
|
|
488
|
-
/**
|
|
489
|
-
* The internally created domain name
|
|
490
|
-
*/
|
|
491
|
-
domainName?: apig.DomainName;
|
|
492
|
-
/**
|
|
493
|
-
* The internally created certificate
|
|
494
|
-
*/
|
|
495
|
-
certificate?: acm.ICertificate;
|
|
496
|
-
};
|
|
497
|
-
private _deployment?;
|
|
498
|
-
private _customDomainUrl?;
|
|
499
|
-
private importedResources;
|
|
500
|
-
private props;
|
|
501
|
-
private functions;
|
|
502
|
-
private authorizersData;
|
|
503
|
-
private bindingForAllRoutes;
|
|
504
|
-
private permissionsAttachedForAllRoutes;
|
|
505
|
-
constructor(scope: Construct, id: string, props?: ApiGatewayV1ApiProps<Authorizers>);
|
|
506
|
-
/**
|
|
507
|
-
* The AWS generated URL of the Api.
|
|
508
|
-
*/
|
|
509
|
-
get url(): string;
|
|
510
|
-
/**
|
|
511
|
-
* If custom domain is enabled, this is the custom domain URL of the Api.
|
|
512
|
-
*
|
|
513
|
-
* :::note
|
|
514
|
-
* If you are setting the base mapping for the custom domain, you need to include the trailing slash while using the custom domain URL. For example, if the [`domainName`](#domainname) is set to `api.domain.com` and the [`path`](#path) is `v1`, the custom domain URL of the API will be `https://api.domain.com/v1/`.
|
|
515
|
-
* :::
|
|
516
|
-
*/
|
|
517
|
-
get customDomainUrl(): string | undefined;
|
|
518
|
-
/**
|
|
519
|
-
* The routes for the Api
|
|
520
|
-
*/
|
|
521
|
-
get routes(): string[];
|
|
522
|
-
/**
|
|
523
|
-
* The ARN of the internally created API Gateway REST API
|
|
524
|
-
*/
|
|
525
|
-
get restApiArn(): string;
|
|
526
|
-
/**
|
|
527
|
-
* The id of the internally created API Gateway REST API
|
|
528
|
-
*/
|
|
529
|
-
get restApiId(): string;
|
|
530
|
-
/**
|
|
531
|
-
* Adds routes to the Api after it has been created.
|
|
532
|
-
*
|
|
533
|
-
* @example
|
|
534
|
-
* ```js
|
|
535
|
-
* api.addRoutes(stack, {
|
|
536
|
-
* "GET /notes/{id}": "src/get.main",
|
|
537
|
-
* "PUT /notes/{id}": "src/update.main",
|
|
538
|
-
* "DELETE /notes/{id}": "src/delete.main",
|
|
539
|
-
* });
|
|
540
|
-
* ```
|
|
541
|
-
*/
|
|
542
|
-
addRoutes(scope: Construct, routes: Record<string, ApiGatewayV1ApiRouteProps<keyof Authorizers>>): void;
|
|
543
|
-
/**
|
|
544
|
-
* Get the instance of the internally created Function, for a given route key where the `routeKey` is the key used to define a route. For example, `GET /notes`.
|
|
545
|
-
*
|
|
546
|
-
* @example
|
|
547
|
-
* ```js
|
|
548
|
-
* const api = new ApiGatewayV1Api(stack, "Api", {
|
|
549
|
-
* routes: {
|
|
550
|
-
* "GET /notes": "src/list.main",
|
|
551
|
-
* },
|
|
552
|
-
* });
|
|
553
|
-
*
|
|
554
|
-
* const listFunction = api.getFunction("GET /notes");
|
|
555
|
-
* ```
|
|
556
|
-
*/
|
|
557
|
-
getFunction(routeKey: string): Fn | undefined;
|
|
558
|
-
/**
|
|
559
|
-
* Binds the given list of resources to all the routes.
|
|
560
|
-
*
|
|
561
|
-
* @example
|
|
562
|
-
*
|
|
563
|
-
* ```js
|
|
564
|
-
* api.bind([STRIPE_KEY, bucket]);
|
|
565
|
-
* ```
|
|
566
|
-
*/
|
|
567
|
-
bind(constructs: SSTConstruct[]): void;
|
|
568
|
-
/**
|
|
569
|
-
* Binds the given list of resources to a specific route.
|
|
570
|
-
*
|
|
571
|
-
* @example
|
|
572
|
-
* ```js
|
|
573
|
-
* const api = new Api(stack, "Api", {
|
|
574
|
-
* routes: {
|
|
575
|
-
* "GET /notes": "src/list.main",
|
|
576
|
-
* },
|
|
577
|
-
* });
|
|
578
|
-
*
|
|
579
|
-
* api.bindToRoute("GET /notes", [STRIPE_KEY, bucket]);
|
|
580
|
-
* ```
|
|
581
|
-
*
|
|
582
|
-
*/
|
|
583
|
-
bindToRoute(routeKey: string, constructs: SSTConstruct[]): void;
|
|
584
|
-
/**
|
|
585
|
-
* Attaches the given list of permissions to all the routes. This allows the functions to access other AWS resources.
|
|
586
|
-
*
|
|
587
|
-
* @example
|
|
588
|
-
*
|
|
589
|
-
* ```js
|
|
590
|
-
* api.attachPermissions(["s3"]);
|
|
591
|
-
* ```
|
|
592
|
-
*/
|
|
593
|
-
attachPermissions(permissions: Permissions): void;
|
|
594
|
-
/**
|
|
595
|
-
* Attaches the given list of permissions to a specific route. This allows that function to access other AWS resources.
|
|
596
|
-
*
|
|
597
|
-
* @example
|
|
598
|
-
* ```js
|
|
599
|
-
* const api = new ApiGatewayV1Api(stack, "Api", {
|
|
600
|
-
* routes: {
|
|
601
|
-
* "GET /notes": "src/list.main",
|
|
602
|
-
* },
|
|
603
|
-
* });
|
|
604
|
-
*
|
|
605
|
-
* api.attachPermissionsToRoute("GET /notes", ["s3"]);
|
|
606
|
-
* ```
|
|
607
|
-
*/
|
|
608
|
-
attachPermissionsToRoute(routeKey: string, permissions: Permissions): void;
|
|
609
|
-
getConstructMetadata(): {
|
|
610
|
-
type: "ApiGatewayV1Api";
|
|
611
|
-
data: {
|
|
612
|
-
customDomainUrl: string | undefined;
|
|
613
|
-
url: string;
|
|
614
|
-
restApiId: string;
|
|
615
|
-
routes: {
|
|
616
|
-
type: "function";
|
|
617
|
-
route: string;
|
|
618
|
-
fn: {
|
|
619
|
-
node: string;
|
|
620
|
-
stack: string;
|
|
621
|
-
} | undefined;
|
|
622
|
-
}[];
|
|
623
|
-
};
|
|
624
|
-
};
|
|
625
|
-
/** @internal */
|
|
626
|
-
getFunctionBinding(): FunctionBindingProps;
|
|
627
|
-
private createRestApi;
|
|
628
|
-
private buildCorsConfig;
|
|
629
|
-
private createGatewayResponseForCors;
|
|
630
|
-
private createCustomDomain;
|
|
631
|
-
private createARecords;
|
|
632
|
-
private importResources;
|
|
633
|
-
private getResourceForPath;
|
|
634
|
-
private addAuthorizers;
|
|
635
|
-
private addRoute;
|
|
636
|
-
private createCdkFunction;
|
|
637
|
-
private createFunction;
|
|
638
|
-
private buildRouteMethodOptions;
|
|
639
|
-
private normalizeRouteKey;
|
|
640
|
-
private assertDomainNameIsLowerCase;
|
|
641
|
-
}
|
|
642
|
-
export {};
|