@kensio/yulin 1.17.0 → 1.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts +41 -0
- package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts.map +1 -0
- package/dist/service/acm/certificate/register-sim-acm-certificate.js +60 -0
- package/dist/service/acm/certificate/register-sim-acm-certificate.js.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +9 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js +18 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
- package/dist/service/acm/sim-acm.d.ts +15 -0
- package/dist/service/acm/sim-acm.d.ts.map +1 -1
- package/dist/service/acm/sim-acm.js +21 -0
- package/dist/service/acm/sim-acm.js.map +1 -1
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts +4 -0
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js +7 -2
- package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +6 -4
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +4 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +25 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +13 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -1
- package/dist/service/cloudformation/index.d.ts +1 -1
- package/dist/service/cloudformation/index.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +4 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts +28 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js +33 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +6 -0
- 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 +3 -0
- 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.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +1 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +1 -0
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts.map +1 -1
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +2 -1
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js.map +1 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts.map +1 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +4 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js.map +1 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts +19 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts.map +1 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +6 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts.map +1 -1
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +9 -3
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts +23 -0
- package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function-code-size.js +33 -0
- package/dist/service/cloudfront/command/create-function/create-function-code-size.js.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +2 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +11 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +13 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/index.d.ts +1 -1
- package/dist/service/cloudfront/index.d.ts.map +1 -1
- package/dist/service/cloudfront/index.js +1 -1
- package/dist/service/cloudfront/index.js.map +1 -1
- package/dist/service/cognito/command/sim-cognito-commands.d.ts +6 -0
- package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
- package/dist/service/cognito/command/sim-cognito-commands.js +22 -6
- package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
- package/dist/service/cognito/error/sim-cognito.error.d.ts +22 -0
- package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
- package/dist/service/cognito/error/sim-cognito.error.js +26 -0
- package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
- package/dist/service/cognito/index.d.ts +2 -1
- package/dist/service/cognito/index.d.ts.map +1 -1
- package/dist/service/cognito/index.js +1 -1
- package/dist/service/cognito/index.js.map +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +24 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.js +26 -0
- package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +9 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +2 -2
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -1
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts +22 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js +36 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js.map +1 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts +25 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js +30 -0
- package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts +40 -0
- package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-registration.types.js +2 -0
- package/dist/service/cognito/user-pool/sim-cognito-registration.types.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts +34 -0
- package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-registrations.js +28 -0
- package/dist/service/cognito/user-pool/sim-cognito-registrations.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +9 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +3 -2
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +9 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +18 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +8 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +15 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +40 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts.map +1 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +65 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js.map +1 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +1 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts.map +1 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +5 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js.map +1 -1
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +11 -20
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts.map +1 -1
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +29 -61
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js.map +1 -1
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts +38 -0
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts.map +1 -0
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js +79 -0
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js.map +1 -0
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts +2 -2
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts.map +1 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +4 -2
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js.map +1 -1
- package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts +35 -0
- package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts.map +1 -0
- package/dist/service/iam/cfn/{role/sim-cfn-iam-role-policies-parser.js → sim-cfn-iam-policies-parser.js} +17 -12
- package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.js.map +1 -0
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +11 -0
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts.map +1 -1
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +25 -0
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js.map +1 -1
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts +1 -0
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts.map +1 -1
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +6 -0
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js.map +1 -1
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +28 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts.map +1 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +67 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js.map +1 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +26 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts.map +1 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +29 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js.map +1 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts +38 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts.map +1 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +80 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js.map +1 -0
- package/dist/service/iam/command/sim-iam-command.types.d.ts +3 -0
- package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -1
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts +9 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts.map +1 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js +2 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js.map +1 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts +30 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js +44 -0
- package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js.map +1 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts +16 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js +2 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js.map +1 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts +32 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js +59 -0
- package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
- package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts +19 -0
- package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts.map +1 -0
- package/dist/service/iam/command/user/delete-user/delete-user.command.js +2 -0
- package/dist/service/iam/command/user/delete-user/delete-user.command.js.map +1 -0
- package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts +34 -0
- package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/delete-user/delete-user.handler.js +51 -0
- package/dist/service/iam/command/user/delete-user/delete-user.handler.js.map +1 -0
- package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts +15 -0
- package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts.map +1 -1
- package/dist/service/iam/command/user/sim-iam-user-command-handlers.js +36 -0
- package/dist/service/iam/command/user/sim-iam-user-command-handlers.js.map +1 -1
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +12 -0
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
- package/dist/service/iam/sim-iam.d.ts +12 -0
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +18 -0
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/iam/user/sim-iam-user-login-profile.d.ts +14 -0
- package/dist/service/iam/user/sim-iam-user-login-profile.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user-login-profile.js +2 -0
- package/dist/service/iam/user/sim-iam-user-login-profile.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user.d.ts +8 -0
- package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +6 -5
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +7 -6
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +11 -3
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +13 -7
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +104 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts.map +1 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +133 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js.map +1 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts.map +1 -1
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +11 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js.map +1 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +2 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +5 -2
- package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +5 -3
- package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.js +19 -4
- package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.command.d.ts +13 -0
- package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +3 -0
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +4 -1
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/error/sim-s3.error.d.ts +13 -0
- package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.js +15 -0
- package/dist/service/s3/error/sim-s3.error.js.map +1 -1
- package/dist/service/s3/object/s3-object-range.d.ts +26 -0
- package/dist/service/s3/object/s3-object-range.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-range.js +89 -0
- package/dist/service/s3/object/s3-object-range.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +7 -1
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object-response-headers.js +5 -1
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -14
- 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 +0 -29
- package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +27 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts.map +1 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +47 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.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 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +8 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -1
- 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 +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +5 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +20 -3
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +0 -7
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts.map +1 -1
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +7 -41
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js.map +1 -1
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts +14 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js +26 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts +11 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js +16 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts +40 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js +67 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts +8 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js +61 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts +19 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts.map +1 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js +37 -0
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js.map +1 -0
- package/dist/service/ssm/sim-ssm.d.ts +5 -0
- package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
- package/dist/service/ssm/sim-ssm.js +7 -0
- package/dist/service/ssm/sim-ssm.js.map +1 -1
- package/package.json +1 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts +0 -25
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts.map +0 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { StringDecoder } from "node:string_decoder";
|
|
3
|
+
import { format } from "node:util";
|
|
4
|
+
/**
|
|
5
|
+
* The console methods an invocation's output is taken from.
|
|
6
|
+
*
|
|
7
|
+
* These are the ones that format their arguments the way `console.log` does,
|
|
8
|
+
* so what is recorded is what the host console prints. `console.trace` and
|
|
9
|
+
* `console.dir` decorate their output, and recording a plain format of their
|
|
10
|
+
* arguments would put something in the log group that the handler never
|
|
11
|
+
* printed. Both still reach the host console, and both are recorded when the
|
|
12
|
+
* host console goes on to write them to `process.stdout`.
|
|
13
|
+
*/
|
|
14
|
+
const CONSOLE_METHODS = ["log", "info", "debug", "warn", "error"];
|
|
15
|
+
/**
|
|
16
|
+
* The real process globals, read when the patch is installed.
|
|
17
|
+
*/
|
|
18
|
+
function hostProcessGlobals() {
|
|
19
|
+
return {
|
|
20
|
+
console: globalThis.console,
|
|
21
|
+
stdout: process.stdout,
|
|
22
|
+
stderr: process.stderr,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* What a sim Lambda handler running in the host scope prints.
|
|
27
|
+
*
|
|
28
|
+
* A handler backed by a real in-process function is a closure over its own
|
|
29
|
+
* module scope, so it prints through the host process's console and streams
|
|
30
|
+
* like any other code in the test run. Zip code has a vm sandbox with streams
|
|
31
|
+
* of its own and needs none of this. Node.js asynchronous context tracking
|
|
32
|
+
* bridges the gap for the in-process case, exactly as it does for the clock
|
|
33
|
+
* and for process.env: the invocation's sink is held in an AsyncLocalStorage
|
|
34
|
+
* store, and a write resolves to it while it is set.
|
|
35
|
+
*
|
|
36
|
+
* The store follows the invocation across await points, so concurrent
|
|
37
|
+
* invocations each record to their own function's log group, and output from
|
|
38
|
+
* the rest of the test run reaches the host console alone.
|
|
39
|
+
*
|
|
40
|
+
* Both the console and the standard streams are patched, because a test runner
|
|
41
|
+
* commonly replaces the global console with one of its own that writes
|
|
42
|
+
* somewhere else. Vitest does, which means a patch on `process.stdout` alone
|
|
43
|
+
* would see a handler's direct writes and miss every `console.log` it made.
|
|
44
|
+
* The console patch delegates outside the store, so a line the host console
|
|
45
|
+
* passes on to `process.stdout` is recorded once.
|
|
46
|
+
*
|
|
47
|
+
* The process globals are taken from a function so that a test can build an
|
|
48
|
+
* instance over streams it can watch. Everything else shares the one below.
|
|
49
|
+
*/
|
|
50
|
+
export class SimLambdaProcessOutput {
|
|
51
|
+
processGlobals;
|
|
52
|
+
storage = new AsyncLocalStorage();
|
|
53
|
+
installed = false;
|
|
54
|
+
constructor(processGlobals = hostProcessGlobals) {
|
|
55
|
+
this.processGlobals = processGlobals;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Run an invocation with the given sink recording what it prints.
|
|
59
|
+
*/
|
|
60
|
+
async run(sink, run) {
|
|
61
|
+
this.install();
|
|
62
|
+
return await this.storage.run(sink, run);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Tee the process console and standard streams into the invocation store.
|
|
66
|
+
*
|
|
67
|
+
* Installed on the first invocation that has somewhere to record rather than
|
|
68
|
+
* at import, so a test run that only ever invokes zip code, or that builds a
|
|
69
|
+
* function standalone outside a SimAws instance, is left completely alone.
|
|
70
|
+
*
|
|
71
|
+
* With no invocation running, both patches forward and record nothing, so an
|
|
72
|
+
* installed patch behaves exactly like no patch at all. Neither is ever
|
|
73
|
+
* removed: removing one would be unsafe while another invocation is in
|
|
74
|
+
* flight, and there is nothing to gain.
|
|
75
|
+
*/
|
|
76
|
+
install() {
|
|
77
|
+
if (this.installed) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this.installed = true;
|
|
81
|
+
const globals = this.processGlobals();
|
|
82
|
+
this.patchConsole(globals.console);
|
|
83
|
+
this.patchStream(globals.stdout);
|
|
84
|
+
this.patchStream(globals.stderr);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Record what the console prints during an invocation.
|
|
88
|
+
*
|
|
89
|
+
* The host method is held from install time. A test runner that wraps the
|
|
90
|
+
* console afterwards wraps the patch, so its own interception still sees
|
|
91
|
+
* every write, and one that replaces the console object outright takes the
|
|
92
|
+
* patch with it and gets the output the handler wrote.
|
|
93
|
+
*/
|
|
94
|
+
patchConsole(hostConsole) {
|
|
95
|
+
for (const method of CONSOLE_METHODS) {
|
|
96
|
+
// oxlint-disable-next-line security/detect-object-injection -- one of this module's own fixed method names.
|
|
97
|
+
const hostMethod = hostConsole[method].bind(hostConsole);
|
|
98
|
+
// oxlint-disable-next-line security/detect-object-injection -- one of this module's own fixed method names.
|
|
99
|
+
hostConsole[method] = (...arguments_) => {
|
|
100
|
+
this.storage.getStore()?.write(`${format(...arguments_)}\n`);
|
|
101
|
+
// Delegated outside the store, because the host console writing to
|
|
102
|
+
// process.stdout would otherwise record the same line a second time.
|
|
103
|
+
this.storage.exit(() => {
|
|
104
|
+
hostMethod(...arguments_);
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Record what is written to one of the process's standard streams.
|
|
111
|
+
*
|
|
112
|
+
* Chunks are decoded as one stream rather than one at a time. A handler
|
|
113
|
+
* writing bytes in pieces can split a multibyte character across two writes,
|
|
114
|
+
* and decoding each chunk on its own would record a replacement character in
|
|
115
|
+
* place of both halves.
|
|
116
|
+
*/
|
|
117
|
+
patchStream(hostStream) {
|
|
118
|
+
const hostWrite = hostStream.write.bind(hostStream);
|
|
119
|
+
const decoder = new StringDecoder("utf8");
|
|
120
|
+
hostStream.write = (chunk, ...rest) => {
|
|
121
|
+
const sink = this.storage.getStore();
|
|
122
|
+
if (sink !== undefined) {
|
|
123
|
+
sink.write(typeof chunk === "string" ? chunk : decoder.write(Buffer.from(chunk)));
|
|
124
|
+
}
|
|
125
|
+
return hostWrite(chunk, ...rest);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Shared because it patches process globals: one patch, one store.
|
|
131
|
+
*/
|
|
132
|
+
export const simLambdaProcessOutput = new SimLambdaProcessOutput();
|
|
133
|
+
//# sourceMappingURL=sim-lambda-process-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-lambda-process-output.js","sourceRoot":"","sources":["../../../../../src/service/lambda/function/invoke/sim-lambda-process-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
2
2
|
import type { SimLogsServiceWriter } from "../../../logs/write/sim-logs-service-writer.js";
|
|
3
|
+
import type { SimLambdaOutputSink } from "./sim-lambda-output-sink.js";
|
|
3
4
|
import type { SimLambdaExecutableCode } from "../code/sim-lambda-executable-code.js";
|
|
4
5
|
interface SimLambdaFunctionLoggingProperties {
|
|
5
6
|
readonly functionName: string;
|
|
@@ -43,6 +44,15 @@ export declare class SimLambdaFunctionLogging {
|
|
|
43
44
|
* Have this function's code record what it writes.
|
|
44
45
|
*/
|
|
45
46
|
recordFrom(code: SimLambdaExecutableCode): void;
|
|
47
|
+
/**
|
|
48
|
+
* Where this function's output goes, once its execution environment has
|
|
49
|
+
* cold started.
|
|
50
|
+
*
|
|
51
|
+
* Code with streams of its own is given this through recordFrom. Host-scope
|
|
52
|
+
* code has none, and its invocation runs with this as the sink the process
|
|
53
|
+
* console and standard streams tee into.
|
|
54
|
+
*/
|
|
55
|
+
outputSink(): SimLambdaOutputSink | undefined;
|
|
46
56
|
/**
|
|
47
57
|
* Run an invocation, recording whatever it left unterminated once it is
|
|
48
58
|
* over.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function-logging.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/function/logging/sim-lambda-function-logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAOrF,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAO9B,YAAY,UAAU,EAAE,kCAAkC,EAIzD;IAED;;;;;;;;;OASG;IACH,aAAa,IAAI,MAAM,CAKtB;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAM9C;IAED;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMjD;IAED,OAAO,CAAC,SAAS;CAclB"}
|
|
1
|
+
{"version":3,"file":"sim-lambda-function-logging.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/function/logging/sim-lambda-function-logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAOrF,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAO9B,YAAY,UAAU,EAAE,kCAAkC,EAIzD;IAED;;;;;;;;;OASG;IACH,aAAa,IAAI,MAAM,CAKtB;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAM9C;IAED;;;;;;;OAOG;IACH,UAAU,IAAI,mBAAmB,GAAG,SAAS,CAE5C;IAED;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMjD;IAED,OAAO,CAAC,SAAS;CAclB"}
|
|
@@ -49,6 +49,17 @@ export class SimLambdaFunctionLogging {
|
|
|
49
49
|
code.recordOutputTo(writer);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Where this function's output goes, once its execution environment has
|
|
54
|
+
* cold started.
|
|
55
|
+
*
|
|
56
|
+
* Code with streams of its own is given this through recordFrom. Host-scope
|
|
57
|
+
* code has none, and its invocation runs with this as the sink the process
|
|
58
|
+
* console and standard streams tee into.
|
|
59
|
+
*/
|
|
60
|
+
outputSink() {
|
|
61
|
+
return this.#writer;
|
|
62
|
+
}
|
|
52
63
|
/**
|
|
53
64
|
* Run an invocation, recording whatever it left unterminated once it is
|
|
54
65
|
* over.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function-logging.js","sourceRoot":"","sources":["../../../../../src/service/lambda/function/logging/sim-lambda-function-logging.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-lambda-function-logging.js","sourceRoot":"","sources":["../../../../../src/service/lambda/function/logging/sim-lambda-function-logging.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAazC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,wBAAwB;IAC1B,YAAY,CAAS;IAErB,KAAK,CAAmC;IACxC,MAAM,CAAW;IAC1B,OAAO,CAAiC;IACxC,cAAc,CAAqB;IAEnC,YAAY,UAA8C;QACxD,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa;QACX,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA6B;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAI,GAAqB;QACnC,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,EAAE,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,SAAS;QACf,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC;gBACpC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa;gBACb,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -144,7 +144,8 @@ export declare class SimLambdaFunction {
|
|
|
144
144
|
invoke(event: unknown): Promise<unknown>;
|
|
145
145
|
/**
|
|
146
146
|
* Run an invocation with the process globals host-scope code reads bridged
|
|
147
|
-
* to this simulation: the current time,
|
|
147
|
+
* to this simulation: the current time, the HTTP clients it reaches for,
|
|
148
|
+
* and the console and streams it prints through.
|
|
148
149
|
*/
|
|
149
150
|
private runInHostScope;
|
|
150
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sim-lambda-function.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAIjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAE3E,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,GAAG,CACpC,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC9B,kBAAkB,MAAM,IAAI,MAAM,aAAa,MAAM,EAAE,CAAC;AAE1D;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,MAAM,GACX,oBAAoB,CAEtB;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;CACjE;AAED,UAAU,2BAA2B;IACnC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,IAAI,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC/C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAiB;;IAC5B,SAAgB,IAAI,EAAE,qBAAqB,CAAC;IAC5C,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,kBAAkB,EAAE,wBAAwB,CAAC;IAC7D,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD;;;;;;;OAOG;IACH,SAAgB,cAAc,0BAAiC;IAG/D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IAEjE,YAAY,UAAU,EAAE,2BAA2B,EA4ClD;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,sBAAsB,CAElC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,oBAAoB,CAE9B;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAGxB;IAED;;OAEG;IACH,aAAa,IAAI,8BAA8B,CAc9C;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC7C;IAED;;;;OAIG;YACW,cAAc;CAU7B"}
|
|
@@ -149,13 +149,16 @@ export class SimLambdaFunction {
|
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Run an invocation with the process globals host-scope code reads bridged
|
|
152
|
-
* to this simulation: the current time,
|
|
152
|
+
* to this simulation: the current time, the HTTP clients it reaches for,
|
|
153
|
+
* and the console and streams it prints through.
|
|
153
154
|
*/
|
|
154
155
|
async runInHostScope(run) {
|
|
155
156
|
if (!this.code.runsInHostScope) {
|
|
156
157
|
return await run();
|
|
157
158
|
}
|
|
158
|
-
|
|
159
|
+
const { clock, outboundHttp } = this;
|
|
160
|
+
const output = this.logging.outputSink();
|
|
161
|
+
return await runSimLambdaInHostScope({ clock, outboundHttp, output }, run);
|
|
159
162
|
}
|
|
160
163
|
}
|
|
161
164
|
//# sourceMappingURL=sim-lambda-function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function.js","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sim-lambda-function.js","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@ import type { SimGetObjectCommandOutput } from "./get-object.command.js";
|
|
|
11
11
|
* response is a representation of the stored Object:
|
|
12
12
|
*
|
|
13
13
|
* - a missing storage entry becomes the S3 NoSuchKey error;
|
|
14
|
-
* - the stored Buffer
|
|
14
|
+
* - the stored Buffer, or the part of it the read asked for, becomes the
|
|
15
|
+
* readable response body;
|
|
15
16
|
* - stored metadata becomes SDK response metadata;
|
|
16
17
|
* - the Object's content hash and write time become its ETag and LastModified.
|
|
17
18
|
*
|
|
@@ -20,8 +21,9 @@ import type { SimGetObjectCommandOutput } from "./get-object.command.js";
|
|
|
20
21
|
*/
|
|
21
22
|
export declare class GetObjectLoader {
|
|
22
23
|
/**
|
|
23
|
-
* Read an Object
|
|
24
|
+
* Read an Object, or the range of it that was asked for, from the resolved
|
|
25
|
+
* Bucket, and build its SDK command output.
|
|
24
26
|
*/
|
|
25
|
-
load(bucket: SimS3Bucket, key: string): Promise<SimGetObjectCommandOutput>;
|
|
27
|
+
load(bucket: SimS3Bucket, key: string, rangeHeader?: string): Promise<SimGetObjectCommandOutput>;
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=get-object-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object-loader.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-object-loader.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAOjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAe;IAC1B;;;OAGG;IACG,IAAI,CACR,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,CAAC,CA2BpC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Readable } from "node:stream";
|
|
2
2
|
import { SimS3NoSuchKey } from "../../error/sim-s3.error.js";
|
|
3
3
|
import { simS3QuotedETag } from "../../object/s3-object-etag.js";
|
|
4
|
+
import { simS3ContentRange, simS3ReadObjectRange, } from "../../object/s3-object-range.js";
|
|
4
5
|
/**
|
|
5
6
|
* Loads an authorized S3 Object and converts it to a GetObject response.
|
|
6
7
|
*
|
|
@@ -12,7 +13,8 @@ import { simS3QuotedETag } from "../../object/s3-object-etag.js";
|
|
|
12
13
|
* response is a representation of the stored Object:
|
|
13
14
|
*
|
|
14
15
|
* - a missing storage entry becomes the S3 NoSuchKey error;
|
|
15
|
-
* - the stored Buffer
|
|
16
|
+
* - the stored Buffer, or the part of it the read asked for, becomes the
|
|
17
|
+
* readable response body;
|
|
16
18
|
* - stored metadata becomes SDK response metadata;
|
|
17
19
|
* - the Object's content hash and write time become its ETag and LastModified.
|
|
18
20
|
*
|
|
@@ -21,18 +23,31 @@ import { simS3QuotedETag } from "../../object/s3-object-etag.js";
|
|
|
21
23
|
*/
|
|
22
24
|
export class GetObjectLoader {
|
|
23
25
|
/**
|
|
24
|
-
* Read an Object
|
|
26
|
+
* Read an Object, or the range of it that was asked for, from the resolved
|
|
27
|
+
* Bucket, and build its SDK command output.
|
|
25
28
|
*/
|
|
26
|
-
async load(bucket, key) {
|
|
29
|
+
async load(bucket, key, rangeHeader) {
|
|
27
30
|
const object = await bucket.getObject(key);
|
|
28
31
|
if (object === undefined) {
|
|
29
32
|
throw new SimS3NoSuchKey(`No S3 Object named ${key}`);
|
|
30
33
|
}
|
|
34
|
+
const size = object.body.length;
|
|
35
|
+
const range = simS3ReadObjectRange(rangeHeader, size);
|
|
36
|
+
const body = range === undefined
|
|
37
|
+
? object.body
|
|
38
|
+
: object.body.subarray(range.start, range.end + 1);
|
|
31
39
|
return {
|
|
32
|
-
Body: Readable.from([
|
|
40
|
+
Body: Readable.from([body]),
|
|
33
41
|
Metadata: object.metadata.values,
|
|
42
|
+
// The ETag identifies the Object rather than the bytes being sent. A
|
|
43
|
+
// client reading it in pieces compares the value across them to see
|
|
44
|
+
// whether the Object changed underneath it.
|
|
34
45
|
ETag: simS3QuotedETag(object.etag),
|
|
35
46
|
LastModified: object.lastModified,
|
|
47
|
+
ContentLength: body.length,
|
|
48
|
+
...(range !== undefined && {
|
|
49
|
+
ContentRange: simS3ContentRange(range, size),
|
|
50
|
+
}),
|
|
36
51
|
$metadata: {},
|
|
37
52
|
};
|
|
38
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object-loader.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-object-loader.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAGzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,eAAe;IAC1B;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,MAAmB,EACnB,GAAW,EACX,WAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,cAAc,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GACR,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEvD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChC,qEAAqE;YACrE,oEAAoE;YACpE,4CAA4C;YAC5C,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI;gBACzB,YAAY,EAAE,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;aAC7C,CAAC;YACF,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -12,18 +12,31 @@ export interface SimGetObjectCommand {
|
|
|
12
12
|
export interface SimGetObjectCommandInput {
|
|
13
13
|
readonly Bucket?: string | undefined;
|
|
14
14
|
readonly Key?: string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* The bytes of the Object to read, as an HTTP `Range` header: `bytes=0-499`,
|
|
17
|
+
* `bytes=500-` or `bytes=-500`. A read that states no range reads the whole
|
|
18
|
+
* Object.
|
|
19
|
+
*/
|
|
20
|
+
readonly Range?: string | undefined;
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
17
23
|
* Minimal structural sim S3 GetObject output.
|
|
18
24
|
*
|
|
19
25
|
* `ETag` is quoted, as real S3 and the SDK give it. `LastModified` is when the
|
|
20
26
|
* Object was written, by the simulation's clock.
|
|
27
|
+
*
|
|
28
|
+
* `ContentLength` describes the body being sent rather than the Object, so a
|
|
29
|
+
* ranged read reports the size of its slice. `ContentRange` says which bytes
|
|
30
|
+
* of the Object those are, and is set only for a read that asked for some of
|
|
31
|
+
* them.
|
|
21
32
|
*/
|
|
22
33
|
export interface SimGetObjectCommandOutput {
|
|
23
34
|
readonly Body?: Readable;
|
|
24
35
|
readonly Metadata?: Record<string, string>;
|
|
25
36
|
readonly ETag?: string;
|
|
26
37
|
readonly LastModified?: Date;
|
|
38
|
+
readonly ContentLength?: number;
|
|
39
|
+
readonly ContentRange?: string;
|
|
27
40
|
readonly $metadata: SimResponseMetadata;
|
|
28
41
|
}
|
|
29
42
|
//# sourceMappingURL=get-object.command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"get-object.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -30,6 +30,9 @@ export declare class GetObjectCommandHandler implements CommandHandler<SimGetObj
|
|
|
30
30
|
* - authorization occurs before key lookup so denied callers cannot determine
|
|
31
31
|
* whether an Object exists;
|
|
32
32
|
* - the loader performs storage access only after authorization succeeds.
|
|
33
|
+
*
|
|
34
|
+
* A stated `Range` reaches the loader with the key, since which bytes of an
|
|
35
|
+
* Object a caller may read is not something IAM decides.
|
|
33
36
|
*/
|
|
34
37
|
handle(command: SimGetObjectCommand, options?: SimS3RequestOptions): Promise<SimGetObjectCommandOutput>;
|
|
35
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,UAAU,iCAAiC;IACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,iCAAiC,EASxD;IAED
|
|
1
|
+
{"version":3,"file":"get-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,UAAU,iCAAiC;IACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,iCAAiC,EASxD;IAED;;;;;;;;;;;;;OAaG;IACG,MAAM,CACV,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CAoBpC;CACF"}
|
|
@@ -30,6 +30,9 @@ export class GetObjectCommandHandler {
|
|
|
30
30
|
* - authorization occurs before key lookup so denied callers cannot determine
|
|
31
31
|
* whether an Object exists;
|
|
32
32
|
* - the loader performs storage access only after authorization succeeds.
|
|
33
|
+
*
|
|
34
|
+
* A stated `Range` reaches the loader with the key, since which bytes of an
|
|
35
|
+
* Object a caller may read is not something IAM decides.
|
|
33
36
|
*/
|
|
34
37
|
async handle(command, options) {
|
|
35
38
|
assertDefined(command.input.Bucket, "GetObjectCommand.input.Bucket");
|
|
@@ -42,7 +45,7 @@ export class GetObjectCommandHandler {
|
|
|
42
45
|
// Complete request sequencing before authorization and storage access.
|
|
43
46
|
await this.background.sequence();
|
|
44
47
|
this.authorizer.authorize(bucket, command.input.Key, options);
|
|
45
|
-
return await this.loader.load(bucket, command.input.Key);
|
|
48
|
+
return await this.loader.load(bucket, command.input.Key, command.input.Range);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
//# sourceMappingURL=get-object.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIjB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAChC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/B,UAAU,CAAsB;IAEjD,YAAY,UAA6C;QACvD,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIjB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAChC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/B,UAAU,CAAsB;IAEjD,YAAY,UAA6C;QACvD,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CACV,OAA4B,EAC5B,OAA6B;QAE7B,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACrE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAyB,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,uEAAuE;QACvE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,GAAG,EACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CACpB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -154,4 +154,17 @@ export declare class SimS3InvalidPartOrder extends SimS3Error {
|
|
|
154
154
|
readonly name = "InvalidPartOrder";
|
|
155
155
|
constructor(message: string);
|
|
156
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Simulated S3 InvalidRange error.
|
|
159
|
+
*
|
|
160
|
+
* A read whose `Range` names bytes the Object does not hold, which real S3
|
|
161
|
+
* refuses with `416 Range Not Satisfiable` rather than answering with the
|
|
162
|
+
* bytes it does hold. A client that asked for a range it cannot have has
|
|
163
|
+
* misjudged the Object's size, and reading a different slice than the one it
|
|
164
|
+
* asked for would leave it assembling a file out of the wrong pieces.
|
|
165
|
+
*/
|
|
166
|
+
export declare class SimS3InvalidRange extends SimS3Error {
|
|
167
|
+
readonly name = "InvalidRange";
|
|
168
|
+
constructor(message: string);
|
|
169
|
+
}
|
|
157
170
|
//# sourceMappingURL=sim-s3.error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.error.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/error/sim-s3.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAGjB,SAAS,EAAE,kBAAkB;IAF/C,YACE,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,kBAAuB,EAGnD;CACF;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,SAAyB,IAAI,eAAe;IAE5C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,SAAyB,IAAI,cAAc;IAE3C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;IAC1D,SAAyB,IAAI,6BAA6B;IAE1D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,SAAyB,IAAI,oBAAoB;IAEjD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,SAAyB,IAAI,qBAAqB;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,SAAyB,IAAI,oBAAoB;IAEjD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,SAAyB,IAAI,uBAAuB;IAEpD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAyB,IAAI,iBAAiB;IAE9C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,SAAyB,IAAI,sBAAsB;IAEnD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
|
|
1
|
+
{"version":3,"file":"sim-s3.error.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/error/sim-s3.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAGjB,SAAS,EAAE,kBAAkB;IAF/C,YACE,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,kBAAuB,EAGnD;CACF;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,SAAyB,IAAI,eAAe;IAE5C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,SAAyB,IAAI,cAAc;IAE3C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;IAC1D,SAAyB,IAAI,6BAA6B;IAE1D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,SAAyB,IAAI,oBAAoB;IAEjD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,SAAyB,IAAI,qBAAqB;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,SAAyB,IAAI,oBAAoB;IAEjD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,SAAyB,IAAI,uBAAuB;IAEpD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAyB,IAAI,iBAAiB;IAE9C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,SAAyB,IAAI,sBAAsB;IAEnD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAyB,IAAI,kBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
|
|
@@ -181,4 +181,19 @@ export class SimS3InvalidPartOrder extends SimS3Error {
|
|
|
181
181
|
super(message, { httpStatusCode: 400 });
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Simulated S3 InvalidRange error.
|
|
186
|
+
*
|
|
187
|
+
* A read whose `Range` names bytes the Object does not hold, which real S3
|
|
188
|
+
* refuses with `416 Range Not Satisfiable` rather than answering with the
|
|
189
|
+
* bytes it does hold. A client that asked for a range it cannot have has
|
|
190
|
+
* misjudged the Object's size, and reading a different slice than the one it
|
|
191
|
+
* asked for would leave it assembling a file out of the wrong pieces.
|
|
192
|
+
*/
|
|
193
|
+
export class SimS3InvalidRange extends SimS3Error {
|
|
194
|
+
name = "InvalidRange";
|
|
195
|
+
constructor(message) {
|
|
196
|
+
super(message, { httpStatusCode: 416 });
|
|
197
|
+
}
|
|
198
|
+
}
|
|
184
199
|
//# sourceMappingURL=sim-s3.error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.error.js","sourceRoot":"","sources":["../../../../src/service/s3/error/sim-s3.error.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sim-s3.error.js","sourceRoot":"","sources":["../../../../src/service/s3/error/sim-s3.error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bytes of an Object a read asked for, as offsets into it.
|
|
3
|
+
*/
|
|
4
|
+
export interface SimS3ObjectRange {
|
|
5
|
+
readonly start: number;
|
|
6
|
+
/** Inclusive, as the last byte of an HTTP byte range is. */
|
|
7
|
+
readonly end: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the `Range` of a read against the Object it was sent for.
|
|
11
|
+
*
|
|
12
|
+
* `undefined` means the whole Object, and covers both a read that asked for no
|
|
13
|
+
* range and one whose `Range` S3 does not answer. HTTP has an unsatisfiable
|
|
14
|
+
* range refused and an unreadable one ignored, and S3 follows it. A range S3
|
|
15
|
+
* cannot make sense of leaves the response as it would have been without it.
|
|
16
|
+
* A range naming bytes the Object does not hold is refused outright.
|
|
17
|
+
*
|
|
18
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
|
19
|
+
*/
|
|
20
|
+
export declare function simS3ReadObjectRange(header: string | undefined, size: number): SimS3ObjectRange | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* How a response describes the bytes it carries. It names them by offset, and
|
|
23
|
+
* gives the size of the Object they came from.
|
|
24
|
+
*/
|
|
25
|
+
export declare function simS3ContentRange(range: SimS3ObjectRange, size: number): string;
|
|
26
|
+
//# sourceMappingURL=s3-object-range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-object-range.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/object/s3-object-range.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GACX,gBAAgB,GAAG,SAAS,CAiB9B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,CAER"}
|