@kensio/yulin 0.35.0 → 0.37.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 +13 -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/authorize/allow/sim-iam-allow-requirement.d.ts +60 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +60 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +46 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +67 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts +37 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js +33 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts +21 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js +2 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts +34 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js +22 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts +18 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts.map +1 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js +16 -0
- package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +1 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +39 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +42 -8
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +9 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +2 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
- package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts +14 -0
- package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts.map +1 -0
- package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js +2 -0
- package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js.map +1 -0
- package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +24 -1
- package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js +18 -4
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +11 -2
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js +14 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +17 -5
- package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.js +27 -13
- package/dist/service/iam/authorize/sim-iam-decision.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/sim-iam-command-handlers.d.ts +41 -0
- package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -0
- package/dist/service/iam/command/sim-iam-command-handlers.js +42 -0
- package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -0
- 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-account-resolver.d.ts +8 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -1
- 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/registry/sim-iam-registry.d.ts +4 -0
- package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-registry.js +7 -1
- package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
- 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-account-parts.d.ts +58 -0
- package/dist/service/iam/sim-iam-account-parts.d.ts.map +1 -0
- package/dist/service/iam/sim-iam-account-parts.js +72 -0
- package/dist/service/iam/sim-iam-account-parts.js.map +1 -0
- package/dist/service/iam/sim-iam.d.ts +28 -21
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +42 -67
- 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,49 @@
|
|
|
1
|
+
import type { SimIamSigV4ExpectedScope } from "../sigv4/sim-iam-sigv4-expected-scope.js";
|
|
2
|
+
import type { SimIamSigV4SignedRequest } from "../sigv4/sim-iam-sigv4-signed-request.js";
|
|
3
|
+
import type { SimIamSigV4Verifier } from "../sigv4/sim-iam-sigv4-verifier.js";
|
|
4
|
+
import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
|
|
5
|
+
interface SimAwsRequestCallerResolverProperties {
|
|
6
|
+
readonly signedRequests: SimIamSigV4Verifier;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The one place an HTTP request into simulated AWS becomes a principal.
|
|
10
|
+
*
|
|
11
|
+
* Resolution runs in a fixed order:
|
|
12
|
+
*
|
|
13
|
+
* 1. an `x-sim-aws-caller` header naming the principal directly;
|
|
14
|
+
* 2. an `Authorization: AWS4-HMAC-SHA256` header, verified as a signature;
|
|
15
|
+
* 3. neither, giving anonymous.
|
|
16
|
+
*
|
|
17
|
+
* The header wins over a signature so that a developer can override the
|
|
18
|
+
* identity of a request their tooling already signs, without having to stop it
|
|
19
|
+
* signing. Nothing else is worth resolving after an explicit statement of who
|
|
20
|
+
* the caller is.
|
|
21
|
+
*
|
|
22
|
+
* Anonymous is the floor, and deliberately not the Account root. Simulated IAM
|
|
23
|
+
* treats an omitted in-process caller as the root principal with unrestricted
|
|
24
|
+
* access, which is convenient inside a test and would be a serious mistake over
|
|
25
|
+
* HTTP: every unauthenticated request would arrive as an administrator.
|
|
26
|
+
*/
|
|
27
|
+
export declare class SimAwsRequestCallerResolver {
|
|
28
|
+
private readonly signedRequests;
|
|
29
|
+
constructor(properties: SimAwsRequestCallerResolverProperties);
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the principal behind a request as received.
|
|
32
|
+
*
|
|
33
|
+
* Throws a SimAwsRequestAuthFailure when the request states an identity that
|
|
34
|
+
* cannot be accepted. Stating none is not a failure; it is anonymous.
|
|
35
|
+
*/
|
|
36
|
+
resolve(request: SimIamSigV4SignedRequest, expectedScope?: SimIamSigV4ExpectedScope): SimAwsRequestCaller;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the request offers a SigV4 signature to verify.
|
|
39
|
+
*
|
|
40
|
+
* Only an AWS4-HMAC-SHA256 header counts. An Authorization header of any
|
|
41
|
+
* other scheme belongs to the application: a bearer token sent to a Function
|
|
42
|
+
* URL with NONE auth is the handler's business, and treating it as a broken
|
|
43
|
+
* signature would refuse a request real AWS delivers.
|
|
44
|
+
*/
|
|
45
|
+
private carriesSignature;
|
|
46
|
+
private signedCaller;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=sim-aws-request-caller-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-caller-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAK9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;OAKG;IACH,OAAO,CACL,OAAO,EAAE,wBAAwB,EACjC,aAAa,CAAC,EAAE,wBAAwB,GACvC,mBAAmB,CAerB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;CAYrB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { simIamSigV4Algorithm } from "../sigv4/sim-iam-sigv4-authorization.js";
|
|
2
|
+
import { simAwsCallerHeaderName, simAwsCallerHeaderPrincipal, } from "./sim-aws-caller-header.js";
|
|
3
|
+
import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
|
|
4
|
+
/**
|
|
5
|
+
* The one place an HTTP request into simulated AWS becomes a principal.
|
|
6
|
+
*
|
|
7
|
+
* Resolution runs in a fixed order:
|
|
8
|
+
*
|
|
9
|
+
* 1. an `x-sim-aws-caller` header naming the principal directly;
|
|
10
|
+
* 2. an `Authorization: AWS4-HMAC-SHA256` header, verified as a signature;
|
|
11
|
+
* 3. neither, giving anonymous.
|
|
12
|
+
*
|
|
13
|
+
* The header wins over a signature so that a developer can override the
|
|
14
|
+
* identity of a request their tooling already signs, without having to stop it
|
|
15
|
+
* signing. Nothing else is worth resolving after an explicit statement of who
|
|
16
|
+
* the caller is.
|
|
17
|
+
*
|
|
18
|
+
* Anonymous is the floor, and deliberately not the Account root. Simulated IAM
|
|
19
|
+
* treats an omitted in-process caller as the root principal with unrestricted
|
|
20
|
+
* access, which is convenient inside a test and would be a serious mistake over
|
|
21
|
+
* HTTP: every unauthenticated request would arrive as an administrator.
|
|
22
|
+
*/
|
|
23
|
+
export class SimAwsRequestCallerResolver {
|
|
24
|
+
signedRequests;
|
|
25
|
+
constructor(properties) {
|
|
26
|
+
this.signedRequests = properties.signedRequests;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the principal behind a request as received.
|
|
30
|
+
*
|
|
31
|
+
* Throws a SimAwsRequestAuthFailure when the request states an identity that
|
|
32
|
+
* cannot be accepted. Stating none is not a failure; it is anonymous.
|
|
33
|
+
*/
|
|
34
|
+
resolve(request, expectedScope) {
|
|
35
|
+
const named = request.headers.get(simAwsCallerHeaderName);
|
|
36
|
+
if (named !== null) {
|
|
37
|
+
return new SimAwsRequestCaller({
|
|
38
|
+
principal: simAwsCallerHeaderPrincipal(named),
|
|
39
|
+
authMethod: "caller-header",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (!this.carriesSignature(request)) {
|
|
43
|
+
return SimAwsRequestCaller.anonymous();
|
|
44
|
+
}
|
|
45
|
+
return this.signedCaller(request, expectedScope);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Whether the request offers a SigV4 signature to verify.
|
|
49
|
+
*
|
|
50
|
+
* Only an AWS4-HMAC-SHA256 header counts. An Authorization header of any
|
|
51
|
+
* other scheme belongs to the application: a bearer token sent to a Function
|
|
52
|
+
* URL with NONE auth is the handler's business, and treating it as a broken
|
|
53
|
+
* signature would refuse a request real AWS delivers.
|
|
54
|
+
*/
|
|
55
|
+
carriesSignature(request) {
|
|
56
|
+
return (request.headers.get("authorization")?.startsWith(simIamSigV4Algorithm) ===
|
|
57
|
+
true);
|
|
58
|
+
}
|
|
59
|
+
signedCaller(request, expectedScope) {
|
|
60
|
+
const identity = this.signedRequests.verify(request, { expectedScope });
|
|
61
|
+
return new SimAwsRequestCaller({
|
|
62
|
+
principal: identity.principal,
|
|
63
|
+
identityPolicyPrincipal: identity.identityPolicyPrincipal,
|
|
64
|
+
authMethod: "sigv4",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sim-aws-request-caller-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-caller-resolver.js","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,2BAA2B;IACrB,cAAc,CAAsB;IAErD,YAAY,UAAiD;QAC3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,OAAiC,EACjC,aAAwC;QAExC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,mBAAmB,CAAC;gBAC7B,SAAS,EAAE,2BAA2B,CAAC,KAAK,CAAC;gBAC7C,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,mBAAmB,CAAC,SAAS,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,OAAiC;QACxD,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC;YACtE,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,OAAiC,EACjC,aAAmD;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAExE,OAAO,IAAI,mBAAmB,CAAC;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SimAwsCaller, SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
/**
|
|
3
|
+
* How a request's principal was established.
|
|
4
|
+
*
|
|
5
|
+
* This is reported back to the client, because "who does the simulator think
|
|
6
|
+
* you are" is much less useful without "and why".
|
|
7
|
+
*/
|
|
8
|
+
export type SimAwsRequestAuthMethod = "caller-header" | "sigv4" | "none";
|
|
9
|
+
interface SimAwsRequestCallerProperties {
|
|
10
|
+
readonly principal: SimAwsPrincipal;
|
|
11
|
+
readonly identityPolicyPrincipal?: SimAwsPrincipal | undefined;
|
|
12
|
+
readonly authMethod: SimAwsRequestAuthMethod;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The principal a request into simulated AWS is attributed to.
|
|
16
|
+
*
|
|
17
|
+
* An unauthenticated request is anonymous and never the Account root. In
|
|
18
|
+
* process an omitted caller means "whoever owns this simulation", which is a
|
|
19
|
+
* convenience; over HTTP the same default would hand administrator rights to
|
|
20
|
+
* anyone who could reach the port, so the boundary refuses to make that
|
|
21
|
+
* assumption.
|
|
22
|
+
*
|
|
23
|
+
* For an assumed-role session the effective principal is the session while
|
|
24
|
+
* `identityPolicyPrincipal` is the Role whose policies apply, exactly as
|
|
25
|
+
* `SimIamCredentialIdentity` distinguishes them.
|
|
26
|
+
*/
|
|
27
|
+
export declare class SimAwsRequestCaller {
|
|
28
|
+
readonly principal: SimAwsPrincipal;
|
|
29
|
+
readonly identityPolicyPrincipal: SimAwsPrincipal;
|
|
30
|
+
readonly authMethod: SimAwsRequestAuthMethod;
|
|
31
|
+
constructor(properties: SimAwsRequestCallerProperties);
|
|
32
|
+
/**
|
|
33
|
+
* The caller of a request that carried no identity at all.
|
|
34
|
+
*/
|
|
35
|
+
static anonymous(): SimAwsRequestCaller;
|
|
36
|
+
/**
|
|
37
|
+
* The principal in the form the `x-sim-aws-caller` header accepts.
|
|
38
|
+
*/
|
|
39
|
+
toHeaderValue(): string;
|
|
40
|
+
/**
|
|
41
|
+
* This caller in the form simulated services pass to IAM authorization.
|
|
42
|
+
*
|
|
43
|
+
* The identity-policy principal travels with it, so an assumed-role session
|
|
44
|
+
* is authorized against the Role behind it rather than against a session ARN
|
|
45
|
+
* that owns no policies.
|
|
46
|
+
*/
|
|
47
|
+
toCaller(): SimAwsCaller;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=sim-aws-request-caller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-caller.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzE,UAAU,6BAA6B;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,uBAAuB,EAAE,eAAe,CAAC;IACzD,SAAgB,UAAU,EAAE,uBAAuB,CAAC;IAEpD,YAAY,UAAU,EAAE,6BAA6B,EAKpD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAKtC;IAED;;OAEG;IACH,aAAa,IAAI,MAAM,CAEtB;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,YAAY,CAMvB;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { simAwsCallerHeaderValue } from "./sim-aws-caller-header.js";
|
|
2
|
+
/**
|
|
3
|
+
* The principal a request into simulated AWS is attributed to.
|
|
4
|
+
*
|
|
5
|
+
* An unauthenticated request is anonymous and never the Account root. In
|
|
6
|
+
* process an omitted caller means "whoever owns this simulation", which is a
|
|
7
|
+
* convenience; over HTTP the same default would hand administrator rights to
|
|
8
|
+
* anyone who could reach the port, so the boundary refuses to make that
|
|
9
|
+
* assumption.
|
|
10
|
+
*
|
|
11
|
+
* For an assumed-role session the effective principal is the session while
|
|
12
|
+
* `identityPolicyPrincipal` is the Role whose policies apply, exactly as
|
|
13
|
+
* `SimIamCredentialIdentity` distinguishes them.
|
|
14
|
+
*/
|
|
15
|
+
export class SimAwsRequestCaller {
|
|
16
|
+
principal;
|
|
17
|
+
identityPolicyPrincipal;
|
|
18
|
+
authMethod;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.principal = properties.principal;
|
|
21
|
+
this.identityPolicyPrincipal =
|
|
22
|
+
properties.identityPolicyPrincipal ?? properties.principal;
|
|
23
|
+
this.authMethod = properties.authMethod;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The caller of a request that carried no identity at all.
|
|
27
|
+
*/
|
|
28
|
+
static anonymous() {
|
|
29
|
+
return new SimAwsRequestCaller({
|
|
30
|
+
principal: { kind: "anonymous" },
|
|
31
|
+
authMethod: "none",
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The principal in the form the `x-sim-aws-caller` header accepts.
|
|
36
|
+
*/
|
|
37
|
+
toHeaderValue() {
|
|
38
|
+
return simAwsCallerHeaderValue(this.principal);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* This caller in the form simulated services pass to IAM authorization.
|
|
42
|
+
*
|
|
43
|
+
* The identity-policy principal travels with it, so an assumed-role session
|
|
44
|
+
* is authorized against the Role behind it rather than against a session ARN
|
|
45
|
+
* that owns no policies.
|
|
46
|
+
*/
|
|
47
|
+
toCaller() {
|
|
48
|
+
return {
|
|
49
|
+
kind: "resolved",
|
|
50
|
+
principal: this.principal,
|
|
51
|
+
identityPolicyPrincipal: this.identityPolicyPrincipal,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sim-aws-request-caller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-request-caller.js","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAgBrE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IACd,SAAS,CAAkB;IAC3B,uBAAuB,CAAkB;IACzC,UAAU,CAA0B;IAEpD,YAAY,UAAyC;QACnD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,uBAAuB;YAC1B,UAAU,CAAC,uBAAuB,IAAI,UAAU,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,mBAAmB,CAAC;YAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAChC,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACtD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order strings by their code units, which is what SigV4 means by sorted.
|
|
3
|
+
*
|
|
4
|
+
* A locale-aware comparison is not interchangeable here: it treats punctuation
|
|
5
|
+
* and case as secondary, so it can order `a-b` and `a` the other way round from
|
|
6
|
+
* the signer and produce a canonical form that never matches.
|
|
7
|
+
*/
|
|
8
|
+
export declare function compareSigV4ByteOrder(a: string, b: string): number;
|
|
9
|
+
//# sourceMappingURL=sigv4-byte-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4-byte-order.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sigv4-byte-order.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order strings by their code units, which is what SigV4 means by sorted.
|
|
3
|
+
*
|
|
4
|
+
* A locale-aware comparison is not interchangeable here: it treats punctuation
|
|
5
|
+
* and case as secondary, so it can order `a-b` and `a` the other way round from
|
|
6
|
+
* the signer and produce a canonical form that never matches.
|
|
7
|
+
*/
|
|
8
|
+
export function compareSigV4ByteOrder(a, b) {
|
|
9
|
+
if (a === b) {
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
return a < b ? -1 : 1;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sigv4-byte-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4-byte-order.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sigv4-byte-order.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACxD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the canonical headers and signed header list of a signed request.
|
|
3
|
+
*
|
|
4
|
+
* Only the headers the signer listed are canonicalized, whatever else the
|
|
5
|
+
* request carries. Each value is trimmed and its runs of whitespace collapsed,
|
|
6
|
+
* which is what makes a signature survive the whitespace normalization a proxy
|
|
7
|
+
* or HTTP client is entitled to apply.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimIamSigV4CanonicalHeaders {
|
|
10
|
+
private readonly names;
|
|
11
|
+
private readonly lines;
|
|
12
|
+
constructor(headers: Headers, signedHeaderNames: readonly string[], url: URL);
|
|
13
|
+
/**
|
|
14
|
+
* The canonical headers block, one `name:value` line per signed header.
|
|
15
|
+
*/
|
|
16
|
+
toString(): string;
|
|
17
|
+
/**
|
|
18
|
+
* The signed header names, in the order they are canonicalized.
|
|
19
|
+
*/
|
|
20
|
+
signedHeaderList(): string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-headers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-headers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C,YACE,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,GAAG,EAAE,GAAG,EAMT;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAEzB;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SimIamSignatureDoesNotMatch } from "../error/sim-iam-sigv4.error.js";
|
|
2
|
+
import { compareSigV4ByteOrder } from "./sigv4-byte-order.js";
|
|
3
|
+
/**
|
|
4
|
+
* Build the canonical headers and signed header list of a signed request.
|
|
5
|
+
*
|
|
6
|
+
* Only the headers the signer listed are canonicalized, whatever else the
|
|
7
|
+
* request carries. Each value is trimmed and its runs of whitespace collapsed,
|
|
8
|
+
* which is what makes a signature survive the whitespace normalization a proxy
|
|
9
|
+
* or HTTP client is entitled to apply.
|
|
10
|
+
*/
|
|
11
|
+
export class SimIamSigV4CanonicalHeaders {
|
|
12
|
+
names;
|
|
13
|
+
lines;
|
|
14
|
+
constructor(headers, signedHeaderNames, url) {
|
|
15
|
+
this.names = signedHeaderNames.toSorted(compareSigV4ByteOrder);
|
|
16
|
+
this.lines = this.names.map((name) => `${name}:${canonicalValue(headers, name, url)}`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The canonical headers block, one `name:value` line per signed header.
|
|
20
|
+
*/
|
|
21
|
+
toString() {
|
|
22
|
+
return this.lines.join("\n");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The signed header names, in the order they are canonicalized.
|
|
26
|
+
*/
|
|
27
|
+
signedHeaderList() {
|
|
28
|
+
return this.names.join(";");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function canonicalValue(headers, name, url) {
|
|
32
|
+
const value = headers.get(name) ?? impliedValue(name, url);
|
|
33
|
+
if (value === undefined) {
|
|
34
|
+
throw new SimIamSignatureDoesNotMatch(`Request does not carry signed header ${name}, so the signature ` +
|
|
35
|
+
`cannot be reproduced`);
|
|
36
|
+
}
|
|
37
|
+
return value.trim().replaceAll(/\s+/g, " ");
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Supply a signed header the request implies rather than carries.
|
|
41
|
+
*
|
|
42
|
+
* Host is always signed but is not always readable as a header, since some HTTP
|
|
43
|
+
* clients own it. The URL the request was made to says the same thing.
|
|
44
|
+
*/
|
|
45
|
+
function impliedValue(name, url) {
|
|
46
|
+
return name === "host" ? url.host : undefined;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-headers.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IACrB,KAAK,CAAoB;IACzB,KAAK,CAAoB;IAE1C,YACE,OAAgB,EAChB,iBAAoC,EACpC,GAAQ;QAER,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CACzB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,GAAQ;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,2BAA2B,CACnC,wCAAwC,IAAI,qBAAqB;YAC/D,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,GAAQ;IAC1C,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the canonical URI of a signed request.
|
|
3
|
+
*
|
|
4
|
+
* The path is normalized, dropping empty and `.` segments and resolving `..`,
|
|
5
|
+
* and then encoded a second time. The already-encoded path arriving in the
|
|
6
|
+
* request is the first encoding, which is why a literal `/` in a path segment
|
|
7
|
+
* and a separator are still distinguishable here.
|
|
8
|
+
*
|
|
9
|
+
* S3 is the exception on real AWS: it signs the path singly encoded. Only
|
|
10
|
+
* doubly encoded services are supported for now, which is every service the
|
|
11
|
+
* simulator serves.
|
|
12
|
+
*/
|
|
13
|
+
export declare function simIamSigV4CanonicalPath(path: string): string;
|
|
14
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-path.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB7D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { escapeSigV4Uri } from "../sigv4-uri-escape.js";
|
|
2
|
+
/**
|
|
3
|
+
* Build the canonical URI of a signed request.
|
|
4
|
+
*
|
|
5
|
+
* The path is normalized, dropping empty and `.` segments and resolving `..`,
|
|
6
|
+
* and then encoded a second time. The already-encoded path arriving in the
|
|
7
|
+
* request is the first encoding, which is why a literal `/` in a path segment
|
|
8
|
+
* and a separator are still distinguishable here.
|
|
9
|
+
*
|
|
10
|
+
* S3 is the exception on real AWS: it signs the path singly encoded. Only
|
|
11
|
+
* doubly encoded services are supported for now, which is every service the
|
|
12
|
+
* simulator serves.
|
|
13
|
+
*/
|
|
14
|
+
export function simIamSigV4CanonicalPath(path) {
|
|
15
|
+
const segments = [];
|
|
16
|
+
for (const segment of path.split("/")) {
|
|
17
|
+
if (segment.length === 0 || segment === ".") {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (segment === "..") {
|
|
21
|
+
segments.pop();
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
segments.push(segment);
|
|
25
|
+
}
|
|
26
|
+
const leadingSlash = path.startsWith("/") ? "/" : "";
|
|
27
|
+
const trailingSlash = segments.length > 0 && path.endsWith("/") ? "/" : "";
|
|
28
|
+
const normalized = `${leadingSlash}${segments.join("/")}${trailingSlash}`;
|
|
29
|
+
return escapeSigV4Uri(normalized).replaceAll("%2F", "/");
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-path.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC;IAE1E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the canonical query string of a signed request.
|
|
3
|
+
*
|
|
4
|
+
* Parameters are ordered by their encoded key, and a repeated key's values are
|
|
5
|
+
* ordered among themselves. Sorting whole `key=value` pairs instead would not
|
|
6
|
+
* be the same thing: `-` sorts before `=`, so a key such as `a-b` would
|
|
7
|
+
* overtake a shorter key `a` that it must follow.
|
|
8
|
+
*
|
|
9
|
+
* The raw search string is parsed here rather than being handed to
|
|
10
|
+
* URLSearchParams, which applies form decoding and would read a literal `+` as
|
|
11
|
+
* a space. A query string is not a form: SigV4 signs `+` as the character it
|
|
12
|
+
* is, so decoding it to a space would canonicalize a different request from the
|
|
13
|
+
* one the client signed.
|
|
14
|
+
*
|
|
15
|
+
* The signature parameter itself is left out, as it cannot be part of what it
|
|
16
|
+
* signs. Header-signed requests never carry it, but presigned URLs do.
|
|
17
|
+
*/
|
|
18
|
+
export declare function simIamSigV4CanonicalQuery(search: string): string;
|
|
19
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-query.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA6BhE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { escapeSigV4Uri } from "../sigv4-uri-escape.js";
|
|
2
|
+
import { compareSigV4ByteOrder } from "./sigv4-byte-order.js";
|
|
3
|
+
const signatureParameter = "x-amz-signature";
|
|
4
|
+
/**
|
|
5
|
+
* Build the canonical query string of a signed request.
|
|
6
|
+
*
|
|
7
|
+
* Parameters are ordered by their encoded key, and a repeated key's values are
|
|
8
|
+
* ordered among themselves. Sorting whole `key=value` pairs instead would not
|
|
9
|
+
* be the same thing: `-` sorts before `=`, so a key such as `a-b` would
|
|
10
|
+
* overtake a shorter key `a` that it must follow.
|
|
11
|
+
*
|
|
12
|
+
* The raw search string is parsed here rather than being handed to
|
|
13
|
+
* URLSearchParams, which applies form decoding and would read a literal `+` as
|
|
14
|
+
* a space. A query string is not a form: SigV4 signs `+` as the character it
|
|
15
|
+
* is, so decoding it to a space would canonicalize a different request from the
|
|
16
|
+
* one the client signed.
|
|
17
|
+
*
|
|
18
|
+
* The signature parameter itself is left out, as it cannot be part of what it
|
|
19
|
+
* signs. Header-signed requests never carry it, but presigned URLs do.
|
|
20
|
+
*/
|
|
21
|
+
export function simIamSigV4CanonicalQuery(search) {
|
|
22
|
+
const pairsByKey = new Map();
|
|
23
|
+
for (const pair of searchPairs(search)) {
|
|
24
|
+
const key = decodeQueryPart(pair.key);
|
|
25
|
+
if (key.toLowerCase() === signatureParameter) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const encodedKey = escapeSigV4Uri(key);
|
|
29
|
+
const encoded = `${encodedKey}=${escapeSigV4Uri(decodeQueryPart(pair.value))}`;
|
|
30
|
+
pairsByKey.set(encodedKey, [
|
|
31
|
+
...(pairsByKey.get(encodedKey) ?? []),
|
|
32
|
+
encoded,
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
return pairsByKey
|
|
36
|
+
.keys()
|
|
37
|
+
.toArray()
|
|
38
|
+
.toSorted(compareSigV4ByteOrder)
|
|
39
|
+
.map((encodedKey) => (pairsByKey.get(encodedKey) ?? [])
|
|
40
|
+
.toSorted(compareSigV4ByteOrder)
|
|
41
|
+
.join("&"))
|
|
42
|
+
.join("&");
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Split a raw search string into its key and value parts, still encoded.
|
|
46
|
+
*
|
|
47
|
+
* A parameter with no `=` has an empty value, which is how it is canonicalized
|
|
48
|
+
* too.
|
|
49
|
+
*/
|
|
50
|
+
function searchPairs(search) {
|
|
51
|
+
const query = search.startsWith("?") ? search.slice(1) : search;
|
|
52
|
+
const pairs = [];
|
|
53
|
+
for (const pair of query.split("&")) {
|
|
54
|
+
if (pair.length === 0) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const separator = pair.indexOf("=");
|
|
58
|
+
pairs.push(separator === -1
|
|
59
|
+
? { key: pair, value: "" }
|
|
60
|
+
: { key: pair.slice(0, separator), value: pair.slice(separator + 1) });
|
|
61
|
+
}
|
|
62
|
+
return pairs;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Percent-decode one part of a query string.
|
|
66
|
+
*
|
|
67
|
+
* A part that is not validly encoded is used as it arrived: it cannot be
|
|
68
|
+
* decoded, and the client signed those characters as they are.
|
|
69
|
+
*/
|
|
70
|
+
function decodeQueryPart(part) {
|
|
71
|
+
try {
|
|
72
|
+
return decodeURIComponent(part);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return part;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-query.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAE/E,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE;YACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU;SACd,IAAI,EAAE;SACN,OAAO,EAAE;SACT,QAAQ,CAAC,qBAAqB,CAAC;SAC/B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAClB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC/B,QAAQ,CAAC,qBAAqB,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CACb;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAOD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,CAAC,IAAI,CACR,SAAS,KAAK,CAAC,CAAC;YACd,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimIamSigV4SignedRequest } from "../sim-iam-sigv4-signed-request.js";
|
|
2
|
+
/**
|
|
3
|
+
* The canonical form of a signed request: the exact bytes a signature is made
|
|
4
|
+
* over.
|
|
5
|
+
*
|
|
6
|
+
* Rebuilding this from the request as received, and getting the same signature
|
|
7
|
+
* out, is the whole of SigV4 verification. Anything the canonical form covers
|
|
8
|
+
* cannot be altered in transit without detection, and anything it leaves out
|
|
9
|
+
* can be.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimIamSigV4CanonicalRequest {
|
|
12
|
+
private readonly canonicalHeaders;
|
|
13
|
+
private readonly signedRequest;
|
|
14
|
+
constructor(signedRequest: SimIamSigV4SignedRequest, signedHeaderNames: readonly string[]);
|
|
15
|
+
/**
|
|
16
|
+
* The canonical request string, ready to be hashed into a string to sign.
|
|
17
|
+
*/
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-request.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IAEzD,YACE,aAAa,EAAE,wBAAwB,EACvC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EAQrC;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAWjB;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SimIamSigV4CanonicalHeaders } from "./sim-iam-sigv4-canonical-headers.js";
|
|
2
|
+
import { simIamSigV4CanonicalPath } from "./sim-iam-sigv4-canonical-path.js";
|
|
3
|
+
import { simIamSigV4CanonicalQuery } from "./sim-iam-sigv4-canonical-query.js";
|
|
4
|
+
import { simIamSigV4PayloadHash } from "./sim-iam-sigv4-payload-hash.js";
|
|
5
|
+
/**
|
|
6
|
+
* The canonical form of a signed request: the exact bytes a signature is made
|
|
7
|
+
* over.
|
|
8
|
+
*
|
|
9
|
+
* Rebuilding this from the request as received, and getting the same signature
|
|
10
|
+
* out, is the whole of SigV4 verification. Anything the canonical form covers
|
|
11
|
+
* cannot be altered in transit without detection, and anything it leaves out
|
|
12
|
+
* can be.
|
|
13
|
+
*/
|
|
14
|
+
export class SimIamSigV4CanonicalRequest {
|
|
15
|
+
canonicalHeaders;
|
|
16
|
+
signedRequest;
|
|
17
|
+
constructor(signedRequest, signedHeaderNames) {
|
|
18
|
+
this.signedRequest = signedRequest;
|
|
19
|
+
this.canonicalHeaders = new SimIamSigV4CanonicalHeaders(signedRequest.headers, signedHeaderNames, signedRequest.url);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The canonical request string, ready to be hashed into a string to sign.
|
|
23
|
+
*/
|
|
24
|
+
toString() {
|
|
25
|
+
const { method, url, headers, body } = this.signedRequest;
|
|
26
|
+
return [
|
|
27
|
+
method.toUpperCase(),
|
|
28
|
+
simIamSigV4CanonicalPath(url.pathname),
|
|
29
|
+
simIamSigV4CanonicalQuery(url.search),
|
|
30
|
+
`${this.canonicalHeaders.toString()}\n`,
|
|
31
|
+
this.canonicalHeaders.signedHeaderList(),
|
|
32
|
+
simIamSigV4PayloadHash(headers, body),
|
|
33
|
+
].join("\n");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sim-iam-sigv4-canonical-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-canonical-request.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,gBAAgB,CAA8B;IAC9C,aAAa,CAA2B;IAEzD,YACE,aAAuC,EACvC,iBAAoC;QAEpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAA2B,CACrD,aAAa,CAAC,OAAO,EACrB,iBAAiB,EACjB,aAAa,CAAC,GAAG,CAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAE1D,OAAO;YACL,MAAM,CAAC,WAAW,EAAE;YACpB,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC;YACrC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI;YACvC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACxC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC;SACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const simIamSigV4UnsignedPayload = "UNSIGNED-PAYLOAD";
|
|
2
|
+
/**
|
|
3
|
+
* Work out the payload hash a signed request was signed with, and check the
|
|
4
|
+
* body it arrived with is the body it claims.
|
|
5
|
+
*
|
|
6
|
+
* A signer states the payload hash in `x-amz-content-sha256`, and that header
|
|
7
|
+
* is itself signed, so the claim cannot be altered without breaking the
|
|
8
|
+
* signature. The claim still has to be checked against the bytes received:
|
|
9
|
+
* without that, a signature would cover only the client's assertion about the
|
|
10
|
+
* body, and the body could be replaced freely.
|
|
11
|
+
*
|
|
12
|
+
* `UNSIGNED-PAYLOAD` is the one declaration that deliberately leaves the body
|
|
13
|
+
* uncovered, and is honoured. Any other non-digest value, including the
|
|
14
|
+
* streaming markers that chunked uploads use, is refused rather than passed
|
|
15
|
+
* through: accepting one would mean serving a request whose body nothing had
|
|
16
|
+
* checked, which is worse than saying the simulator does not support it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function simIamSigV4PayloadHash(headers: Headers, body: Uint8Array | undefined): string;
|
|
19
|
+
//# sourceMappingURL=sim-iam-sigv4-payload-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-iam-sigv4-payload-hash.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAW7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,MAAM,CA6BR"}
|