@kensio/yulin 1.16.3 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/sdk/wire/sim-sdk-wire-response.d.ts +12 -0
- package/dist/sdk/wire/sim-sdk-wire-response.d.ts.map +1 -1
- package/dist/sdk/wire/sim-sdk-wire-response.js +2 -2
- package/dist/sdk/wire/sim-sdk-wire-response.js.map +1 -1
- package/dist/serve/http/api/query/sim-query-endpoint.d.ts +42 -0
- package/dist/serve/http/api/query/sim-query-endpoint.d.ts.map +1 -0
- package/dist/serve/http/api/query/sim-query-endpoint.js +55 -0
- package/dist/serve/http/api/query/sim-query-endpoint.js.map +1 -0
- package/dist/serve/http/api/query/sim-query-operation.d.ts +19 -0
- package/dist/serve/http/api/query/sim-query-operation.d.ts.map +1 -0
- package/dist/serve/http/api/query/sim-query-operation.js +2 -0
- package/dist/serve/http/api/query/sim-query-operation.js.map +1 -0
- package/dist/serve/http/api/query/sim-query-request.d.ts +85 -0
- package/dist/serve/http/api/query/sim-query-request.d.ts.map +1 -0
- package/dist/serve/http/api/query/sim-query-request.js +136 -0
- package/dist/serve/http/api/query/sim-query-request.js.map +1 -0
- package/dist/serve/http/api/query/sim-query-response.d.ts +35 -0
- package/dist/serve/http/api/query/sim-query-response.d.ts.map +1 -0
- package/dist/serve/http/api/query/sim-query-response.js +63 -0
- package/dist/serve/http/api/query/sim-query-response.js.map +1 -0
- package/dist/serve/http/api/query/sim-query-result.d.ts +33 -0
- package/dist/serve/http/api/query/sim-query-result.d.ts.map +1 -0
- package/dist/serve/http/api/query/sim-query-result.js +87 -0
- package/dist/serve/http/api/query/sim-query-result.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.d.ts +40 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.js +67 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-input.d.ts +45 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-input.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-input.js +52 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-input.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-request.d.ts +58 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-request.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-request.js +68 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-request.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-response.d.ts +35 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-response.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-response.js +55 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-response.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-route.type.d.ts +37 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-route.type.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-route.type.js +2 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-route.type.js.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-routes.d.ts +27 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-routes.d.ts.map +1 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-routes.js +51 -0
- package/dist/serve/http/api/rest-json/sim-rest-json-routes.js.map +1 -0
- package/dist/serve/http/api/sim-aws-api-endpoint.d.ts +3 -4
- package/dist/serve/http/api/sim-aws-api-endpoint.d.ts.map +1 -1
- package/dist/serve/http/api/sim-aws-api-endpoint.js +8 -23
- package/dist/serve/http/api/sim-aws-api-endpoint.js.map +1 -1
- package/dist/serve/http/api/sim-aws-api-protocols.d.ts +13 -0
- package/dist/serve/http/api/sim-aws-api-protocols.d.ts.map +1 -0
- package/dist/serve/http/api/sim-aws-api-protocols.js +41 -0
- package/dist/serve/http/api/sim-aws-api-protocols.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.d.ts +29 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.js +36 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.d.ts +27 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.js +24 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.d.ts +12 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.js +54 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts +17 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js +33 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +50 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +69 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js.map +1 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts.map +1 -1
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +14 -4
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts.map +1 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +14 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +24 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +40 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +39 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +35 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +28 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +24 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +16 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -4
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts +13 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js +29 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js.map +1 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts +3 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +3 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js.map +1 -1
- package/dist/service/cloudformation/export/sim-cfn-exports.d.ts +43 -0
- package/dist/service/cloudformation/export/sim-cfn-exports.d.ts.map +1 -0
- package/dist/service/cloudformation/export/sim-cfn-exports.js +65 -0
- package/dist/service/cloudformation/export/sim-cfn-exports.js.map +1 -0
- package/dist/service/cloudformation/export/sim-cfn-stack-exports.d.ts +11 -0
- package/dist/service/cloudformation/export/sim-cfn-stack-exports.d.ts.map +1 -0
- package/dist/service/cloudformation/export/sim-cfn-stack-exports.js +23 -0
- package/dist/service/cloudformation/export/sim-cfn-stack-exports.js.map +1 -0
- package/dist/service/cloudformation/index.d.ts +2 -0
- package/dist/service/cloudformation/index.d.ts.map +1 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.d.ts +10 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.js +21 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.js.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.d.ts +10 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.js +19 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.js.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.d.ts +34 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.js +43 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.js.map +1 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +21 -16
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts.map +1 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +33 -62
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js.map +1 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.type.d.ts +30 -9
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.type.d.ts.map +1 -1
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.d.ts +20 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.js +20 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.js.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.d.ts +48 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.js +69 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.js.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.d.ts +17 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.js +15 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.js.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.d.ts +28 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.d.ts.map +1 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.js +2 -0
- package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.js.map +1 -0
- package/dist/service/cloudformation/resource/create/sim-cfn-resource-creator.js +1 -1
- package/dist/service/cloudformation/resource/create/sim-cfn-resource-creator.js.map +1 -1
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js +1 -1
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js.map +1 -1
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +23 -1
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +39 -2
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +6 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +14 -4
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +7 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -1
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +11 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts.map +1 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +87 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js.map +1 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +7 -1
- package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
- package/dist/service/cloudformation/sim-cloudformation.js +19 -12
- package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.d.ts +31 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.d.ts.map +1 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.js +57 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.js.map +1 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts +3 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js +3 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.d.ts +31 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.d.ts.map +1 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.js +37 -0
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.js.map +1 -0
- package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts +9 -5
- package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js +15 -9
- package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js.map +1 -1
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +14 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +26 -8
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts.map +1 -1
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +15 -0
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +19 -0
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.d.ts +42 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.js +41 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.d.ts +21 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.js +61 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts +31 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +25 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts +21 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js +39 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts +45 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js +2 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +51 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts.map +1 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +77 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js.map +1 -0
- package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.d.ts +33 -0
- package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.d.ts.map +1 -0
- package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.js +47 -0
- package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.js.map +1 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts +7 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js +12 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js +6 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-literal.d.ts +9 -2
- package/dist/service/cloudformation/template/node/sim-cfn-literal.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-literal.js +12 -3
- package/dist/service/cloudformation/template/node/sim-cfn-literal.js.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.d.ts +26 -0
- package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.d.ts.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.js +31 -0
- package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.js.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts +4 -7
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js +9 -41
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.d.ts +19 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.d.ts.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.js +31 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.js.map +1 -0
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts +19 -0
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts.map +1 -1
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js +18 -0
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +5 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js +7 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts +4 -0
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js +2 -0
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts +5 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.js +22 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.js.map +1 -1
- package/dist/service/elbv2/serve/api/sim-elbv2-api.d.ts +15 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-api.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-api.js +41 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-api.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-action.d.ts +14 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-action.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-action.js +52 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-action.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.d.ts +14 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.js +20 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.d.ts +11 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.js +39 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-input.d.ts +47 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-input.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-input.js +71 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-input.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.d.ts +11 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.js +46 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.d.ts +6 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.js +77 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.d.ts +6 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.js +67 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-result.d.ts +15 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-result.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-result.js +25 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-result.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.d.ts +6 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.js +74 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.d.ts +6 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.js +114 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.js.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.d.ts +6 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.d.ts.map +1 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.js +64 -0
- package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-api.d.ts +18 -0
- package/dist/service/iam/serve/sim-iam-api.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-api.js +38 -0
- package/dist/service/iam/serve/sim-iam-api.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-entity.d.ts +12 -0
- package/dist/service/iam/serve/sim-iam-query-entity.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-entity.js +22 -0
- package/dist/service/iam/serve/sim-iam-query-entity.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-listing.d.ts +18 -0
- package/dist/service/iam/serve/sim-iam-query-listing.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-listing.js +25 -0
- package/dist/service/iam/serve/sim-iam-query-listing.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-policy-operations.d.ts +6 -0
- package/dist/service/iam/serve/sim-iam-query-policy-operations.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-policy-operations.js +70 -0
- package/dist/service/iam/serve/sim-iam-query-policy-operations.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-role-operations.d.ts +10 -0
- package/dist/service/iam/serve/sim-iam-query-role-operations.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-role-operations.js +108 -0
- package/dist/service/iam/serve/sim-iam-query-role-operations.js.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-user-operations.d.ts +11 -0
- package/dist/service/iam/serve/sim-iam-query-user-operations.d.ts.map +1 -0
- package/dist/service/iam/serve/sim-iam-query-user-operations.js +62 -0
- package/dist/service/iam/serve/sim-iam-query-user-operations.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.d.ts +9 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.js +59 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.d.ts +6 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.js +91 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.d.ts +12 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.js +28 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.d.ts +10 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.js +36 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts +11 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-routes.js +19 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-routes.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.d.ts +11 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.js +50 -0
- package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.js.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api.d.ts +16 -0
- package/dist/service/lambda/serve/api/sim-lambda-api.d.ts.map +1 -0
- package/dist/service/lambda/serve/api/sim-lambda-api.js +22 -0
- package/dist/service/lambda/serve/api/sim-lambda-api.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +12 -0
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.d.ts +23 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.d.ts.map +1 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.js +2 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.js.map +1 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.d.ts +23 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.d.ts.map +1 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.js +32 -0
- package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.js.map +1 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +42 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts.map +1 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.js +2 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.js.map +1 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.d.ts +28 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.d.ts.map +1 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +73 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js.map +1 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +30 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts.map +1 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.js +2 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.js.map +1 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.d.ts +21 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.d.ts.map +1 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +38 -0
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js.map +1 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.d.ts +34 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.d.ts.map +1 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.js +2 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.js.map +1 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.d.ts +23 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.d.ts.map +1 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +43 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js.map +1 -0
- package/dist/service/s3/command/list-parts/list-parts.command.d.ts +37 -0
- package/dist/service/s3/command/list-parts/list-parts.command.d.ts.map +1 -0
- package/dist/service/s3/command/list-parts/list-parts.command.js +2 -0
- package/dist/service/s3/command/list-parts/list-parts.command.js.map +1 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.d.ts +22 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.d.ts.map +1 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +47 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.d.ts +54 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.d.ts.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +60 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.d.ts +36 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js +52 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-commands.d.ts +35 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-commands.d.ts.map +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-commands.js +52 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-commands.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +0 -32
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +5 -61
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +7 -17
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +6 -1
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
- package/dist/service/s3/command/upload-part/upload-part.command.d.ts +32 -0
- package/dist/service/s3/command/upload-part/upload-part.command.d.ts.map +1 -0
- package/dist/service/s3/command/upload-part/upload-part.command.js +2 -0
- package/dist/service/s3/command/upload-part/upload-part.command.js.map +1 -0
- package/dist/service/s3/command/upload-part/upload-part.handler.d.ts +22 -0
- package/dist/service/s3/command/upload-part/upload-part.handler.d.ts.map +1 -0
- package/dist/service/s3/command/upload-part/upload-part.handler.js +34 -0
- package/dist/service/s3/command/upload-part/upload-part.handler.js.map +1 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +34 -0
- package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.js +40 -0
- package/dist/service/s3/error/sim-s3.error.js.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js.map +1 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
- package/dist/service/s3/notification/sim-s3-object-notifier.js.map +1 -1
- package/dist/service/s3/object/s3-object-etag.d.ts +20 -4
- package/dist/service/s3/object/s3-object-etag.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object-etag.js +25 -4
- package/dist/service/s3/object/s3-object-etag.js.map +1 -1
- package/dist/service/s3/object/s3-object-summary.d.ts +9 -0
- package/dist/service/s3/object/s3-object-summary.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object-summary.js +2 -2
- package/dist/service/s3/object/s3-object-summary.js.map +1 -1
- package/dist/service/s3/object/s3-object.d.ts +10 -0
- package/dist/service/s3/object/s3-object.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object.js +7 -1
- package/dist/service/s3/object/s3-object.js.map +1 -1
- package/dist/service/s3/object/s3-write-body.d.ts +23 -0
- package/dist/service/s3/object/s3-write-body.d.ts.map +1 -0
- package/dist/service/s3/object/s3-write-body.js +26 -0
- package/dist/service/s3/object/s3-write-body.js.map +1 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +33 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-write-metadata.js +35 -0
- package/dist/service/s3/object/s3-write-metadata.js.map +1 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +24 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +8 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-input.js +7 -1
- package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-multipart-input.d.ts +25 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-input.d.ts.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-input.js +48 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-input.js.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.d.ts +36 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.d.ts.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.js +34 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.js.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-output.d.ts +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-output.d.ts.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-output.js +62 -0
- package/dist/service/s3/serve/api/sim-s3-api-multipart-output.js.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +31 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +37 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +15 -36
- package/dist/service/s3/serve/api/sim-s3-api-output.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-routes.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -1
- package/dist/service/s3/serve/api/sim-s3-api-routes.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-xml-read.js +16 -1
- package/dist/service/s3/serve/api/sim-s3-api-xml-read.js.map +1 -1
- package/dist/service/s3/sim-s3-commands.d.ts +2 -0
- package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-commands.js +3 -0
- package/dist/service/s3/sim-s3-commands.js.map +1 -1
- package/dist/service/s3/sim-s3-operations.d.ts +12 -0
- package/dist/service/s3/sim-s3-operations.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-operations.js +24 -0
- package/dist/service/s3/sim-s3-operations.js.map +1 -1
- package/dist/service/s3/upload/sim-s3-completed-upload.d.ts +30 -0
- package/dist/service/s3/upload/sim-s3-completed-upload.d.ts.map +1 -0
- package/dist/service/s3/upload/sim-s3-completed-upload.js +69 -0
- package/dist/service/s3/upload/sim-s3-completed-upload.js.map +1 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +66 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts.map +1 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +78 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js.map +1 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +48 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts.map +1 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +62 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts +51 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js +89 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.d.ts +9 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.js +40 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.js.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.d.ts +40 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.js +90 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-api.d.ts +15 -0
- package/dist/service/sns/serve/sim-sns-api.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-api.js +37 -0
- package/dist/service/sns/serve/sim-sns-api.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-publish-operations.d.ts +6 -0
- package/dist/service/sns/serve/sim-sns-query-publish-operations.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-publish-operations.js +36 -0
- package/dist/service/sns/serve/sim-sns-query-publish-operations.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-published-message.d.ts +10 -0
- package/dist/service/sns/serve/sim-sns-query-published-message.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-published-message.js +39 -0
- package/dist/service/sns/serve/sim-sns-query-published-message.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-sms-operations.d.ts +9 -0
- package/dist/service/sns/serve/sim-sns-query-sms-operations.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-sms-operations.js +40 -0
- package/dist/service/sns/serve/sim-sns-query-sms-operations.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-subscription-operations.d.ts +6 -0
- package/dist/service/sns/serve/sim-sns-query-subscription-operations.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-subscription-operations.js +83 -0
- package/dist/service/sns/serve/sim-sns-query-subscription-operations.js.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-topic-operations.d.ts +6 -0
- package/dist/service/sns/serve/sim-sns-query-topic-operations.d.ts.map +1 -0
- package/dist/service/sns/serve/sim-sns-query-topic-operations.js +62 -0
- package/dist/service/sns/serve/sim-sns-query-topic-operations.js.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +39 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +95 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js.map +1 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.d.ts +36 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.d.ts.map +1 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.js +48 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.js.map +1 -0
- package/dist/service/ssm/sim-ssm.d.ts +10 -0
- package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
- package/dist/service/ssm/sim-ssm.js +14 -0
- package/dist/service/ssm/sim-ssm.js.map +1 -1
- package/dist/service/sts/serve/sim-sts-api.d.ts +7 -19
- package/dist/service/sts/serve/sim-sts-api.d.ts.map +1 -1
- package/dist/service/sts/serve/sim-sts-api.js +44 -48
- package/dist/service/sts/serve/sim-sts-api.js.map +1 -1
- package/dist/util/xml/xml-document.d.ts +4 -0
- package/dist/util/xml/xml-document.d.ts.map +1 -1
- package/dist/util/xml/xml-document.js +11 -0
- package/dist/util/xml/xml-document.js.map +1 -1
- package/package.json +1 -1
- package/dist/service/sts/serve/sim-sts-query-request.d.ts +0 -19
- package/dist/service/sts/serve/sim-sts-query-request.d.ts.map +0 -1
- package/dist/service/sts/serve/sim-sts-query-request.js +0 -27
- package/dist/service/sts/serve/sim-sts-query-request.js.map +0 -1
- package/dist/service/sts/serve/sim-sts-query-response.d.ts +0 -15
- package/dist/service/sts/serve/sim-sts-query-response.d.ts.map +0 -1
- package/dist/service/sts/serve/sim-sts-query-response.js +0 -42
- package/dist/service/sts/serve/sim-sts-query-response.js.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* oxlint-disable security/detect-object-injection -- every lookup here reads
|
|
2
|
+
a member the operation's own result writer named, out of the output that
|
|
3
|
+
operation produced. */
|
|
4
|
+
import { isRecord } from "../../../../util/type-guard/record.js";
|
|
5
|
+
import { xmlElement, xmlValue } from "../../../../util/xml/xml-writer.js";
|
|
6
|
+
/**
|
|
7
|
+
* Write the named members of a structure, in the order they are given.
|
|
8
|
+
*
|
|
9
|
+
* Query writes a member the operation did not produce as no element at all
|
|
10
|
+
* rather than as an empty one, which is what `xmlValue` does with an absent
|
|
11
|
+
* value.
|
|
12
|
+
*/
|
|
13
|
+
export function queryMembers(value, names) {
|
|
14
|
+
return names.map((name) => xmlValue(name, queryScalar(value[name]))).join("");
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Write a structure member, whose own members Query nests inside it.
|
|
18
|
+
*
|
|
19
|
+
* A structure the operation did not produce writes nothing, the same way an
|
|
20
|
+
* absent scalar member does, so a caller reads its absence rather than an
|
|
21
|
+
* empty element.
|
|
22
|
+
*/
|
|
23
|
+
export function queryStructure(value, name, members) {
|
|
24
|
+
const structure = value[name];
|
|
25
|
+
return isRecord(structure) ? xmlElement(name, members(structure)) : "";
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Write a list member, whose items Query wraps one `member` element each.
|
|
29
|
+
*/
|
|
30
|
+
export function queryList(value, name, item) {
|
|
31
|
+
const items = value[name];
|
|
32
|
+
if (!Array.isArray(items)) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
const members = items
|
|
36
|
+
.map((member) => xmlElement("member", item(asQueryOutput(member))))
|
|
37
|
+
.join("");
|
|
38
|
+
return xmlElement(name, members);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Write a list member whose items are values rather than structures.
|
|
42
|
+
*/
|
|
43
|
+
export function queryScalarList(value, name) {
|
|
44
|
+
const items = value[name];
|
|
45
|
+
if (!Array.isArray(items)) {
|
|
46
|
+
return "";
|
|
47
|
+
}
|
|
48
|
+
return xmlElement(name, items.map((item) => xmlValue("member", queryScalar(item))).join(""));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Write a map member, whose pairs Query wraps one `entry` element each.
|
|
52
|
+
*/
|
|
53
|
+
export function queryMap(value, name) {
|
|
54
|
+
const map = value[name];
|
|
55
|
+
if (!isRecord(map)) {
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
const entries = Object.entries(map)
|
|
59
|
+
.map(([key, entry]) => xmlElement("entry", xmlValue("key", key) + xmlValue("value", queryScalar(entry))))
|
|
60
|
+
.join("");
|
|
61
|
+
return xmlElement(name, entries);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Read an output member as the value XML text carries.
|
|
65
|
+
*
|
|
66
|
+
* A member the operation left out writes nothing, and so does a null. Both
|
|
67
|
+
* mean the response has nothing to say about it. Anything that is not already
|
|
68
|
+
* a scalar is a structure a Query member has no shape for, such as a
|
|
69
|
+
* CloudFormation Output whose value resolved to a list, and it travels as its
|
|
70
|
+
* JSON so the caller sees what it is rather than `[object Object]`.
|
|
71
|
+
*/
|
|
72
|
+
function queryScalar(value) {
|
|
73
|
+
if (value === undefined || value === null) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
if (typeof value === "string" ||
|
|
77
|
+
typeof value === "number" ||
|
|
78
|
+
typeof value === "boolean" ||
|
|
79
|
+
value instanceof Date) {
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
return JSON.stringify(value);
|
|
83
|
+
}
|
|
84
|
+
function asQueryOutput(member) {
|
|
85
|
+
return isRecord(member) ? member : {};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=sim-query-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-query-result.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/query/sim-query-result.ts"],"names":[],"mappings":"AAAA;;yBAEyB;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAO1E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAqB,EACrB,KAAwB;IAExB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAqB,EACrB,IAAY,EACZ,OAA8C;IAE9C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,KAAqB,EACrB,IAAY,EACZ,IAAwC;IAExC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK;SAClB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB,EAAE,IAAY;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,UAAU,CACf,IAAI,EACJ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACpE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAqB,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACpB,UAAU,CACR,OAAO,EACP,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAC7D,CACF;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAClB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,KAAK,YAAY,IAAI,EACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../../service/aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAws } from "../../../../service/aws/sim-aws.js";
|
|
3
|
+
import type { SimRestJsonRoute } from "./sim-rest-json-route.type.js";
|
|
4
|
+
interface SimRestJsonApiEndpointProperties {
|
|
5
|
+
readonly simAws: SimAws;
|
|
6
|
+
/** The SDK service id the simulated service's Command router is under. */
|
|
7
|
+
readonly serviceId: string;
|
|
8
|
+
readonly routes: readonly SimRestJsonRoute[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Serves one REST-JSON service to a client given an endpoint URL.
|
|
12
|
+
*
|
|
13
|
+
* REST-JSON names its operation in the method and the path rather than in a
|
|
14
|
+
* header, so the operation is resolved from the request before anything else.
|
|
15
|
+
* Both the routing and the JSON on either side of it are the protocol rather
|
|
16
|
+
* than the service, so every REST-JSON service is served by an instance of
|
|
17
|
+
* this, holding the routes it implements.
|
|
18
|
+
*
|
|
19
|
+
* An operation runs through the Command an SDK would have sent, so an HTTP
|
|
20
|
+
* caller reaches exactly the code an in-process caller does, and IAM
|
|
21
|
+
* authorizes it the same way.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SimRestJsonApiEndpoint {
|
|
24
|
+
private readonly dispatcher;
|
|
25
|
+
private readonly serviceId;
|
|
26
|
+
private readonly routes;
|
|
27
|
+
private readonly protocol;
|
|
28
|
+
constructor(properties: SimRestJsonApiEndpointProperties);
|
|
29
|
+
/**
|
|
30
|
+
* Answer one REST-JSON request as the caller that signed it.
|
|
31
|
+
*
|
|
32
|
+
* A path no route serves is refused by name rather than answered by an
|
|
33
|
+
* operation that shares its method. Ignoring the difference would answer a
|
|
34
|
+
* question about one thing with a confident report about another, which is
|
|
35
|
+
* worse than saying so.
|
|
36
|
+
*/
|
|
37
|
+
handle(request: Request, body: Uint8Array, caller: SimAwsCaller, regionName: string): Promise<Response>;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=sim-rest-json-endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-endpoint.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-endpoint.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAIjE,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAGvC,UAAU,gCAAgC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,YAAY,UAAU,EAAE,gCAAgC,EAIvD;IAED;;;;;;;OAOG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAwCnB;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SimSdkUnsupportedCommandError } from "../../../../sdk/error/sim-sdk.error.js";
|
|
2
|
+
import { SimSdkCommandDispatcher } from "../../../../sdk/sim-sdk-command-dispatcher.js";
|
|
3
|
+
import { makeSimSdkWireClient, makeSimSdkWireCommand, } from "../../../../sdk/wire/sim-sdk-wire-command.js";
|
|
4
|
+
import { SimRestJsonInput } from "./sim-rest-json-input.js";
|
|
5
|
+
import { readSimRestJsonRequest } from "./sim-rest-json-request.js";
|
|
6
|
+
import { SimRestJsonProtocol } from "./sim-rest-json-response.js";
|
|
7
|
+
import { resolveSimRestJsonRoute } from "./sim-rest-json-routes.js";
|
|
8
|
+
/**
|
|
9
|
+
* Serves one REST-JSON service to a client given an endpoint URL.
|
|
10
|
+
*
|
|
11
|
+
* REST-JSON names its operation in the method and the path rather than in a
|
|
12
|
+
* header, so the operation is resolved from the request before anything else.
|
|
13
|
+
* Both the routing and the JSON on either side of it are the protocol rather
|
|
14
|
+
* than the service, so every REST-JSON service is served by an instance of
|
|
15
|
+
* this, holding the routes it implements.
|
|
16
|
+
*
|
|
17
|
+
* An operation runs through the Command an SDK would have sent, so an HTTP
|
|
18
|
+
* caller reaches exactly the code an in-process caller does, and IAM
|
|
19
|
+
* authorizes it the same way.
|
|
20
|
+
*/
|
|
21
|
+
export class SimRestJsonApiEndpoint {
|
|
22
|
+
dispatcher;
|
|
23
|
+
serviceId;
|
|
24
|
+
routes;
|
|
25
|
+
protocol = new SimRestJsonProtocol();
|
|
26
|
+
constructor(properties) {
|
|
27
|
+
this.dispatcher = new SimSdkCommandDispatcher(properties.simAws);
|
|
28
|
+
this.serviceId = properties.serviceId;
|
|
29
|
+
this.routes = properties.routes;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Answer one REST-JSON request as the caller that signed it.
|
|
33
|
+
*
|
|
34
|
+
* A path no route serves is refused by name rather than answered by an
|
|
35
|
+
* operation that shares its method. Ignoring the difference would answer a
|
|
36
|
+
* question about one thing with a confident report about another, which is
|
|
37
|
+
* worse than saying so.
|
|
38
|
+
*/
|
|
39
|
+
async handle(request, body, caller, regionName) {
|
|
40
|
+
const restRequest = readSimRestJsonRequest(request, body);
|
|
41
|
+
const matched = resolveSimRestJsonRoute(this.routes, restRequest);
|
|
42
|
+
if (matched === undefined) {
|
|
43
|
+
return this.protocol.error(501, "NotImplemented", `Simulated ${this.serviceId} does not serve ` +
|
|
44
|
+
`${restRequest.method} ${restRequest.path}`);
|
|
45
|
+
}
|
|
46
|
+
const { route } = matched;
|
|
47
|
+
try {
|
|
48
|
+
const input = route.input(new SimRestJsonInput({
|
|
49
|
+
labels: matched.labels,
|
|
50
|
+
query: restRequest.query,
|
|
51
|
+
headers: restRequest.headers,
|
|
52
|
+
body: restRequest.body,
|
|
53
|
+
}));
|
|
54
|
+
const output = (await this.dispatcher.dispatch(makeSimSdkWireCommand(route.commandName, input), makeSimSdkWireClient(this.serviceId, regionName), undefined, caller));
|
|
55
|
+
return route.output === undefined
|
|
56
|
+
? this.protocol.response(output ?? {}, route.status ?? 200)
|
|
57
|
+
: route.output(output ?? {});
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof SimSdkUnsupportedCommandError) {
|
|
61
|
+
return this.protocol.error(501, "NotImplemented", error.message);
|
|
62
|
+
}
|
|
63
|
+
return this.protocol.failure(error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=sim-rest-json-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-endpoint.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAWpE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,sBAAsB;IAChB,UAAU,CAA0B;IACpC,SAAS,CAAS;IAClB,MAAM,CAA8B;IACpC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEtD,YAAY,UAA4C;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAAgB,EAChB,IAAgB,EAChB,MAAoB,EACpB,UAAkB;QAElB,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CACxB,GAAG,EACH,gBAAgB,EAChB,aAAa,IAAI,CAAC,SAAS,kBAAkB;gBAC3C,GAAG,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACvB,IAAI,gBAAgB,CAAC;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC5C,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAC/C,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChD,SAAS,EACT,MAAM,CACP,CAAkC,CAAC;YAEpC,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;gBAC3D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
interface SimRestJsonInputProperties {
|
|
2
|
+
readonly labels: ReadonlyMap<string, string>;
|
|
3
|
+
readonly query: URLSearchParams;
|
|
4
|
+
readonly headers: Headers;
|
|
5
|
+
readonly body: Uint8Array;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The four places a REST-JSON request states its input, behind one accessor.
|
|
9
|
+
*
|
|
10
|
+
* REST-JSON spreads one operation's members across a path, a query string,
|
|
11
|
+
* headers and a JSON body, and which member goes where is the operation's own
|
|
12
|
+
* business. An operation's route reads the members it has from wherever it put
|
|
13
|
+
* them, and this is what it reads them with.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimRestJsonInput {
|
|
16
|
+
readonly body: Uint8Array;
|
|
17
|
+
private readonly labels;
|
|
18
|
+
private readonly parameters;
|
|
19
|
+
private readonly headers;
|
|
20
|
+
constructor(properties: SimRestJsonInputProperties);
|
|
21
|
+
/**
|
|
22
|
+
* A member the path stated, named by the route template that matched it.
|
|
23
|
+
*/
|
|
24
|
+
label(name: string): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* A member the query string stated.
|
|
27
|
+
*/
|
|
28
|
+
query(name: string): string | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* A member a header stated, matched however the client cased the name.
|
|
31
|
+
*/
|
|
32
|
+
header(name: string): string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* The members the JSON body stated, which are the input shape as it is.
|
|
35
|
+
*
|
|
36
|
+
* The wire shape of a REST-JSON body is the Command input shape member for
|
|
37
|
+
* member, apart from the members JSON cannot carry: a blob travels base64
|
|
38
|
+
* encoded and a timestamp as epoch seconds. A route reading one of those
|
|
39
|
+
* decodes it itself, since only the operation's own schema says which
|
|
40
|
+
* members they are.
|
|
41
|
+
*/
|
|
42
|
+
json(): Readonly<Record<string, unknown>>;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=sim-rest-json-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-input.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-input.ts"],"names":[],"mappings":"AAEA,UAAU,0BAA0B;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,YAAY,UAAU,EAAE,0BAA0B,EAKjD;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvC;IAED;;;;;;;;OAQG;IACH,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAExC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { readSimRestJsonBody } from "./sim-rest-json-request.js";
|
|
2
|
+
/**
|
|
3
|
+
* The four places a REST-JSON request states its input, behind one accessor.
|
|
4
|
+
*
|
|
5
|
+
* REST-JSON spreads one operation's members across a path, a query string,
|
|
6
|
+
* headers and a JSON body, and which member goes where is the operation's own
|
|
7
|
+
* business. An operation's route reads the members it has from wherever it put
|
|
8
|
+
* them, and this is what it reads them with.
|
|
9
|
+
*/
|
|
10
|
+
export class SimRestJsonInput {
|
|
11
|
+
body;
|
|
12
|
+
labels;
|
|
13
|
+
parameters;
|
|
14
|
+
headers;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.labels = properties.labels;
|
|
17
|
+
this.parameters = properties.query;
|
|
18
|
+
this.headers = properties.headers;
|
|
19
|
+
this.body = properties.body;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A member the path stated, named by the route template that matched it.
|
|
23
|
+
*/
|
|
24
|
+
label(name) {
|
|
25
|
+
return this.labels.get(name);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A member the query string stated.
|
|
29
|
+
*/
|
|
30
|
+
query(name) {
|
|
31
|
+
return this.parameters.get(name) ?? undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A member a header stated, matched however the client cased the name.
|
|
35
|
+
*/
|
|
36
|
+
header(name) {
|
|
37
|
+
return this.headers.get(name) ?? undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The members the JSON body stated, which are the input shape as it is.
|
|
41
|
+
*
|
|
42
|
+
* The wire shape of a REST-JSON body is the Command input shape member for
|
|
43
|
+
* member, apart from the members JSON cannot carry: a blob travels base64
|
|
44
|
+
* encoded and a timestamp as epoch seconds. A route reading one of those
|
|
45
|
+
* decodes it itself, since only the operation's own schema says which
|
|
46
|
+
* members they are.
|
|
47
|
+
*/
|
|
48
|
+
json() {
|
|
49
|
+
return readSimRestJsonBody(this.body);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-rest-json-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-input.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AASjE;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,CAAa;IAET,MAAM,CAA8B;IACpC,UAAU,CAAkB;IAC5B,OAAO,CAAU;IAElC,YAAY,UAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI;QACF,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One AWS REST-JSON request, taken apart as far as the route table reads it.
|
|
3
|
+
*
|
|
4
|
+
* REST-JSON names its operation in the method and the path, as REST-XML does,
|
|
5
|
+
* and carries the rest of its input in a JSON body, in the query string and in
|
|
6
|
+
* headers. The path is split before anything is matched against it, because a
|
|
7
|
+
* route is a template of segments and matching one means comparing segments.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimRestJsonRequest {
|
|
10
|
+
readonly method: string;
|
|
11
|
+
/** The path as it arrived, for naming one no route serves. */
|
|
12
|
+
readonly path: string;
|
|
13
|
+
/** The path split on its separators, each segment decoded. */
|
|
14
|
+
readonly segments: readonly string[];
|
|
15
|
+
readonly query: URLSearchParams;
|
|
16
|
+
readonly headers: Headers;
|
|
17
|
+
readonly body: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A body that states itself as JSON and is not.
|
|
21
|
+
*
|
|
22
|
+
* Real AWS answers this as `SerializationException`, and an SDK raises it under
|
|
23
|
+
* that name rather than reporting whatever the parser happened to say.
|
|
24
|
+
*/
|
|
25
|
+
export declare class SimRestJsonSerializationError extends Error {
|
|
26
|
+
readonly name = "SerializationException";
|
|
27
|
+
readonly $metadata: {
|
|
28
|
+
httpStatusCode: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read a request that arrived at the served AWS API endpoint as a REST-JSON
|
|
33
|
+
* request.
|
|
34
|
+
*
|
|
35
|
+
* A trailing separator is dropped, because AWS writes the path of a collection
|
|
36
|
+
* operation both ways: `CreateEventSourceMapping` is documented at
|
|
37
|
+
* `/2015-03-31/event-source-mappings/` and `CreateFunction` at
|
|
38
|
+
* `/2015-03-31/functions`. Neither names a segment after the last one, so
|
|
39
|
+
* neither is told from the other here.
|
|
40
|
+
*/
|
|
41
|
+
export declare function readSimRestJsonRequest(request: Request, body: Uint8Array): SimRestJsonRequest;
|
|
42
|
+
/**
|
|
43
|
+
* Split a path into the segments a route template is matched against.
|
|
44
|
+
*
|
|
45
|
+
* Each segment is decoded on its own. A label carrying a separator sends it
|
|
46
|
+
* encoded, so decoding the whole path at once would turn one segment into two
|
|
47
|
+
* and match the request against a template it does not belong to.
|
|
48
|
+
*/
|
|
49
|
+
export declare function simRestJsonPathSegments(path: string): readonly string[];
|
|
50
|
+
/**
|
|
51
|
+
* Read a request body as the JSON object it states.
|
|
52
|
+
*
|
|
53
|
+
* An operation taking no body members sends none, which is the input `{}`.
|
|
54
|
+
* Anything that is not an object is a body this endpoint has no members to
|
|
55
|
+
* read out of, and is reported the same way an unparseable one is.
|
|
56
|
+
*/
|
|
57
|
+
export declare function readSimRestJsonBody(body: Uint8Array): Readonly<Record<string, unknown>>;
|
|
58
|
+
//# sourceMappingURL=sim-rest-json-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-request.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-request.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,SAAyB,IAAI,4BAA4B;IACzD,SAAgB,SAAS;QAAK,cAAc;MAAQ;CACrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,GACf,kBAAkB,CAWpB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAKvE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBnC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A body that states itself as JSON and is not.
|
|
3
|
+
*
|
|
4
|
+
* Real AWS answers this as `SerializationException`, and an SDK raises it under
|
|
5
|
+
* that name rather than reporting whatever the parser happened to say.
|
|
6
|
+
*/
|
|
7
|
+
export class SimRestJsonSerializationError extends Error {
|
|
8
|
+
name = "SerializationException";
|
|
9
|
+
$metadata = { httpStatusCode: 400 };
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read a request that arrived at the served AWS API endpoint as a REST-JSON
|
|
13
|
+
* request.
|
|
14
|
+
*
|
|
15
|
+
* A trailing separator is dropped, because AWS writes the path of a collection
|
|
16
|
+
* operation both ways: `CreateEventSourceMapping` is documented at
|
|
17
|
+
* `/2015-03-31/event-source-mappings/` and `CreateFunction` at
|
|
18
|
+
* `/2015-03-31/functions`. Neither names a segment after the last one, so
|
|
19
|
+
* neither is told from the other here.
|
|
20
|
+
*/
|
|
21
|
+
export function readSimRestJsonRequest(request, body) {
|
|
22
|
+
const url = new URL(request.url);
|
|
23
|
+
return {
|
|
24
|
+
method: request.method,
|
|
25
|
+
path: url.pathname,
|
|
26
|
+
segments: simRestJsonPathSegments(url.pathname),
|
|
27
|
+
query: url.searchParams,
|
|
28
|
+
headers: request.headers,
|
|
29
|
+
body,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Split a path into the segments a route template is matched against.
|
|
34
|
+
*
|
|
35
|
+
* Each segment is decoded on its own. A label carrying a separator sends it
|
|
36
|
+
* encoded, so decoding the whole path at once would turn one segment into two
|
|
37
|
+
* and match the request against a template it does not belong to.
|
|
38
|
+
*/
|
|
39
|
+
export function simRestJsonPathSegments(path) {
|
|
40
|
+
return path
|
|
41
|
+
.split("/")
|
|
42
|
+
.filter((segment) => segment.length > 0)
|
|
43
|
+
.map((segment) => decodeURIComponent(segment));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read a request body as the JSON object it states.
|
|
47
|
+
*
|
|
48
|
+
* An operation taking no body members sends none, which is the input `{}`.
|
|
49
|
+
* Anything that is not an object is a body this endpoint has no members to
|
|
50
|
+
* read out of, and is reported the same way an unparseable one is.
|
|
51
|
+
*/
|
|
52
|
+
export function readSimRestJsonBody(body) {
|
|
53
|
+
if (body.byteLength === 0) {
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
let value;
|
|
57
|
+
try {
|
|
58
|
+
value = JSON.parse(Buffer.from(body).toString("utf8"));
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new SimRestJsonSerializationError(`Could not read the request body as JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
62
|
+
}
|
|
63
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
64
|
+
throw new SimRestJsonSerializationError("The request body is not a JSON object");
|
|
65
|
+
}
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sim-rest-json-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-request.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-request.ts"],"names":[],"mappings":"AAsBA;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC7B,IAAI,GAAG,wBAAwB,CAAC;IACzC,SAAS,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;CACrD;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,IAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,GAAG,CAAC,QAAQ;QAClB,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/C,KAAK,EAAE,GAAG,CAAC,YAAY;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAgB;IAEhB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,6BAA6B,CACrC,4CACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SimRestJsonOutput } from "./sim-rest-json-route.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Writes the responses of a REST-JSON service.
|
|
4
|
+
*
|
|
5
|
+
* A REST-JSON response is the operation's output as a JSON object, at the
|
|
6
|
+
* status the operation answers with. There is no envelope around it and no
|
|
7
|
+
* operation name in it, which is the whole of what separates this from the
|
|
8
|
+
* Query and REST-XML protocols on the way back.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimRestJsonProtocol {
|
|
11
|
+
/**
|
|
12
|
+
* Answer an operation with the members it produced.
|
|
13
|
+
*
|
|
14
|
+
* `$metadata` is dropped, since it is the SDK's record of the response
|
|
15
|
+
* rather than a member of it, and the SDK builds its own from what it
|
|
16
|
+
* receives. A status with no content answers with no body, as HTTP requires.
|
|
17
|
+
*/
|
|
18
|
+
response(output: SimRestJsonOutput, status: number): Response;
|
|
19
|
+
/**
|
|
20
|
+
* Refuse a request by name, in the shape an SDK reads an error out of.
|
|
21
|
+
*
|
|
22
|
+
* The name goes in the header the REST-JSON protocol reserves for it and in
|
|
23
|
+
* the body, because a client reads whichever it finds first.
|
|
24
|
+
*/
|
|
25
|
+
error(status: number, code: string, message: string): Response;
|
|
26
|
+
/**
|
|
27
|
+
* Report what a simulated operation threw.
|
|
28
|
+
*
|
|
29
|
+
* A simulated service error already carries the AWS exception name and the
|
|
30
|
+
* status real AWS answers with, so an SDK raises it under the name a handler
|
|
31
|
+
* catching it in production would see.
|
|
32
|
+
*/
|
|
33
|
+
failure(error: unknown): Response;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sim-rest-json-response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-response.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-response.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIvE;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAW5D;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAK7D;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAKhC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { simSdkWireErrorStatusCode } from "../../../../sdk/wire/sim-sdk-wire-response.js";
|
|
2
|
+
import { simSdkWireJsonBody } from "../../../../sdk/wire/sim-sdk-wire-json.js";
|
|
3
|
+
const jsonContentType = { "content-type": "application/json" };
|
|
4
|
+
/**
|
|
5
|
+
* Writes the responses of a REST-JSON service.
|
|
6
|
+
*
|
|
7
|
+
* A REST-JSON response is the operation's output as a JSON object, at the
|
|
8
|
+
* status the operation answers with. There is no envelope around it and no
|
|
9
|
+
* operation name in it, which is the whole of what separates this from the
|
|
10
|
+
* Query and REST-XML protocols on the way back.
|
|
11
|
+
*/
|
|
12
|
+
export class SimRestJsonProtocol {
|
|
13
|
+
/**
|
|
14
|
+
* Answer an operation with the members it produced.
|
|
15
|
+
*
|
|
16
|
+
* `$metadata` is dropped, since it is the SDK's record of the response
|
|
17
|
+
* rather than a member of it, and the SDK builds its own from what it
|
|
18
|
+
* receives. A status with no content answers with no body, as HTTP requires.
|
|
19
|
+
*/
|
|
20
|
+
response(output, status) {
|
|
21
|
+
if (status === 204) {
|
|
22
|
+
return new Response(null, { status });
|
|
23
|
+
}
|
|
24
|
+
const { $metadata: _metadata, ...members } = output;
|
|
25
|
+
return new Response(simSdkWireJsonBody(members), {
|
|
26
|
+
status,
|
|
27
|
+
headers: jsonContentType,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Refuse a request by name, in the shape an SDK reads an error out of.
|
|
32
|
+
*
|
|
33
|
+
* The name goes in the header the REST-JSON protocol reserves for it and in
|
|
34
|
+
* the body, because a client reads whichever it finds first.
|
|
35
|
+
*/
|
|
36
|
+
error(status, code, message) {
|
|
37
|
+
return new Response(simSdkWireJsonBody({ __type: code, message }), {
|
|
38
|
+
status,
|
|
39
|
+
headers: { ...jsonContentType, "x-amzn-errortype": code },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Report what a simulated operation threw.
|
|
44
|
+
*
|
|
45
|
+
* A simulated service error already carries the AWS exception name and the
|
|
46
|
+
* status real AWS answers with, so an SDK raises it under the name a handler
|
|
47
|
+
* catching it in production would see.
|
|
48
|
+
*/
|
|
49
|
+
failure(error) {
|
|
50
|
+
const code = error instanceof Error ? error.name : "InternalFailure";
|
|
51
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
52
|
+
return this.error(simSdkWireErrorStatusCode(error), code, message);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sim-rest-json-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-response.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAG/E,MAAM,eAAe,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAyB,EAAE,MAAc;QAChD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QAEpD,OAAO,IAAI,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAC/C,MAAM;YACN,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe;QACjD,OAAO,IAAI,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YACjE,MAAM;YACN,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAc;QACpB,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SimRestJsonInput } from "./sim-rest-json-input.js";
|
|
2
|
+
/**
|
|
3
|
+
* One simulated operation's output, as a route writes its response from.
|
|
4
|
+
*/
|
|
5
|
+
export type SimRestJsonOutput = Readonly<Record<string, unknown>>;
|
|
6
|
+
/**
|
|
7
|
+
* One REST-JSON operation, and how to read its input out of a request.
|
|
8
|
+
*
|
|
9
|
+
* REST-JSON states its operation in the method and a path template, so a route
|
|
10
|
+
* is matched on those two and nothing else. A template segment written
|
|
11
|
+
* `{Name}` matches any one segment and hands it to the route under that name;
|
|
12
|
+
* every other segment matches itself and only itself.
|
|
13
|
+
*/
|
|
14
|
+
export interface SimRestJsonRoute {
|
|
15
|
+
readonly method: string;
|
|
16
|
+
/**
|
|
17
|
+
* The path template this operation is reached at, such as
|
|
18
|
+
* `/2015-03-31/functions/{FunctionName}/invocations`.
|
|
19
|
+
*/
|
|
20
|
+
readonly path: string;
|
|
21
|
+
readonly commandName: string;
|
|
22
|
+
readonly input: (input: SimRestJsonInput) => Record<string, unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* The status this operation answers with, which real AWS varies by
|
|
25
|
+
* operation rather than by outcome: a creation answers `201`, a removal
|
|
26
|
+
* `204` and a read `200`. Defaults to `200`.
|
|
27
|
+
*/
|
|
28
|
+
readonly status?: number | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* How to write the response, for an operation that answers with something
|
|
31
|
+
* other than its output as JSON. Lambda's `Invoke` is one: it answers with
|
|
32
|
+
* the function's own payload, and puts its output members in the status and
|
|
33
|
+
* in headers around it.
|
|
34
|
+
*/
|
|
35
|
+
readonly output?: ((output: SimRestJsonOutput) => Response) | undefined;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sim-rest-json-route.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-route.type.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-route.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,iBAAiB,KAAK,QAAQ,CAAC,GAAG,SAAS,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-route.type.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-route.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type SimRestJsonRequest } from "./sim-rest-json-request.js";
|
|
2
|
+
import type { SimRestJsonRoute } from "./sim-rest-json-route.type.js";
|
|
3
|
+
/**
|
|
4
|
+
* A request matched to the operation its path names, and the members that path
|
|
5
|
+
* stated along the way.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimRestJsonMatch {
|
|
8
|
+
readonly route: SimRestJsonRoute;
|
|
9
|
+
readonly labels: ReadonlyMap<string, string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Find the operation a REST-JSON request names.
|
|
13
|
+
*
|
|
14
|
+
* A template matches a request only when it has the same number of segments
|
|
15
|
+
* and every literal segment is the segment the request sent. That is what
|
|
16
|
+
* keeps a path this endpoint has no operation for from being answered by one
|
|
17
|
+
* that happens to share its method: `GET /2015-03-31/functions/orders/aliases`
|
|
18
|
+
* has no route, and matches neither `GET /2015-03-31/functions/{FunctionName}`
|
|
19
|
+
* nor anything else, because a label stands for one segment rather than for
|
|
20
|
+
* the rest of the path.
|
|
21
|
+
*
|
|
22
|
+
* Returns undefined for a request matching no route, which is either an
|
|
23
|
+
* operation the simulated service has not implemented or one the real service
|
|
24
|
+
* does not have.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveSimRestJsonRoute(routes: readonly SimRestJsonRoute[], request: SimRestJsonRequest): SimRestJsonMatch | undefined;
|
|
27
|
+
//# sourceMappingURL=sim-rest-json-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-rest-json-routes.d.ts","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,OAAO,EAAE,kBAAkB,GAC1B,gBAAgB,GAAG,SAAS,CAa9B"}
|