@kensio/yulin 0.37.0 → 0.39.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/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +6 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/serve/controller/sim-service-controller.d.ts +13 -0
- package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
- package/dist/serve/controller/sim-service-controller.js.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.js +5 -1
- package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.d.ts +31 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.js +31 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +18 -21
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +36 -29
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +10 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +12 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +5 -0
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +6 -0
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +5 -0
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +6 -0
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws-request-authentication.d.ts +35 -0
- package/dist/service/aws/sim-aws-request-authentication.d.ts.map +1 -0
- package/dist/service/aws/sim-aws-request-authentication.js +32 -0
- package/dist/service/aws/sim-aws-request-authentication.js.map +1 -0
- package/dist/service/aws/sim-aws.d.ts +12 -21
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +21 -26
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +21 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +17 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts +26 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js +26 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts +25 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js +34 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts +7 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js +14 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts +24 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts +11 -2
- 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 +24 -71
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js +1 -1
- package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +6 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +56 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +66 -0
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +7 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +11 -1
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +17 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +24 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +10 -0
- 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 +3 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +6 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +25 -16
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +2 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +2 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +39 -0
- package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-principal-match.js +55 -0
- package/dist/service/iam/authorize/match/sim-iam-principal-match.js.map +1 -0
- package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.js +3 -2
- package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
- package/dist/service/iam/index.d.ts +1 -0
- package/dist/service/iam/index.d.ts.map +1 -1
- package/dist/service/iam/index.js +1 -0
- package/dist/service/iam/index.js.map +1 -1
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +21 -5
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -1
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js +15 -9
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +3 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +6 -4
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +34 -14
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +56 -29
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +13 -1
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -1
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +14 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -1
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts +25 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js +41 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts +27 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js +41 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts +39 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js +59 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts +30 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts.map +1 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js +64 -0
- package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +2 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +22 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +49 -7
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +9 -2
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +5 -5
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts +16 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js +2 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +12 -3
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +9 -5
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +20 -4
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -1
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +52 -6
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -1
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +25 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +36 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts +32 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js +35 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +36 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +53 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts +57 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +74 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +49 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +72 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts +56 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js +95 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +23 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +34 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -0
- package/dist/service/kms/command/alias/alias.command.d.ts +43 -0
- package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -0
- package/dist/service/kms/command/alias/alias.command.js +2 -0
- package/dist/service/kms/command/alias/alias.command.js.map +1 -0
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +34 -0
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -0
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js +56 -0
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +38 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js +58 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -0
- package/dist/service/kms/command/crypto/crypto.command.d.ts +68 -0
- package/dist/service/kms/command/crypto/crypto.command.d.ts.map +1 -0
- package/dist/service/kms/command/crypto/crypto.command.js +2 -0
- package/dist/service/kms/command/crypto/crypto.command.js.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts +40 -0
- package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js +58 -0
- package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +38 -0
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +74 -0
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts +16 -0
- package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js +50 -0
- package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +31 -0
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -0
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +35 -0
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -0
- package/dist/service/kms/command/key/key.command.d.ts +159 -0
- package/dist/service/kms/command/key/key.command.d.ts.map +1 -0
- package/dist/service/kms/command/key/key.command.js +2 -0
- package/dist/service/kms/command/key/key.command.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +41 -0
- package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-commands.js +45 -0
- package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +48 -0
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +67 -0
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +39 -0
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +57 -0
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-type.d.ts +14 -0
- package/dist/service/kms/command/key/sim-kms-key-type.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-key-type.js +31 -0
- package/dist/service/kms/command/key/sim-kms-key-type.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +29 -0
- package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-list-keys.js +31 -0
- package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -0
- package/dist/service/kms/command/key/sim-kms-pending-window.d.ts +17 -0
- package/dist/service/kms/command/key/sim-kms-pending-window.d.ts.map +1 -0
- package/dist/service/kms/command/key/sim-kms-pending-window.js +37 -0
- package/dist/service/kms/command/key/sim-kms-pending-window.js.map +1 -0
- package/dist/service/kms/command/sim-kms-command.types.d.ts +10 -0
- package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -0
- package/dist/service/kms/command/sim-kms-command.types.js +2 -0
- package/dist/service/kms/command/sim-kms-command.types.js.map +1 -0
- package/dist/service/kms/error/sim-kms.error.d.ts +88 -0
- package/dist/service/kms/error/sim-kms.error.d.ts.map +1 -0
- package/dist/service/kms/error/sim-kms.error.js +101 -0
- package/dist/service/kms/error/sim-kms.error.js.map +1 -0
- package/dist/service/kms/index.d.ts +8 -0
- package/dist/service/kms/index.d.ts.map +1 -0
- package/dist/service/kms/index.js +6 -0
- package/dist/service/kms/index.js.map +1 -0
- package/dist/service/kms/key/sim-kms-alias.d.ts +45 -0
- package/dist/service/kms/key/sim-kms-alias.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-alias.js +59 -0
- package/dist/service/kms/key/sim-kms-alias.js.map +1 -0
- package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts +43 -0
- package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-ciphertext-blob.js +89 -0
- package/dist/service/kms/key/sim-kms-ciphertext-blob.js.map +1 -0
- package/dist/service/kms/key/sim-kms-encryption-context.d.ts +34 -0
- package/dist/service/kms/key/sim-kms-encryption-context.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-encryption-context.js +39 -0
- package/dist/service/kms/key/sim-kms-encryption-context.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-factory.d.ts +36 -0
- package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-factory.js +47 -0
- package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-identifier.d.ts +44 -0
- package/dist/service/kms/key/sim-kms-key-identifier.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-identifier.js +81 -0
- package/dist/service/kms/key/sim-kms-key-identifier.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts +71 -0
- package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-lifecycle.js +106 -0
- package/dist/service/kms/key/sim-kms-key-lifecycle.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-material.d.ts +36 -0
- package/dist/service/kms/key/sim-kms-key-material.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-material.js +74 -0
- package/dist/service/kms/key/sim-kms-key-material.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-metadata.d.ts +45 -0
- package/dist/service/kms/key/sim-kms-key-metadata.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-metadata.js +44 -0
- package/dist/service/kms/key/sim-kms-key-metadata.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-policy.d.ts +45 -0
- package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-policy.js +69 -0
- package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-store.d.ts +66 -0
- package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key-store.js +121 -0
- package/dist/service/kms/key/sim-kms-key-store.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key.d.ts +88 -0
- package/dist/service/kms/key/sim-kms-key.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-key.js +106 -0
- package/dist/service/kms/key/sim-kms-key.js.map +1 -0
- package/dist/service/kms/key/sim-kms-policy-document.d.ts +30 -0
- package/dist/service/kms/key/sim-kms-policy-document.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-policy-document.js +54 -0
- package/dist/service/kms/key/sim-kms-policy-document.js.map +1 -0
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts +18 -0
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -0
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +80 -0
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -0
- package/dist/service/kms/sim-kms.d.ts +120 -0
- package/dist/service/kms/sim-kms.d.ts.map +1 -0
- package/dist/service/kms/sim-kms.js +205 -0
- package/dist/service/kms/sim-kms.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 +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts +6 -0
- package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-code-resolver.js +1 -0
- package/dist/service/lambda/function/code/sim-lambda-code-resolver.js.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +15 -0
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +5 -0
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts +3 -0
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js +3 -0
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +11 -0
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts.map +1 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +7 -2
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js.map +1 -1
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +6 -5
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts.map +1 -1
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +10 -5
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts +53 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts.map +1 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js +101 -0
- package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js.map +1 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts +8 -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/serve/sim-lambda-url-router.js +1 -1
- package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +14 -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 +38 -0
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
- package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts +7 -0
- package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js +73 -0
- package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts +61 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js +57 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts +19 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js +28 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts +18 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js +35 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts +11 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts.map +1 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js +34 -0
- package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js.map +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts +9 -0
- package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts.map +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket-arn.js +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-arn.js.map +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +25 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +34 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts +16 -0
- package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts.map +1 -0
- package/dist/service/s3/bucket/sim-s3-endpoint-url.js +19 -0
- package/dist/service/s3/bucket/sim-s3-endpoint-url.js.map +1 -0
- package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts +13 -0
- package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts.map +1 -0
- package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js +36 -0
- package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +27 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +92 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -0
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +32 -0
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +55 -0
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js.map +1 -0
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -4
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +10 -61
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +11 -0
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts.map +1 -0
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js +22 -0
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts +23 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +36 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts +20 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js +2 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts +32 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js +37 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js.map +1 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts +20 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts.map +1 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js +2 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js.map +1 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts.map +1 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js +35 -0
- package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts +20 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +33 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js +2 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts +29 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts.map +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js +40 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js.map +1 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts +22 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts.map +1 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js +2 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js.map +1 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts +32 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts.map +1 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js +39 -0
- package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js.map +1 -0
- package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts +31 -0
- package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +48 -0
- package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +7 -6
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -1
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts +22 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts.map +1 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js +2 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js.map +1 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts +33 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts.map +1 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js +40 -0
- package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js.map +1 -0
- package/dist/service/s3/command/require-sim-s3-bucket.d.ts +10 -0
- package/dist/service/s3/command/require-sim-s3-bucket.d.ts.map +1 -0
- package/dist/service/s3/command/require-sim-s3-bucket.js +16 -0
- package/dist/service/s3/command/require-sim-s3-bucket.js.map +1 -0
- package/dist/service/s3/command/sim-s3-command-handlers.d.ts +91 -0
- package/dist/service/s3/command/sim-s3-command-handlers.d.ts.map +1 -0
- package/dist/service/s3/command/sim-s3-command-handlers.js +115 -0
- package/dist/service/s3/command/sim-s3-command-handlers.js.map +1 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +19 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -0
- package/dist/service/s3/command/sim-s3-command.types.js +8 -0
- package/dist/service/s3/command/sim-s3-command.types.js.map +1 -0
- package/dist/service/s3/error/sim-s3-checksum.error.d.ts +28 -0
- package/dist/service/s3/error/sim-s3-checksum.error.d.ts.map +1 -0
- package/dist/service/s3/error/sim-s3-checksum.error.js +32 -0
- package/dist/service/s3/error/sim-s3-checksum.error.js.map +1 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +20 -0
- package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.js +24 -0
- package/dist/service/s3/error/sim-s3.error.js.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +20 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts +40 -0
- package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-bucket-locator.js +59 -0
- package/dist/service/s3/serve/sim-s3-bucket-locator.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-controller.d.ts +7 -0
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +14 -2
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts +40 -6
- package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-get-object-controller.js +80 -49
- package/dist/service/s3/serve/sim-s3-get-object-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-object-address.d.ts +42 -0
- package/dist/service/s3/serve/sim-s3-object-address.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-object-address.js +66 -0
- package/dist/service/s3/serve/sim-s3-object-address.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-request-router.d.ts +18 -13
- package/dist/service/s3/serve/sim-s3-request-router.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-request-router.js +72 -48
- package/dist/service/s3/serve/sim-s3-request-router.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +36 -0
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-controller.js +92 -0
- package/dist/service/s3/serve/sim-s3-rest-controller.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts +28 -0
- package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-error-response.js +63 -0
- package/dist/service/s3/serve/sim-s3-rest-error-response.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts +7 -0
- package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-refusal.js +18 -0
- package/dist/service/s3/serve/sim-s3-rest-refusal.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-route.d.ts +40 -0
- package/dist/service/s3/serve/sim-s3-route.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-route.js +7 -0
- package/dist/service/s3/serve/sim-s3-route.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts +27 -0
- package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts.map +1 -0
- package/dist/service/s3/serve/sim-s3-upload-checksum.js +86 -0
- package/dist/service/s3/serve/sim-s3-upload-checksum.js.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts +51 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +75 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +18 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +28 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts +27 -0
- package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts.map +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-responses.js +44 -0
- package/dist/service/s3/serve/website/sim-s3-website-responses.js.map +1 -0
- package/dist/service/s3/sim-s3.d.ts +34 -9
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +65 -55
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts +22 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js +47 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +24 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +38 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +54 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +82 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts +58 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js +122 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +24 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +31 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts +29 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +47 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/secret.command.d.ts +144 -0
- package/dist/service/secretsmanager/command/secret/secret.command.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/secret.command.js +2 -0
- package/dist/service/secretsmanager/command/secret/secret.command.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts +44 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js +61 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts +44 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js +61 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +48 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +62 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts +26 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js +38 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts +29 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js +55 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +46 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +67 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts +6 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js +2 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js.map +1 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +39 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +61 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/value/value.command.d.ts +47 -0
- package/dist/service/secretsmanager/command/value/value.command.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/value/value.command.js +2 -0
- package/dist/service/secretsmanager/command/value/value.command.js.map +1 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +55 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +60 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -0
- package/dist/service/secretsmanager/index.d.ts +7 -0
- package/dist/service/secretsmanager/index.d.ts.map +1 -0
- package/dist/service/secretsmanager/index.js +7 -0
- package/dist/service/secretsmanager/index.js.map +1 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts +19 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts.map +1 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js +57 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts +37 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js +70 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts +53 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js +65 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts +40 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js +66 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts +31 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js +52 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts +35 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js +64 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts +33 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js +60 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts +42 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js +64 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts +30 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js +32 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts +31 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js +35 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts +27 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js +48 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +23 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +50 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +53 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +92 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +47 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +81 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +56 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +62 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts +47 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js +83 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +75 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +86 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts +28 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js +43 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +42 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +60 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -0
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts +85 -0
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -0
- package/dist/service/secretsmanager/sim-secrets-manager.js +156 -0
- package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -0
- package/dist/util/clock/sim-clock-date.d.ts +20 -0
- package/dist/util/clock/sim-clock-date.d.ts.map +1 -0
- package/dist/util/clock/sim-clock-date.js +43 -0
- package/dist/util/clock/sim-clock-date.js.map +1 -0
- package/package.json +22 -11
|
@@ -1,73 +1,104 @@
|
|
|
1
|
+
import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
|
|
2
|
+
import { SimS3WebsiteObjectLoader } from "./website/sim-s3-website-object-loader.js";
|
|
3
|
+
import { SimS3WebsiteResponses } from "./website/sim-s3-website-responses.js";
|
|
1
4
|
/**
|
|
2
|
-
* Serves a simulated S3 Object over
|
|
5
|
+
* Serves a simulated S3 Object over the static website endpoint.
|
|
6
|
+
*
|
|
7
|
+
* Real S3 serves a website endpoint only what the Bucket policy makes readable,
|
|
8
|
+
* answering 403 for an Object that is not publicly readable. Objects are
|
|
9
|
+
* therefore read through the ordinary GetObject command, so a Bucket with no
|
|
10
|
+
* policy serves nothing to the browser that asks for a page.
|
|
11
|
+
*
|
|
12
|
+
* The reading is done as whoever the boundary resolved rather than always as
|
|
13
|
+
* anonymous, which is a deliberate divergence: a real website endpoint
|
|
14
|
+
* authenticates nothing, so an identity policy could never reach it there. It
|
|
15
|
+
* keeps the simulator's served services consistent with each other, at the cost
|
|
16
|
+
* of being looser than S3 for a request that names a principal.
|
|
3
17
|
*/
|
|
4
18
|
export class SimS3GetObjectController {
|
|
19
|
+
simAws;
|
|
20
|
+
responses = new SimS3WebsiteResponses();
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.simAws = properties.simAws;
|
|
23
|
+
}
|
|
5
24
|
/**
|
|
6
|
-
* Handle a GET request for an S3 Object via
|
|
25
|
+
* Handle a GET or HEAD request for an S3 Object via the website endpoint.
|
|
7
26
|
*/
|
|
8
|
-
async handleRequest(
|
|
27
|
+
async handleRequest(route, serviceRequest) {
|
|
28
|
+
const { bucket } = route;
|
|
9
29
|
const website = bucket.getWebsite();
|
|
30
|
+
const { request } = serviceRequest;
|
|
10
31
|
if (!website.websiteEnabled()) {
|
|
11
|
-
return
|
|
12
|
-
status: 403,
|
|
13
|
-
headers: {
|
|
14
|
-
"content-type": "text/plain; charset=utf-8",
|
|
15
|
-
},
|
|
16
|
-
});
|
|
32
|
+
return this.responses.websiteNotEnabled(bucket.bucketName);
|
|
17
33
|
}
|
|
18
34
|
if (website.redirectsAllRequests()) {
|
|
19
35
|
return website.redirectForRequestResponse(request, new Response(undefined));
|
|
20
36
|
}
|
|
21
|
-
const
|
|
22
|
-
return website.redirectForRequestResponse(request,
|
|
37
|
+
const loader = SimS3WebsiteObjectLoader.forRoute(this.simAws, route, serviceRequest);
|
|
38
|
+
return website.redirectForRequestResponse(request, await this.websiteResponse(route, request, loader));
|
|
23
39
|
}
|
|
24
|
-
async websiteResponse(
|
|
25
|
-
const
|
|
26
|
-
const websiteObjectKey =
|
|
27
|
-
const object = await
|
|
40
|
+
async websiteResponse(route, request, loader) {
|
|
41
|
+
const { bucket, objectKey } = route;
|
|
42
|
+
const websiteObjectKey = bucket.getWebsite().objectKeyForRequest(objectKey);
|
|
43
|
+
const object = await this.loadRequested(loader, websiteObjectKey);
|
|
44
|
+
if (object instanceof SimIamAccessDenied) {
|
|
45
|
+
return await this.deniedResponse(bucket, request, loader);
|
|
46
|
+
}
|
|
28
47
|
if (object !== undefined) {
|
|
29
|
-
return this.
|
|
48
|
+
return this.responses.foundObject(object, request);
|
|
30
49
|
}
|
|
50
|
+
return await this.missingResponse(route, request, loader, websiteObjectKey);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Answer a request for an Object the Bucket does not hold, which is either a
|
|
54
|
+
* folder needing a trailing slash, the error document, or a plain 404.
|
|
55
|
+
*/
|
|
56
|
+
async missingResponse(route, request, loader, websiteObjectKey) {
|
|
57
|
+
const { bucket, objectKey } = route;
|
|
58
|
+
const website = bucket.getWebsite();
|
|
31
59
|
const folderIndexDocumentKey = website.folderIndexDocumentKeyForRequest(objectKey);
|
|
32
|
-
if (folderIndexDocumentKey !== undefined
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return website.trailingSlashRedirect(request);
|
|
36
|
-
}
|
|
60
|
+
if (folderIndexDocumentKey !== undefined &&
|
|
61
|
+
(await loader.loadIfPermitted(folderIndexDocumentKey)) !== undefined) {
|
|
62
|
+
return website.trailingSlashRedirect(request);
|
|
37
63
|
}
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
64
|
+
const errorDocumentObject = await this.errorDocument(bucket, loader);
|
|
65
|
+
if (errorDocumentObject !== undefined) {
|
|
66
|
+
return this.responses.foundObject(errorDocumentObject, request, 404);
|
|
67
|
+
}
|
|
68
|
+
return this.responses.notFound(bucket.bucketName, websiteObjectKey);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Load the Object the visitor asked for, reporting a denial as a value so
|
|
72
|
+
* the caller can answer 403 rather than falling through to the 404 path.
|
|
73
|
+
*/
|
|
74
|
+
async loadRequested(loader, objectKey) {
|
|
75
|
+
try {
|
|
76
|
+
return await loader.load(objectKey);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (error instanceof SimIamAccessDenied) {
|
|
80
|
+
return error;
|
|
43
81
|
}
|
|
82
|
+
throw error;
|
|
44
83
|
}
|
|
45
|
-
return this.notFoundResponse(bucket, websiteObjectKey);
|
|
46
84
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
55
|
-
status,
|
|
56
|
-
headers,
|
|
57
|
-
});
|
|
85
|
+
/**
|
|
86
|
+
* Real S3 serves the custom error document for the whole 4XX class, so a
|
|
87
|
+
* denied request gets it too, provided the visitor may read it.
|
|
88
|
+
*/
|
|
89
|
+
async deniedResponse(bucket, request, loader) {
|
|
90
|
+
const errorDocumentObject = await this.errorDocument(bucket, loader);
|
|
91
|
+
if (errorDocumentObject !== undefined) {
|
|
92
|
+
return this.responses.foundObject(errorDocumentObject, request, 403);
|
|
58
93
|
}
|
|
59
|
-
return
|
|
60
|
-
status,
|
|
61
|
-
headers,
|
|
62
|
-
});
|
|
94
|
+
return this.responses.accessDenied(bucket.bucketName);
|
|
63
95
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
96
|
+
async errorDocument(bucket, loader) {
|
|
97
|
+
const errorDocumentKey = bucket.getWebsite().errorDocumentKey();
|
|
98
|
+
if (errorDocumentKey === undefined) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
return await loader.loadIfPermitted(errorDocumentKey);
|
|
71
102
|
}
|
|
72
103
|
}
|
|
73
104
|
//# sourceMappingURL=sim-s3-get-object-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-get-object-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-get-object-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-s3-get-object-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-get-object-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimAwsServiceTarget } from "../../../serve/controller/sim-service-controller.js";
|
|
2
|
+
import type { SimS3BucketName } from "../bucket/sim-s3-bucket.js";
|
|
3
|
+
/**
|
|
4
|
+
* A request path that is not valid percent-encoding, so names no Object.
|
|
5
|
+
*
|
|
6
|
+
* Real S3 answers this as a client error, and so does the simulator: a path
|
|
7
|
+
* such as `/reports/%zz` is the caller's mistake, not the simulator's, and
|
|
8
|
+
* letting the decoding failure escape as an internal error would say the
|
|
9
|
+
* opposite.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimS3UndecodableUri {
|
|
12
|
+
readonly pathname: string;
|
|
13
|
+
constructor(pathname: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Decode a request path into its Object key segments.
|
|
17
|
+
*
|
|
18
|
+
* Segments are decoded one at a time, because a key may itself contain an
|
|
19
|
+
* encoded slash and decoding the whole path first would split the key at a
|
|
20
|
+
* separator that was never there.
|
|
21
|
+
*/
|
|
22
|
+
export declare function simS3PathSegments(pathname: string): string[] | SimS3UndecodableUri;
|
|
23
|
+
/**
|
|
24
|
+
* Which Bucket and Object key an S3 REST request names.
|
|
25
|
+
*
|
|
26
|
+
* S3 has two ways of addressing the same Object. A virtual-hosted style request
|
|
27
|
+
* carries the Bucket in the hostname and nothing but the key in the path; a
|
|
28
|
+
* path style request carries both in the path. The AWS SDK picks between them
|
|
29
|
+
* for itself, so both have to be understood, and the request cannot be served
|
|
30
|
+
* until this is settled.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SimS3ObjectAddress {
|
|
33
|
+
readonly bucketName: SimS3BucketName;
|
|
34
|
+
readonly objectKey: string;
|
|
35
|
+
private constructor();
|
|
36
|
+
/**
|
|
37
|
+
* Read the address out of a REST request, or undefined when it names no
|
|
38
|
+
* Bucket at all.
|
|
39
|
+
*/
|
|
40
|
+
static fromRestRequest(target: SimAwsServiceTarget, url: URL): SimS3ObjectAddress | SimS3UndecodableUri | undefined;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sim-s3-object-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-object-address.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-object-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;GAOG;AACH,qBAAa,mBAAmB;aACF,QAAQ,EAAE,MAAM;IAA5C,YAA4B,QAAQ,EAAE,MAAM,EAAI;CACjD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,GAAG,mBAAmB,CAQhC;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,UAAU,EAAE,eAAe,CAAC;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,OAAO,eAGN;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,GAAG,GACP,kBAAkB,GAAG,mBAAmB,GAAG,SAAS,CAwBtD;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A request path that is not valid percent-encoding, so names no Object.
|
|
3
|
+
*
|
|
4
|
+
* Real S3 answers this as a client error, and so does the simulator: a path
|
|
5
|
+
* such as `/reports/%zz` is the caller's mistake, not the simulator's, and
|
|
6
|
+
* letting the decoding failure escape as an internal error would say the
|
|
7
|
+
* opposite.
|
|
8
|
+
*/
|
|
9
|
+
export class SimS3UndecodableUri {
|
|
10
|
+
pathname;
|
|
11
|
+
constructor(pathname) {
|
|
12
|
+
this.pathname = pathname;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Decode a request path into its Object key segments.
|
|
17
|
+
*
|
|
18
|
+
* Segments are decoded one at a time, because a key may itself contain an
|
|
19
|
+
* encoded slash and decoding the whole path first would split the key at a
|
|
20
|
+
* separator that was never there.
|
|
21
|
+
*/
|
|
22
|
+
export function simS3PathSegments(pathname) {
|
|
23
|
+
const encoded = pathname.replace(/^\/+/u, "").split("/");
|
|
24
|
+
try {
|
|
25
|
+
return encoded.map((segment) => decodeURIComponent(segment));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return new SimS3UndecodableUri(pathname);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Which Bucket and Object key an S3 REST request names.
|
|
33
|
+
*
|
|
34
|
+
* S3 has two ways of addressing the same Object. A virtual-hosted style request
|
|
35
|
+
* carries the Bucket in the hostname and nothing but the key in the path; a
|
|
36
|
+
* path style request carries both in the path. The AWS SDK picks between them
|
|
37
|
+
* for itself, so both have to be understood, and the request cannot be served
|
|
38
|
+
* until this is settled.
|
|
39
|
+
*/
|
|
40
|
+
export class SimS3ObjectAddress {
|
|
41
|
+
bucketName;
|
|
42
|
+
objectKey;
|
|
43
|
+
constructor(bucketName, objectKey) {
|
|
44
|
+
this.bucketName = bucketName;
|
|
45
|
+
this.objectKey = objectKey;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Read the address out of a REST request, or undefined when it names no
|
|
49
|
+
* Bucket at all.
|
|
50
|
+
*/
|
|
51
|
+
static fromRestRequest(target, url) {
|
|
52
|
+
const segments = simS3PathSegments(url.pathname);
|
|
53
|
+
if (segments instanceof SimS3UndecodableUri) {
|
|
54
|
+
return segments;
|
|
55
|
+
}
|
|
56
|
+
if (target.resourceName.length > 0) {
|
|
57
|
+
return new SimS3ObjectAddress(target.resourceName, segments.join("/"));
|
|
58
|
+
}
|
|
59
|
+
const bucketName = segments[0];
|
|
60
|
+
if (bucketName === undefined || bucketName.length === 0) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return new SimS3ObjectAddress(bucketName, segments.slice(1).join("/"));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=sim-s3-object-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-object-address.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-object-address.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACF,QAAQ;IAApC,YAA4B,QAAgB;wBAAhB,QAAQ;IAAW,CAAC;CACjD;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IACb,UAAU,CAAkB;IAC5B,SAAS,CAAS;IAElC,YAAoB,UAA2B,EAAE,SAAiB;QAChE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CACpB,MAA2B,EAC3B,GAAQ;QAER,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,QAAQ,YAAY,mBAAmB,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,kBAAkB,CAC3B,MAAM,CAAC,YAA+B,EACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,kBAAkB,CAC3B,UAA6B,EAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
import { SimAws } from "../../aws/sim-aws.js";
|
|
2
|
-
import type { SimS3Bucket } from "../bucket/sim-s3-bucket.js";
|
|
3
2
|
import type { SimAwsServiceTarget } from "../../../serve/controller/sim-service-controller.js";
|
|
4
|
-
|
|
5
|
-
readonly action: "getObject";
|
|
6
|
-
readonly bucket: SimS3Bucket;
|
|
7
|
-
readonly objectKey: string;
|
|
8
|
-
}
|
|
9
|
-
export interface SimS3RouteFailure {
|
|
10
|
-
readonly action: "failure";
|
|
11
|
-
readonly statusCode: number;
|
|
12
|
-
readonly message: string;
|
|
13
|
-
}
|
|
14
|
-
export type SimS3Route = SimS3GetObjectRoute | SimS3RouteFailure;
|
|
3
|
+
import { type SimS3Route } from "./sim-s3-route.js";
|
|
15
4
|
interface SimS3RequestRouterProperties {
|
|
16
5
|
readonly simAws?: SimAws;
|
|
17
6
|
}
|
|
18
7
|
/**
|
|
19
8
|
* Resolves HTTP requests into simulated S3 actions.
|
|
9
|
+
*
|
|
10
|
+
* Which endpoint the request arrived at decides what it can be: the website
|
|
11
|
+
* endpoint serves static sites and reads nothing but GET and HEAD, while the
|
|
12
|
+
* REST endpoint is the API, and only it accepts an upload or authenticates a
|
|
13
|
+
* caller. Real S3 draws the same line, and a test that could reach the API
|
|
14
|
+
* through a website hostname would prove something about a deployment that
|
|
15
|
+
* cannot happen.
|
|
20
16
|
*/
|
|
21
17
|
export declare class SimS3RequestRouter {
|
|
22
|
-
private readonly
|
|
18
|
+
private readonly buckets;
|
|
23
19
|
constructor(properties?: SimS3RequestRouterProperties);
|
|
24
20
|
/**
|
|
25
21
|
* Route an incoming service target and HTTP request to a simulated S3 action.
|
|
26
22
|
*/
|
|
27
23
|
route(target: SimAwsServiceTarget, request: Request): SimS3Route;
|
|
24
|
+
private websiteRoute;
|
|
25
|
+
/**
|
|
26
|
+
* Route a request that arrived at the REST API endpoint.
|
|
27
|
+
*
|
|
28
|
+
* Only the Object operations simulated S3 has are accepted. Anything else is
|
|
29
|
+
* refused as unsupported rather than answered with something plausible, so a
|
|
30
|
+
* gap in the simulation shows up in the test that found it.
|
|
31
|
+
*/
|
|
32
|
+
private restRoute;
|
|
28
33
|
}
|
|
29
34
|
export {};
|
|
30
35
|
//# sourceMappingURL=sim-s3-request-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-request-router.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-request-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-request-router.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-request-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,mBAAmB,CAAC;AAY3B,UAAU,4BAA4B;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YAAY,UAAU,GAAE,4BAAiC,EAGxD;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAY/D;IAED,OAAO,CAAC,YAAY;IAsCpB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CAoClB"}
|
|
@@ -1,73 +1,97 @@
|
|
|
1
1
|
import { SimAws } from "../../aws/sim-aws.js";
|
|
2
|
+
import { simS3RouteFailure as failure, } from "./sim-s3-route.js";
|
|
3
|
+
import { SimS3BucketLocator, SimS3BucketNotFound, } from "./sim-s3-bucket-locator.js";
|
|
4
|
+
import { SimS3ObjectAddress, simS3PathSegments, SimS3UndecodableUri, } from "./sim-s3-object-address.js";
|
|
5
|
+
import { simS3RestRefusal } from "./sim-s3-rest-refusal.js";
|
|
2
6
|
/**
|
|
3
7
|
* Resolves HTTP requests into simulated S3 actions.
|
|
8
|
+
*
|
|
9
|
+
* Which endpoint the request arrived at decides what it can be: the website
|
|
10
|
+
* endpoint serves static sites and reads nothing but GET and HEAD, while the
|
|
11
|
+
* REST endpoint is the API, and only it accepts an upload or authenticates a
|
|
12
|
+
* caller. Real S3 draws the same line, and a test that could reach the API
|
|
13
|
+
* through a website hostname would prove something about a deployment that
|
|
14
|
+
* cannot happen.
|
|
4
15
|
*/
|
|
5
16
|
export class SimS3RequestRouter {
|
|
6
|
-
|
|
17
|
+
buckets;
|
|
7
18
|
constructor(properties = {}) {
|
|
8
19
|
const { simAws = new SimAws() } = properties;
|
|
9
|
-
this.
|
|
20
|
+
this.buckets = new SimS3BucketLocator({ simAws });
|
|
10
21
|
}
|
|
11
22
|
/**
|
|
12
23
|
* Route an incoming service target and HTTP request to a simulated S3 action.
|
|
13
24
|
*/
|
|
14
25
|
route(target, request) {
|
|
26
|
+
const regionName = target.regionName;
|
|
27
|
+
if (regionName === undefined) {
|
|
28
|
+
return failure(400, "Missing S3 Bucket region\n");
|
|
29
|
+
}
|
|
30
|
+
if (target.endpoint === "rest") {
|
|
31
|
+
return this.restRoute(target, request, regionName);
|
|
32
|
+
}
|
|
33
|
+
return this.websiteRoute(target, request, regionName);
|
|
34
|
+
}
|
|
35
|
+
websiteRoute(target, request, regionName) {
|
|
15
36
|
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
16
|
-
return
|
|
17
|
-
action: "failure",
|
|
18
|
-
statusCode: 405,
|
|
19
|
-
message: "Method not allowed\n",
|
|
20
|
-
};
|
|
37
|
+
return failure(405, "Method not allowed\n");
|
|
21
38
|
}
|
|
22
39
|
if (target.resourceName.length === 0) {
|
|
23
|
-
return
|
|
24
|
-
action: "failure",
|
|
25
|
-
statusCode: 400,
|
|
26
|
-
message: "Missing S3 Bucket name\n",
|
|
27
|
-
};
|
|
40
|
+
return failure(400, "Missing S3 Bucket name\n");
|
|
28
41
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
42
|
+
// Read before the Bucket is looked up, as the REST endpoint reads its
|
|
43
|
+
// address: a path that is not a path names nothing in any Bucket.
|
|
44
|
+
const segments = simS3PathSegments(new URL(request.url).pathname);
|
|
45
|
+
if (segments instanceof SimS3UndecodableUri) {
|
|
46
|
+
return undecodableFailure(segments);
|
|
35
47
|
}
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const bucketScope = this.simAws.s3().findBucketScope(bucketName);
|
|
40
|
-
if (bucketScope === undefined) {
|
|
41
|
-
return {
|
|
42
|
-
action: "failure",
|
|
43
|
-
statusCode: 404,
|
|
44
|
-
message: `S3 bucket named ${bucketName} not found`,
|
|
45
|
-
};
|
|
48
|
+
const found = this.buckets.locate(target.resourceName, regionName);
|
|
49
|
+
if (found instanceof SimS3BucketNotFound) {
|
|
50
|
+
return failure(found.statusCode, found.message);
|
|
46
51
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
return {
|
|
53
|
+
action: "website",
|
|
54
|
+
bucket: found.bucket,
|
|
55
|
+
bucketScope: found.bucketScope,
|
|
56
|
+
objectKey: segments.join("/"),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Route a request that arrived at the REST API endpoint.
|
|
61
|
+
*
|
|
62
|
+
* Only the Object operations simulated S3 has are accepted. Anything else is
|
|
63
|
+
* refused as unsupported rather than answered with something plausible, so a
|
|
64
|
+
* gap in the simulation shows up in the test that found it.
|
|
65
|
+
*/
|
|
66
|
+
restRoute(target, request, regionName) {
|
|
67
|
+
const address = SimS3ObjectAddress.fromRestRequest(target, new URL(request.url));
|
|
68
|
+
if (address instanceof SimS3UndecodableUri) {
|
|
69
|
+
return undecodableFailure(address);
|
|
70
|
+
}
|
|
71
|
+
if (address === undefined) {
|
|
72
|
+
return failure(400, "Missing S3 Bucket name\n");
|
|
73
|
+
}
|
|
74
|
+
const refusal = simS3RestRefusal(request.method, address);
|
|
75
|
+
if (refusal !== undefined) {
|
|
76
|
+
return refusal;
|
|
53
77
|
}
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
.
|
|
57
|
-
.getSimBucketByName(bucketName);
|
|
58
|
-
/* v8 ignore if -- does not happen in practice */
|
|
59
|
-
if (bucket === undefined) {
|
|
60
|
-
return {
|
|
61
|
-
action: "failure",
|
|
62
|
-
statusCode: 404,
|
|
63
|
-
message: `S3 bucket named ${bucketName} not found`,
|
|
64
|
-
};
|
|
78
|
+
const found = this.buckets.locate(address.bucketName, regionName);
|
|
79
|
+
if (found instanceof SimS3BucketNotFound) {
|
|
80
|
+
return failure(found.statusCode, found.message);
|
|
65
81
|
}
|
|
66
82
|
return {
|
|
67
|
-
action: "
|
|
68
|
-
bucket,
|
|
69
|
-
|
|
83
|
+
action: "restObject",
|
|
84
|
+
bucket: found.bucket,
|
|
85
|
+
bucketScope: found.bucketScope,
|
|
86
|
+
objectKey: address.objectKey,
|
|
70
87
|
};
|
|
71
88
|
}
|
|
72
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Refuse a path the simulator cannot read as an Object key.
|
|
92
|
+
*/
|
|
93
|
+
function undecodableFailure(undecodable) {
|
|
94
|
+
return failure(400, `Could not parse the request path ${undecodable.pathname} as an S3 ` +
|
|
95
|
+
`Object key: it is not valid percent-encoding.\n`);
|
|
96
|
+
}
|
|
73
97
|
//# sourceMappingURL=sim-s3-request-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-request-router.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-request-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-request-router.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-request-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SimAws } from "../../aws/sim-aws.js";
|
|
2
|
+
import type { SimAwsServiceRequest } from "../../../serve/controller/sim-service-controller.js";
|
|
3
|
+
import type { SimS3RestObjectRoute } from "./sim-s3-route.js";
|
|
4
|
+
interface SimS3RestControllerProperties {
|
|
5
|
+
readonly simAws: SimAws;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Serves Object requests that arrived at the simulated S3 REST endpoint.
|
|
9
|
+
*
|
|
10
|
+
* Everything goes through the ordinary command handlers rather than reaching
|
|
11
|
+
* into Bucket storage, so an HTTP request is authorized exactly as the same
|
|
12
|
+
* operation is when an SDK client makes it in process. That is the point of
|
|
13
|
+
* this endpoint: a presigned URL grants no more than the principal who signed
|
|
14
|
+
* it has, and it is IAM that decides what that is.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimS3RestController {
|
|
17
|
+
private readonly simAws;
|
|
18
|
+
constructor(properties: SimS3RestControllerProperties);
|
|
19
|
+
/**
|
|
20
|
+
* Serve a REST Object request as the principal the boundary resolved.
|
|
21
|
+
*/
|
|
22
|
+
handleRequest(route: SimS3RestObjectRoute, serviceRequest: SimAwsServiceRequest): Promise<Response>;
|
|
23
|
+
private serve;
|
|
24
|
+
private getObject;
|
|
25
|
+
/**
|
|
26
|
+
* Store an uploaded Object.
|
|
27
|
+
*
|
|
28
|
+
* The stated checksum is checked before anything is stored, as real S3 does,
|
|
29
|
+
* so an upload that would be refused there is refused here rather than
|
|
30
|
+
* quietly landing in the Bucket.
|
|
31
|
+
*/
|
|
32
|
+
private putObject;
|
|
33
|
+
private s3For;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=sim-s3-rest-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-rest-controller.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-rest-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,UAAU,6BAA6B;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,QAAQ,CAAC,CAWnB;YAEa,KAAK;YAWL,SAAS;IAuBvB;;;;;;OAMG;YACW,SAAS;IA2BvB,OAAO,CAAC,KAAK;CAQd"}
|