@kensio/yulin 0.35.0 → 0.36.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 +37 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.d.ts.map +1 -1
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.js +4 -0
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.js.map +1 -1
- package/dist/serve/controller/sim-aws-service-signing-name.d.ts +11 -0
- package/dist/serve/controller/sim-aws-service-signing-name.d.ts.map +1 -0
- package/dist/serve/controller/sim-aws-service-signing-name.js +25 -0
- package/dist/serve/controller/sim-aws-service-signing-name.js.map +1 -0
- package/dist/serve/controller/sim-service-controller.d.ts +29 -2
- package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
- package/dist/serve/controller/sim-service-controller.js +26 -1
- package/dist/serve/controller/sim-service-controller.js.map +1 -1
- package/dist/serve/http/request/sim-aws-received-request.d.ts +29 -0
- package/dist/serve/http/request/sim-aws-received-request.d.ts.map +1 -0
- package/dist/serve/http/request/sim-aws-received-request.js +53 -0
- package/dist/serve/http/request/sim-aws-received-request.js.map +1 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.d.ts +31 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.d.ts.map +1 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.js +45 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.js.map +1 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts +30 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts.map +1 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.js +51 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.js.map +1 -0
- package/dist/serve/http/response/sim-aws-response-hints.d.ts +35 -0
- package/dist/serve/http/response/sim-aws-response-hints.d.ts.map +1 -0
- package/dist/serve/http/response/sim-aws-response-hints.js +49 -0
- package/dist/serve/http/response/sim-aws-response-hints.js.map +1 -0
- package/dist/serve/http/sim-aws-http.d.ts +17 -0
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +34 -2
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.d.ts +8 -0
- package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.js +14 -3
- package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
- package/dist/serve/index.d.ts +2 -0
- package/dist/serve/index.d.ts.map +1 -1
- package/dist/serve/index.js +2 -0
- package/dist/serve/index.js.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts +7 -0
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.js +5 -2
- package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts +3 -0
- package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.js +4 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.js.map +1 -1
- 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 +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +2 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +5 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller.d.ts +16 -1
- package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +35 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +45 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-properties.d.ts +36 -0
- package/dist/service/aws/sim-aws-properties.d.ts.map +1 -0
- package/dist/service/aws/sim-aws-properties.js +2 -0
- package/dist/service/aws/sim-aws-properties.js.map +1 -0
- package/dist/service/aws/sim-aws-timekeeping.d.ts +33 -0
- package/dist/service/aws/sim-aws-timekeeping.d.ts.map +1 -0
- package/dist/service/aws/sim-aws-timekeeping.js +49 -0
- package/dist/service/aws/sim-aws-timekeeping.js.map +1 -0
- package/dist/service/aws/sim-aws.d.ts +67 -7
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +81 -2
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts +11 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js +57 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts +55 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js +86 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +56 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +112 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts +29 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js +34 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +5 -5
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +5 -5
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +6 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +4 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts +1 -0
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js +1 -2
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.js +1 -0
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.js.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts +1 -0
- package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role-record-factory.js +1 -2
- package/dist/service/iam/command/role/create-role/create-role-record-factory.js.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.js +1 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +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 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user.handler.js +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts +30 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.js +67 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts +6 -1
- package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -1
- package/dist/service/iam/credential/sim-iam-access-key.js +1 -1
- package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts +21 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.js +28 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +28 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -1
- package/dist/service/iam/credential/sim-iam-credential-registry.js +32 -43
- package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-signing-credential.d.ts +32 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.js +2 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.js.map +1 -0
- package/dist/service/iam/index.d.ts +6 -0
- package/dist/service/iam/index.d.ts.map +1 -1
- package/dist/service/iam/index.js +4 -0
- package/dist/service/iam/index.js.map +1 -1
- package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts +39 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.js +47 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.js.map +1 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts +25 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.js +31 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.js.map +1 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts +27 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts.map +1 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.js +25 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.js.map +1 -0
- package/dist/service/iam/request/sim-aws-caller-header.d.ts +28 -0
- package/dist/service/iam/request/sim-aws-caller-header.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-caller-header.js +62 -0
- package/dist/service/iam/request/sim-aws-caller-header.js.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +49 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js +68 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller.d.ts +50 -0
- package/dist/service/iam/request/sim-aws-request-caller.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller.js +55 -0
- package/dist/service/iam/request/sim-aws-request-caller.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts +9 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js +14 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts +22 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js +48 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts +14 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js +31 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts +19 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js +78 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +20 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +36 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +19 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +52 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +60 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +68 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts +8 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.js +10 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +33 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js +70 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts +11 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js +45 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts +30 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js +52 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts +39 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js +52 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +16 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +31 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +18 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +25 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts +9 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js +26 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts +19 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js +12 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +13 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +18 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts +26 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js +40 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +32 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +45 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts +17 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js +2 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js.map +1 -0
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +5 -1
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts +8 -6
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js +12 -7
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts +9 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js +5 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +7 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +6 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +16 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts +29 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js +43 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +12 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +20 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +31 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts.map +1 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +48 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js.map +1 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +25 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts.map +1 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +35 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.d.ts +32 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.d.ts.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.js +2 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.js.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts +31 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.js +52 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.js.map +1 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +13 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts.map +1 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js +26 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js.map +1 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/lambda/command/create-function/create-function.handler.js +1 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +29 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts +35 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +47 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts +26 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts +34 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js +38 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +50 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js +35 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts +29 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.js +39 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.js.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +24 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-input.js.map +1 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts +52 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js +49 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts +24 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts +34 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js +41 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.d.ts +22 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.d.ts.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.js +2 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.js.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts +35 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.js +45 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.js.map +1 -0
- package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts +8 -2
- package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts.map +1 -1
- package/dist/service/lambda/command/invoke/invoke-authorizer.js +9 -2
- package/dist/service/lambda/command/invoke/invoke-authorizer.js.map +1 -1
- package/dist/service/lambda/command/invoke/invoke.handler.d.ts.map +1 -1
- package/dist/service/lambda/command/invoke/invoke.handler.js +4 -1
- package/dist/service/lambda/command/invoke/invoke.handler.js.map +1 -1
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts +25 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js +5 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts +37 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js +46 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js.map +1 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts +40 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js +35 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts +21 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.js +2 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.js.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts +31 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.js +36 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.js.map +1 -0
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts +19 -0
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -0
- package/dist/service/lambda/command/sim-lambda-command.types.js +9 -0
- package/dist/service/lambda/command/sim-lambda-command.types.js.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +29 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts +35 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +48 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +4 -3
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js.map +1 -1
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts +47 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.js +79 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.js.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts +11 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js +22 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts +66 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.js +101 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.js.map +1 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts +18 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +15 -1
- package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +30 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +36 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +37 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +42 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts +30 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.js +29 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +45 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +72 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +103 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +92 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js.map +1 -0
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.d.ts.map +1 -1
- package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts +31 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts.map +1 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.js +43 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.js.map +1 -0
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +32 -0
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts +46 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js +47 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts +25 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js +53 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts +36 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js +61 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts +9 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js +38 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts +103 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js +2 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts +30 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js +55 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts +29 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js +54 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts +26 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js +50 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +24 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +35 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts +21 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js +57 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +42 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +82 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.d.ts +44 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.d.ts.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.js +47 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -0
- package/dist/service/lambda/sim-lambda.d.ts +52 -9
- package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
- package/dist/service/lambda/sim-lambda.js +115 -44
- package/dist/service/lambda/sim-lambda.js.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.d.ts.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js +3 -2
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts +10 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts.map +1 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js +13 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js.map +1 -0
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +1 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +12 -0
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +33 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
- package/dist/service/route53/serve/sim-route53-controller.d.ts +2 -2
- package/dist/service/route53/serve/sim-route53-controller.d.ts.map +1 -1
- package/dist/service/route53/serve/sim-route53-controller.js +2 -2
- package/dist/service/route53/serve/sim-route53-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +2 -2
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +2 -1
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +7 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +4 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -1
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -1
- package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -1
- package/dist/util/background/background-due-tasks.d.ts +44 -0
- package/dist/util/background/background-due-tasks.d.ts.map +1 -0
- package/dist/util/background/background-due-tasks.js +71 -0
- package/dist/util/background/background-due-tasks.js.map +1 -0
- package/dist/util/background/background-jitter.d.ts +16 -0
- package/dist/util/background/background-jitter.d.ts.map +1 -0
- package/dist/util/background/background-jitter.js +23 -0
- package/dist/util/background/background-jitter.js.map +1 -0
- package/dist/util/background/background-settled-tasks.d.ts +17 -0
- package/dist/util/background/background-settled-tasks.d.ts.map +1 -0
- package/dist/util/background/background-settled-tasks.js +24 -0
- package/dist/util/background/background-settled-tasks.js.map +1 -0
- package/dist/util/background/background.d.ts +63 -2
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +35 -0
- package/dist/util/background/background.js.map +1 -1
- package/dist/util/background/non-deterministic-background.d.ts +24 -4
- package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
- package/dist/util/background/non-deterministic-background.js +36 -13
- package/dist/util/background/non-deterministic-background.js.map +1 -1
- package/dist/util/clock/sim-clock-control.d.ts +94 -0
- package/dist/util/clock/sim-clock-control.d.ts.map +1 -0
- package/dist/util/clock/sim-clock-control.js +116 -0
- package/dist/util/clock/sim-clock-control.js.map +1 -0
- package/dist/util/clock/sim-clock-mode.d.ts +74 -0
- package/dist/util/clock/sim-clock-mode.d.ts.map +1 -0
- package/dist/util/clock/sim-clock-mode.js +58 -0
- package/dist/util/clock/sim-clock-mode.js.map +1 -0
- package/dist/util/clock/sim-clock.d.ts +41 -0
- package/dist/util/clock/sim-clock.d.ts.map +1 -0
- package/dist/util/clock/sim-clock.js +33 -0
- package/dist/util/clock/sim-clock.js.map +1 -0
- package/dist/util/clock/sim-controllable-clock.d.ts +55 -0
- package/dist/util/clock/sim-controllable-clock.d.ts.map +1 -0
- package/dist/util/clock/sim-controllable-clock.js +62 -0
- package/dist/util/clock/sim-controllable-clock.js.map +1 -0
- package/dist/util/clock/sim-duration.d.ts +44 -0
- package/dist/util/clock/sim-duration.d.ts.map +1 -0
- package/dist/util/clock/sim-duration.js +69 -0
- package/dist/util/clock/sim-duration.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS error codes a SigV4 request can be rejected with.
|
|
3
|
+
*
|
|
4
|
+
* These are the codes real AWS returns, so a caller handling a rejection can
|
|
5
|
+
* treat a simulated one exactly as it treats the real thing.
|
|
6
|
+
*/
|
|
7
|
+
export type SimIamSigV4ErrorCode = "ExpiredToken" | "IncompleteSignature" | "InvalidClientTokenId" | "SignatureDoesNotMatch";
|
|
8
|
+
/**
|
|
9
|
+
* Base error for a rejected SigV4 signed request.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimIamSigV4Error extends Error {
|
|
12
|
+
readonly code: SimIamSigV4ErrorCode;
|
|
13
|
+
constructor(code: SimIamSigV4ErrorCode, message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Raised when the Authorization header is absent or does not carry the parts a
|
|
17
|
+
* SigV4 signature is made of.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SimIamIncompleteSignature extends SimIamSigV4Error {
|
|
20
|
+
constructor(message: string);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Raised when the signing access key is unknown, inactive, or presented with a
|
|
24
|
+
* session token that does not belong to it.
|
|
25
|
+
*/
|
|
26
|
+
export declare class SimIamInvalidClientTokenId extends SimIamSigV4Error {
|
|
27
|
+
constructor(message: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Raised when the signing credentials belong to a session that has expired in
|
|
31
|
+
* simulated time.
|
|
32
|
+
*/
|
|
33
|
+
export declare class SimIamExpiredToken extends SimIamSigV4Error {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Raised when a signature was made for a different service or Region than the
|
|
38
|
+
* endpoint it arrived at.
|
|
39
|
+
*
|
|
40
|
+
* The scope is an input to the signing key, so this would otherwise surface as
|
|
41
|
+
* a bare signature mismatch with nothing to act on. Checking it first turns the
|
|
42
|
+
* least diagnosable SigV4 failure into the most obvious one, which matters
|
|
43
|
+
* because rewritten local hostnames make it an easy mistake to make. The AWS
|
|
44
|
+
* error code stays the one real AWS answers with, so client handling is
|
|
45
|
+
* unchanged; the detail is what the simulator adds.
|
|
46
|
+
*/
|
|
47
|
+
export declare class SimIamCredentialScopeMismatch extends SimIamSigV4Error {
|
|
48
|
+
constructor(message: string);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Raised when the request does not reproduce the signature it carries.
|
|
52
|
+
*
|
|
53
|
+
* The message says which part of the canonical request the simulator built, so
|
|
54
|
+
* a mismatch can be diagnosed without re-deriving it by hand.
|
|
55
|
+
*/
|
|
56
|
+
export declare class SimIamSignatureDoesNotMatch extends SimIamSigV4Error {
|
|
57
|
+
readonly canonicalRequest?: string | undefined;
|
|
58
|
+
constructor(message: string, canonicalRequest?: string);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sim-iam-sigv4.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4.error.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,oBAAoB,CAAC;IAE3C,YAAY,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAItD;CACF;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,SAAgB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtD,YAAY,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAGrD;CACF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base error for a rejected SigV4 signed request.
|
|
3
|
+
*/
|
|
4
|
+
export class SimIamSigV4Error extends Error {
|
|
5
|
+
code;
|
|
6
|
+
constructor(code, message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = new.target.name;
|
|
9
|
+
this.code = code;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Raised when the Authorization header is absent or does not carry the parts a
|
|
14
|
+
* SigV4 signature is made of.
|
|
15
|
+
*/
|
|
16
|
+
export class SimIamIncompleteSignature extends SimIamSigV4Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super("IncompleteSignature", message);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Raised when the signing access key is unknown, inactive, or presented with a
|
|
23
|
+
* session token that does not belong to it.
|
|
24
|
+
*/
|
|
25
|
+
export class SimIamInvalidClientTokenId extends SimIamSigV4Error {
|
|
26
|
+
constructor(message) {
|
|
27
|
+
super("InvalidClientTokenId", message);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Raised when the signing credentials belong to a session that has expired in
|
|
32
|
+
* simulated time.
|
|
33
|
+
*/
|
|
34
|
+
export class SimIamExpiredToken extends SimIamSigV4Error {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super("ExpiredToken", message);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Raised when a signature was made for a different service or Region than the
|
|
41
|
+
* endpoint it arrived at.
|
|
42
|
+
*
|
|
43
|
+
* The scope is an input to the signing key, so this would otherwise surface as
|
|
44
|
+
* a bare signature mismatch with nothing to act on. Checking it first turns the
|
|
45
|
+
* least diagnosable SigV4 failure into the most obvious one, which matters
|
|
46
|
+
* because rewritten local hostnames make it an easy mistake to make. The AWS
|
|
47
|
+
* error code stays the one real AWS answers with, so client handling is
|
|
48
|
+
* unchanged; the detail is what the simulator adds.
|
|
49
|
+
*/
|
|
50
|
+
export class SimIamCredentialScopeMismatch extends SimIamSigV4Error {
|
|
51
|
+
constructor(message) {
|
|
52
|
+
super("SignatureDoesNotMatch", message);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Raised when the request does not reproduce the signature it carries.
|
|
57
|
+
*
|
|
58
|
+
* The message says which part of the canonical request the simulator built, so
|
|
59
|
+
* a mismatch can be diagnosed without re-deriving it by hand.
|
|
60
|
+
*/
|
|
61
|
+
export class SimIamSignatureDoesNotMatch extends SimIamSigV4Error {
|
|
62
|
+
canonicalRequest;
|
|
63
|
+
constructor(message, canonicalRequest) {
|
|
64
|
+
super("SignatureDoesNotMatch", message);
|
|
65
|
+
this.canonicalRequest = canonicalRequest;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sim-iam-sigv4.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4.error.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,CAAuB;IAE3C,YAAY,IAA0B,EAAE,OAAe;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,gBAAgB;IAC/C,gBAAgB,CAAsB;IAEtD,YAAY,OAAe,EAAE,gBAAyB;QACpD,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Percent-encode a value the way SigV4 canonicalization requires.
|
|
3
|
+
*
|
|
4
|
+
* Everything outside the unreserved set `A-Za-z0-9-_.~` is encoded, which is
|
|
5
|
+
* `encodeURIComponent` plus the few characters it leaves alone.
|
|
6
|
+
*/
|
|
7
|
+
export declare function escapeSigV4Uri(value: string): string;
|
|
8
|
+
//# sourceMappingURL=sigv4-uri-escape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4-uri-escape.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sigv4-uri-escape.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Percent-encode a value the way SigV4 canonicalization requires.
|
|
3
|
+
*
|
|
4
|
+
* Everything outside the unreserved set `A-Za-z0-9-_.~` is encoded, which is
|
|
5
|
+
* `encodeURIComponent` plus the few characters it leaves alone.
|
|
6
|
+
*/
|
|
7
|
+
export function escapeSigV4Uri(value) {
|
|
8
|
+
return encodeURIComponent(value).replaceAll(/[!'()*]/g, (character) => `%${(character.codePointAt(0) ?? 0).toString(16).toUpperCase()}`);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=sigv4-uri-escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4-uri-escape.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sigv4-uri-escape.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,CACzC,UAAU,EACV,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
|
|
2
|
+
export declare const simIamSigV4Algorithm = "AWS4-HMAC-SHA256";
|
|
3
|
+
interface SimIamSigV4AuthorizationProperties {
|
|
4
|
+
readonly accessKeyId: string;
|
|
5
|
+
readonly scope: SimIamSigV4CredentialScope;
|
|
6
|
+
readonly signedHeaderNames: readonly string[];
|
|
7
|
+
readonly signature: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The parts of an `Authorization: AWS4-HMAC-SHA256 ...` header.
|
|
11
|
+
*
|
|
12
|
+
* The signed header list matters as much as the signature: verification has to
|
|
13
|
+
* canonicalize exactly the headers the signer chose, not whichever headers the
|
|
14
|
+
* request happens to carry now.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimIamSigV4Authorization {
|
|
17
|
+
readonly accessKeyId: string;
|
|
18
|
+
readonly scope: SimIamSigV4CredentialScope;
|
|
19
|
+
readonly signedHeaderNames: readonly string[];
|
|
20
|
+
readonly signature: string;
|
|
21
|
+
constructor(properties: SimIamSigV4AuthorizationProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Parse an Authorization header value, or fail describing what was missing.
|
|
24
|
+
*/
|
|
25
|
+
static parse(headerValue: string | null): SimIamSigV4Authorization;
|
|
26
|
+
/**
|
|
27
|
+
* Split the comma-separated `Name=value` fields that follow the algorithm.
|
|
28
|
+
*/
|
|
29
|
+
private static fields;
|
|
30
|
+
private static field;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=sim-iam-sigv4-authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-authorization.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,KAAK,EAAE,0BAA0B,CAAC;IAClD,SAAgB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,wBAAwB,CAoCjE;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAiBrB,OAAO,CAAC,MAAM,CAAC,KAAK;CAcrB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { SimIamIncompleteSignature } from "./error/sim-iam-sigv4.error.js";
|
|
2
|
+
import { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
|
|
3
|
+
export const simIamSigV4Algorithm = "AWS4-HMAC-SHA256";
|
|
4
|
+
/**
|
|
5
|
+
* The parts of an `Authorization: AWS4-HMAC-SHA256 ...` header.
|
|
6
|
+
*
|
|
7
|
+
* The signed header list matters as much as the signature: verification has to
|
|
8
|
+
* canonicalize exactly the headers the signer chose, not whichever headers the
|
|
9
|
+
* request happens to carry now.
|
|
10
|
+
*/
|
|
11
|
+
export class SimIamSigV4Authorization {
|
|
12
|
+
accessKeyId;
|
|
13
|
+
scope;
|
|
14
|
+
signedHeaderNames;
|
|
15
|
+
signature;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.accessKeyId = properties.accessKeyId;
|
|
18
|
+
this.scope = properties.scope;
|
|
19
|
+
this.signedHeaderNames = properties.signedHeaderNames;
|
|
20
|
+
this.signature = properties.signature;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse an Authorization header value, or fail describing what was missing.
|
|
24
|
+
*/
|
|
25
|
+
static parse(headerValue) {
|
|
26
|
+
if (headerValue === null || headerValue.length === 0) {
|
|
27
|
+
throw new SimIamIncompleteSignature("Request carries no Authorization header to verify");
|
|
28
|
+
}
|
|
29
|
+
const [algorithm, ...rest] = headerValue.split(" ");
|
|
30
|
+
if (algorithm !== simIamSigV4Algorithm) {
|
|
31
|
+
throw new SimIamIncompleteSignature(`Authorization header algorithm ${String(algorithm)} is not ${simIamSigV4Algorithm}`);
|
|
32
|
+
}
|
|
33
|
+
const fields = this.fields(rest.join(" "));
|
|
34
|
+
const credential = this.field(fields, "Credential");
|
|
35
|
+
const separator = credential.indexOf("/");
|
|
36
|
+
if (separator < 1) {
|
|
37
|
+
throw new SimIamIncompleteSignature(`Authorization header Credential ${credential} must be ` +
|
|
38
|
+
`<access-key-id>/<scope>`);
|
|
39
|
+
}
|
|
40
|
+
return new SimIamSigV4Authorization({
|
|
41
|
+
accessKeyId: credential.slice(0, separator),
|
|
42
|
+
scope: SimIamSigV4CredentialScope.parse(credential.slice(separator + 1)),
|
|
43
|
+
signedHeaderNames: this.field(fields, "SignedHeaders")
|
|
44
|
+
.split(";")
|
|
45
|
+
.map((name) => name.toLowerCase()),
|
|
46
|
+
signature: this.field(fields, "Signature"),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Split the comma-separated `Name=value` fields that follow the algorithm.
|
|
51
|
+
*/
|
|
52
|
+
static fields(value) {
|
|
53
|
+
const fields = new Map();
|
|
54
|
+
for (const field of value.split(",")) {
|
|
55
|
+
const separator = field.indexOf("=");
|
|
56
|
+
if (separator > 0) {
|
|
57
|
+
fields.set(field.slice(0, separator).trim(), field.slice(separator + 1).trim());
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return fields;
|
|
61
|
+
}
|
|
62
|
+
static field(fields, name) {
|
|
63
|
+
const value = fields.get(name);
|
|
64
|
+
if (value === undefined || value.length === 0) {
|
|
65
|
+
throw new SimIamIncompleteSignature(`Authorization header is missing its ${name} field`);
|
|
66
|
+
}
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=sim-iam-sigv4-authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-authorization.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AASvD;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnB,WAAW,CAAS;IACpB,KAAK,CAA6B;IAClC,iBAAiB,CAAoB;IACrC,SAAS,CAAS;IAElC,YAAY,UAA8C;QACxD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAA0B;QACrC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACvC,MAAM,IAAI,yBAAyB,CACjC,kCAAkC,MAAM,CAAC,SAAS,CAAC,WACjD,oBACF,EAAE,CACH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,yBAAyB,CACjC,mCAAmC,UAAU,WAAW;gBACtD,yBAAyB,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,wBAAwB,CAAC;YAClC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;YAC3C,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACxE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;iBACnD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,MAAM,CAAC,KAAa;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CACR,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAChC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAClC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,KAAK,CAClB,MAAmC,EACnC,IAAY;QAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,yBAAyB,CACjC,uCAAuC,IAAI,QAAQ,CACpD,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run a credential lookup, restating any rejection as the AWS error code a
|
|
3
|
+
* signed request would be answered with.
|
|
4
|
+
*
|
|
5
|
+
* The registry reports why a credential failed in its own terms, which is the
|
|
6
|
+
* useful vocabulary in process. Over the wire AWS has a smaller vocabulary, and
|
|
7
|
+
* a client handling a real rejection expects those codes, so the translation
|
|
8
|
+
* happens here rather than in the registry.
|
|
9
|
+
*/
|
|
10
|
+
export declare function simIamSigV4CredentialFailure<T>(accessKeyId: string, resolve: () => T): T;
|
|
11
|
+
//# sourceMappingURL=sim-iam-sigv4-credential-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-credential-failure.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-credential-failure.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,GACf,CAAC,CAUH"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SimIamInvalidCredentials } from "../credential/error/sim-iam-credential.error.js";
|
|
2
|
+
import { SimIamExpiredToken, SimIamInvalidClientTokenId, SimIamSignatureDoesNotMatch, } from "./error/sim-iam-sigv4.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Run a credential lookup, restating any rejection as the AWS error code a
|
|
5
|
+
* signed request would be answered with.
|
|
6
|
+
*
|
|
7
|
+
* The registry reports why a credential failed in its own terms, which is the
|
|
8
|
+
* useful vocabulary in process. Over the wire AWS has a smaller vocabulary, and
|
|
9
|
+
* a client handling a real rejection expects those codes, so the translation
|
|
10
|
+
* happens here rather than in the registry.
|
|
11
|
+
*/
|
|
12
|
+
export function simIamSigV4CredentialFailure(accessKeyId, resolve) {
|
|
13
|
+
try {
|
|
14
|
+
return resolve();
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error instanceof SimIamInvalidCredentials) {
|
|
18
|
+
throw sigV4Error(accessKeyId, error);
|
|
19
|
+
}
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function sigV4Error(accessKeyId, error) {
|
|
24
|
+
const reason = error.reason;
|
|
25
|
+
switch (reason) {
|
|
26
|
+
case "expired-session": {
|
|
27
|
+
return new SimIamExpiredToken(`The security token included in the request for access key ` +
|
|
28
|
+
`${accessKeyId} has expired: ${error.message}`);
|
|
29
|
+
}
|
|
30
|
+
case "secret-access-key-mismatch": {
|
|
31
|
+
// A signed request never presents a secret, so reaching this means the
|
|
32
|
+
// signature is what failed rather than the credential.
|
|
33
|
+
return new SimIamSignatureDoesNotMatch(error.message);
|
|
34
|
+
}
|
|
35
|
+
case "inactive-access-key":
|
|
36
|
+
case "session-token-mismatch":
|
|
37
|
+
case "session-token-missing":
|
|
38
|
+
case "session-token-unexpected":
|
|
39
|
+
case "unknown-access-key": {
|
|
40
|
+
return new SimIamInvalidClientTokenId(`The security token included in the request for access key ` +
|
|
41
|
+
`${accessKeyId} is invalid: ${error.message}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sim-iam-sigv4-credential-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-credential-failure.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-credential-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,GAE5B,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAAmB,EACnB,OAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;YAC9C,MAAM,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,WAAmB,EACnB,KAA+B;IAE/B,MAAM,MAAM,GAAmC,KAAK,CAAC,MAAM,CAAC;IAE5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,kBAAkB,CAC3B,4DAA4D;gBAC1D,GAAG,WAAW,iBAAiB,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;QACJ,CAAC;QACD,KAAK,4BAA4B,EAAE,CAAC;YAClC,uEAAuE;YACvE,uDAAuD;YACvD,OAAO,IAAI,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,qBAAqB,CAAC;QAC3B,KAAK,wBAAwB,CAAC;QAC9B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,0BAA0B,CAAC;QAChC,KAAK,oBAAoB,EAAE,CAAC;YAC1B,OAAO,IAAI,0BAA0B,CACnC,4DAA4D;gBAC1D,GAAG,WAAW,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface SimIamSigV4CredentialScopeProperties {
|
|
2
|
+
readonly dateStamp: string;
|
|
3
|
+
readonly regionName: string;
|
|
4
|
+
readonly serviceName: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The scope a SigV4 signature was made in: a date, a Region, and a service.
|
|
8
|
+
*
|
|
9
|
+
* The scope is not only checked, it is an input to the signing key, so a
|
|
10
|
+
* request signed for one Region or service cannot be replayed against another
|
|
11
|
+
* even before anything compares the two.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SimIamSigV4CredentialScope {
|
|
14
|
+
readonly dateStamp: string;
|
|
15
|
+
readonly regionName: string;
|
|
16
|
+
readonly serviceName: string;
|
|
17
|
+
constructor(properties: SimIamSigV4CredentialScopeProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Parse the scope part of a Credential value, such as
|
|
20
|
+
* `20260726/eu-west-2/lambda/aws4_request`.
|
|
21
|
+
*/
|
|
22
|
+
static parse(value: string): SimIamSigV4CredentialScope;
|
|
23
|
+
/**
|
|
24
|
+
* The scope in the form it appears in a Credential value and a string to
|
|
25
|
+
* sign.
|
|
26
|
+
*/
|
|
27
|
+
toString(): string;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=sim-iam-sigv4-credential-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-credential-scope.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-credential-scope.ts"],"names":[],"mappings":"AAKA,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,0BAA0B;IACrC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,YAAY,UAAU,EAAE,oCAAoC,EAI3D;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,0BAA0B,CAmCtD;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAIjB;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SimIamIncompleteSignature } from "./error/sim-iam-sigv4.error.js";
|
|
2
|
+
const terminator = "aws4_request";
|
|
3
|
+
const dateStampPattern = /^\d{8}$/;
|
|
4
|
+
/**
|
|
5
|
+
* The scope a SigV4 signature was made in: a date, a Region, and a service.
|
|
6
|
+
*
|
|
7
|
+
* The scope is not only checked, it is an input to the signing key, so a
|
|
8
|
+
* request signed for one Region or service cannot be replayed against another
|
|
9
|
+
* even before anything compares the two.
|
|
10
|
+
*/
|
|
11
|
+
export class SimIamSigV4CredentialScope {
|
|
12
|
+
dateStamp;
|
|
13
|
+
regionName;
|
|
14
|
+
serviceName;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.dateStamp = properties.dateStamp;
|
|
17
|
+
this.regionName = properties.regionName;
|
|
18
|
+
this.serviceName = properties.serviceName;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse the scope part of a Credential value, such as
|
|
22
|
+
* `20260726/eu-west-2/lambda/aws4_request`.
|
|
23
|
+
*/
|
|
24
|
+
static parse(value) {
|
|
25
|
+
const parts = value.split("/");
|
|
26
|
+
if (parts.length !== 4) {
|
|
27
|
+
throw new SimIamIncompleteSignature(`SigV4 credential scope ${value} must be ` +
|
|
28
|
+
`<date>/<region>/<service>/${terminator}`);
|
|
29
|
+
}
|
|
30
|
+
const [dateStamp, regionName, serviceName, scopeTerminator] = parts;
|
|
31
|
+
if (!dateStampPattern.test(dateStamp)) {
|
|
32
|
+
throw new SimIamIncompleteSignature(`SigV4 credential scope date ${dateStamp} must be 8 digits, YYYYMMDD`);
|
|
33
|
+
}
|
|
34
|
+
if (scopeTerminator !== terminator) {
|
|
35
|
+
throw new SimIamIncompleteSignature(`SigV4 credential scope must end with ${terminator}, ` +
|
|
36
|
+
`not ${scopeTerminator}`);
|
|
37
|
+
}
|
|
38
|
+
return new SimIamSigV4CredentialScope({
|
|
39
|
+
dateStamp,
|
|
40
|
+
regionName,
|
|
41
|
+
serviceName,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The scope in the form it appears in a Credential value and a string to
|
|
46
|
+
* sign.
|
|
47
|
+
*/
|
|
48
|
+
toString() {
|
|
49
|
+
return [this.dateStamp, this.regionName, this.serviceName, terminator].join("/");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-iam-sigv4-credential-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-credential-scope.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-credential-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAQnC;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IACrB,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,WAAW,CAAS;IAEpC,YAAY,UAAgD;QAC1D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,yBAAyB,CACjC,0BAA0B,KAAK,WAAW;gBACxC,6BAA6B,UAAU,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,KAK7D,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,yBAAyB,CACjC,+BAA+B,SAAS,6BAA6B,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,yBAAyB,CACjC,wCAAwC,UAAU,IAAI;gBACpD,OAAO,eAAe,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC;YACpC,SAAS;YACT,UAAU;YACV,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CACzE,GAAG,CACJ,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* The service and Region a signature is expected to have been scoped to.
|
|
4
|
+
*
|
|
5
|
+
* The Region is optional because not every simulated endpoint is
|
|
6
|
+
* Region-specific: a CloudFront hostname names no Region, so there is nothing
|
|
7
|
+
* to disagree with.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimIamSigV4ExpectedScope {
|
|
10
|
+
readonly serviceName: string;
|
|
11
|
+
readonly regionName?: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check a signature's scope against the endpoint it reached, when that
|
|
15
|
+
* endpoint is known.
|
|
16
|
+
*
|
|
17
|
+
* Verification is also done standalone, by a test asking only whether a
|
|
18
|
+
* signature is sound, and then there is no endpoint to compare against.
|
|
19
|
+
*/
|
|
20
|
+
export declare function simIamSigV4CheckExpectedScope(expected: SimIamSigV4ExpectedScope | undefined, scope: SimIamSigV4CredentialScope): void;
|
|
21
|
+
/**
|
|
22
|
+
* Checks that a signature was made for the endpoint it arrived at.
|
|
23
|
+
*
|
|
24
|
+
* Real AWS makes this check too, and the reason it is worth making here is
|
|
25
|
+
* diagnostic. A wrong service or Region changes the signing key, so without
|
|
26
|
+
* this the only symptom is a signature that does not match, with no hint that
|
|
27
|
+
* the credentials and the request body were fine all along.
|
|
28
|
+
*/
|
|
29
|
+
export declare class SimIamSigV4ScopeExpectation {
|
|
30
|
+
private readonly expected;
|
|
31
|
+
constructor(expected: SimIamSigV4ExpectedScope);
|
|
32
|
+
/**
|
|
33
|
+
* Refuse a scope naming a service or Region other than the expected one.
|
|
34
|
+
*/
|
|
35
|
+
check(scope: SimIamSigV4CredentialScope): void;
|
|
36
|
+
private checkServiceName;
|
|
37
|
+
private checkRegionName;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=sim-iam-sigv4-expected-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-expected-scope.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-expected-scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,wBAAwB,GAAG,SAAS,EAC9C,KAAK,EAAE,0BAA0B,GAChC,IAAI,CAIN;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,YAAY,QAAQ,EAAE,wBAAwB,EAE7C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,CAG7C;IAED,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;CAaxB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SimIamCredentialScopeMismatch } from "./error/sim-iam-sigv4.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check a signature's scope against the endpoint it reached, when that
|
|
4
|
+
* endpoint is known.
|
|
5
|
+
*
|
|
6
|
+
* Verification is also done standalone, by a test asking only whether a
|
|
7
|
+
* signature is sound, and then there is no endpoint to compare against.
|
|
8
|
+
*/
|
|
9
|
+
export function simIamSigV4CheckExpectedScope(expected, scope) {
|
|
10
|
+
if (expected !== undefined) {
|
|
11
|
+
new SimIamSigV4ScopeExpectation(expected).check(scope);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Checks that a signature was made for the endpoint it arrived at.
|
|
16
|
+
*
|
|
17
|
+
* Real AWS makes this check too, and the reason it is worth making here is
|
|
18
|
+
* diagnostic. A wrong service or Region changes the signing key, so without
|
|
19
|
+
* this the only symptom is a signature that does not match, with no hint that
|
|
20
|
+
* the credentials and the request body were fine all along.
|
|
21
|
+
*/
|
|
22
|
+
export class SimIamSigV4ScopeExpectation {
|
|
23
|
+
expected;
|
|
24
|
+
constructor(expected) {
|
|
25
|
+
this.expected = expected;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Refuse a scope naming a service or Region other than the expected one.
|
|
29
|
+
*/
|
|
30
|
+
check(scope) {
|
|
31
|
+
this.checkServiceName(scope.serviceName);
|
|
32
|
+
this.checkRegionName(scope.regionName);
|
|
33
|
+
}
|
|
34
|
+
checkServiceName(signed) {
|
|
35
|
+
if (signed === this.expected.serviceName) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
throw new SimIamCredentialScopeMismatch(`Request is signed for service ${signed}, but reached simulated ` +
|
|
39
|
+
`${this.expected.serviceName}. Its credential scope should name ` +
|
|
40
|
+
`service ${this.expected.serviceName}.`);
|
|
41
|
+
}
|
|
42
|
+
checkRegionName(signed) {
|
|
43
|
+
const expected = this.expected.regionName;
|
|
44
|
+
if (expected === undefined || signed === expected) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
throw new SimIamCredentialScopeMismatch(`Request is signed for Region ${signed}, but reached simulated ` +
|
|
48
|
+
`${this.expected.serviceName} in ${expected}. Its credential scope ` +
|
|
49
|
+
`should name Region ${expected}.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-iam-sigv4-expected-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-expected-scope.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-expected-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAe/E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA8C,EAC9C,KAAiC;IAEjC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,2BAA2B,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IACrB,QAAQ,CAA2B;IAEpD,YAAY,QAAkC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAiC;QACrC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACrC,IAAI,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,6BAA6B,CACrC,iCAAiC,MAAM,0BAA0B;YAC/D,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,qCAAqC;YACjE,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAC1C,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,MAAc;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAE1C,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,6BAA6B,CACrC,gCAAgC,MAAM,0BAA0B;YAC9D,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,OAAO,QAAQ,yBAAyB;YACpE,sBAAsB,QAAQ,GAAG,CACpC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the `X-Amz-Date` a request was signed at.
|
|
4
|
+
*
|
|
5
|
+
* The stamp is required, has to be well formed, and has to agree with the date
|
|
6
|
+
* in the credential scope, because both feed the signature and a signer that
|
|
7
|
+
* disagrees with itself cannot have produced one.
|
|
8
|
+
*
|
|
9
|
+
* It is deliberately never compared to a clock. Rejecting an old signature
|
|
10
|
+
* would buy nothing a caller could assert on, and would break every client that
|
|
11
|
+
* stamps real time and has no way to know what time this simulation is keeping.
|
|
12
|
+
* This is a documented divergence from real AWS, which enforces a five minute
|
|
13
|
+
* window.
|
|
14
|
+
*/
|
|
15
|
+
export declare function simIamSigV4RequestDate(headers: Headers, scope: SimIamSigV4CredentialScope): string;
|
|
16
|
+
//# sourceMappingURL=sim-iam-sigv4-request-date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-request-date.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAItF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,0BAA0B,GAChC,MAAM,CA2BR"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SimIamIncompleteSignature } from "./error/sim-iam-sigv4.error.js";
|
|
2
|
+
const amzDatePattern = /^(?<dateStamp>\d{8})T\d{6}Z$/;
|
|
3
|
+
/**
|
|
4
|
+
* Read the `X-Amz-Date` a request was signed at.
|
|
5
|
+
*
|
|
6
|
+
* The stamp is required, has to be well formed, and has to agree with the date
|
|
7
|
+
* in the credential scope, because both feed the signature and a signer that
|
|
8
|
+
* disagrees with itself cannot have produced one.
|
|
9
|
+
*
|
|
10
|
+
* It is deliberately never compared to a clock. Rejecting an old signature
|
|
11
|
+
* would buy nothing a caller could assert on, and would break every client that
|
|
12
|
+
* stamps real time and has no way to know what time this simulation is keeping.
|
|
13
|
+
* This is a documented divergence from real AWS, which enforces a five minute
|
|
14
|
+
* window.
|
|
15
|
+
*/
|
|
16
|
+
export function simIamSigV4RequestDate(headers, scope) {
|
|
17
|
+
const amzDate = headers.get("x-amz-date");
|
|
18
|
+
if (amzDate === null || amzDate.length === 0) {
|
|
19
|
+
throw new SimIamIncompleteSignature("Signed request carries no X-Amz-Date header");
|
|
20
|
+
}
|
|
21
|
+
const dateStamp = amzDatePattern.exec(amzDate)?.groups?.["dateStamp"];
|
|
22
|
+
if (dateStamp === undefined) {
|
|
23
|
+
throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} must be an ISO 8601 basic stamp, ` +
|
|
24
|
+
`YYYYMMDDTHHMMSSZ`);
|
|
25
|
+
}
|
|
26
|
+
if (dateStamp !== scope.dateStamp) {
|
|
27
|
+
throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} is not on the day its credential scope names, ${scope.dateStamp}`);
|
|
28
|
+
}
|
|
29
|
+
return amzDate;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sim-iam-sigv4-request-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-request-date.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,KAAiC;IAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,oCAAoC;YACvD,kBAAkB,CACrB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,kDACnB,KAAK,CAAC,SACR,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimIamSigV4Authorization } from "./sim-iam-sigv4-authorization.js";
|
|
2
|
+
import type { SimIamSigV4SignedRequest } from "./sim-iam-sigv4-signed-request.js";
|
|
3
|
+
interface SimIamSigV4SignatureCheckInput {
|
|
4
|
+
readonly signedRequest: SimIamSigV4SignedRequest;
|
|
5
|
+
readonly authorization: SimIamSigV4Authorization;
|
|
6
|
+
readonly signingKey: Buffer;
|
|
7
|
+
readonly amzDate: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Rebuild the signature the request should carry, and refuse it otherwise.
|
|
11
|
+
*
|
|
12
|
+
* The canonical request travels with the failure, because a mismatch is
|
|
13
|
+
* otherwise undiagnosable: the only way to see which byte differed is to have
|
|
14
|
+
* the bytes the simulator signed over.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simIamSigV4CheckSignature(input: SimIamSigV4SignatureCheckInput): void;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=sim-iam-sigv4-signature-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-signature-check.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAMlF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,IAAI,CAwBN"}
|