@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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { makeSimClockDate } from "../../../../util/clock/sim-clock-date.js";
|
|
3
|
+
/**
|
|
4
|
+
* The clock the substitute Date reads.
|
|
5
|
+
*
|
|
6
|
+
* An invocation in progress lends its own clock; anything else in the process
|
|
7
|
+
* carries on reading the host clock, which is what keeps the substitute inert
|
|
8
|
+
* outside a sim Lambda invocation.
|
|
9
|
+
*/
|
|
10
|
+
class SimLambdaAmbientClock {
|
|
11
|
+
storage;
|
|
12
|
+
hostDate;
|
|
13
|
+
constructor(storage, hostDate) {
|
|
14
|
+
this.storage = storage;
|
|
15
|
+
this.hostDate = hostDate;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get the time the code running right now should see.
|
|
19
|
+
*/
|
|
20
|
+
now() {
|
|
21
|
+
const invocationClock = this.storage.getStore();
|
|
22
|
+
if (invocationClock === undefined) {
|
|
23
|
+
return new this.hostDate();
|
|
24
|
+
}
|
|
25
|
+
// Read outside the store, because a simulation's clock is itself often
|
|
26
|
+
// built on `new Date()`. Left inside it, that read would come straight
|
|
27
|
+
// back here and never terminate.
|
|
28
|
+
return this.storage.exit(() => invocationClock.now());
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The time a sim Lambda handler function sees while it runs.
|
|
33
|
+
*
|
|
34
|
+
* A handler backed by a real in-process function is a closure over its own
|
|
35
|
+
* module scope, so it reads the global Date like any other code in the test
|
|
36
|
+
* run. Zip code has a vm sandbox with a Date of its own and needs none of
|
|
37
|
+
* this. Node.js asynchronous context tracking bridges the gap for the
|
|
38
|
+
* in-process case, exactly as it does for process.env: the invocation's clock
|
|
39
|
+
* is held in an AsyncLocalStorage store, and Date resolves to it while it is
|
|
40
|
+
* set.
|
|
41
|
+
*
|
|
42
|
+
* The store follows the invocation across await points, so concurrent
|
|
43
|
+
* invocations of functions belonging to different simulations each read their
|
|
44
|
+
* own time.
|
|
45
|
+
*
|
|
46
|
+
* What this cannot reach is a time already read. A handler module doing
|
|
47
|
+
* `const startedAt = Date.now()` at module scope is evaluated when the test
|
|
48
|
+
* file imports it, long before any invocation.
|
|
49
|
+
*/
|
|
50
|
+
class SimLambdaProcessClock {
|
|
51
|
+
storage = new AsyncLocalStorage();
|
|
52
|
+
hostDate = Date;
|
|
53
|
+
installed = false;
|
|
54
|
+
/**
|
|
55
|
+
* Run an invocation with the given clock as its sense of the current time.
|
|
56
|
+
*/
|
|
57
|
+
async run(clock, run) {
|
|
58
|
+
this.install();
|
|
59
|
+
return await this.storage.run(clock, run);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The host Date constructor, ignoring any invocation in progress.
|
|
63
|
+
*/
|
|
64
|
+
hostDateConstructor() {
|
|
65
|
+
return this.hostDate;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Replace the global Date with one backed by the invocation store.
|
|
69
|
+
*
|
|
70
|
+
* Installed on the first invocation of an in-process handler rather than at
|
|
71
|
+
* import, so a test run that never uses one is left completely alone. Date
|
|
72
|
+
* is a far busier global than process.env, and a substitute that is only
|
|
73
|
+
* ever built when something actually needs it is easier to reason about.
|
|
74
|
+
*
|
|
75
|
+
* With no invocation running the substitute reports the host time, so an
|
|
76
|
+
* installed patch behaves exactly like no patch at all. It is never removed:
|
|
77
|
+
* removing it would be unsafe while another invocation is in flight, and
|
|
78
|
+
* there is nothing to gain.
|
|
79
|
+
*/
|
|
80
|
+
install() {
|
|
81
|
+
if (this.installed) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this.hostDate = Date;
|
|
85
|
+
// Defined rather than assigned, to keep Date the configurable, writable,
|
|
86
|
+
// non-enumerable global property it already was: anything else replacing
|
|
87
|
+
// it, a test framework's fake timers included, has to find what it
|
|
88
|
+
// expects.
|
|
89
|
+
Object.defineProperty(globalThis, "Date", {
|
|
90
|
+
configurable: true,
|
|
91
|
+
writable: true,
|
|
92
|
+
value: makeSimClockDate(new SimLambdaAmbientClock(this.storage, this.hostDate)),
|
|
93
|
+
});
|
|
94
|
+
this.installed = true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Shared because it patches a process global: one patch, one store.
|
|
99
|
+
*/
|
|
100
|
+
export const simLambdaProcessClock = new SimLambdaProcessClock();
|
|
101
|
+
//# sourceMappingURL=sim-lambda-process-clock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-lambda-process-clock.js","sourceRoot":"","sources":["../../../../../src/service/lambda/function/invoke/sim-lambda-process-clock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,qBAAqB;IAEN,OAAO;IACP,QAAQ;IAF3B,YACmB,OAAoC,EACpC,QAAyB;uBADzB,OAAO;wBACP,QAAQ;IACxB,CAAC;IAEJ;;OAEG;IACH,GAAG;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEhD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,iCAAiC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,qBAAqB;IACR,OAAO,GAAG,IAAI,iBAAiB,EAAY,CAAC;IACrD,QAAQ,GAAoB,IAAI,CAAC;IACjC,SAAS,GAAG,KAAK,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,KAAe,EAAE,GAAqB;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,OAAO;QACb,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,WAAW;QACX,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACxC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,gBAAgB,CACrB,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvD;SACF,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC"}
|
|
@@ -121,6 +121,14 @@ export declare class SimLambdaFunction {
|
|
|
121
121
|
* Runtime.* cold-start error.
|
|
122
122
|
*/
|
|
123
123
|
invoke(event: unknown): Promise<unknown>;
|
|
124
|
+
/**
|
|
125
|
+
* Run an invocation with this simulation's time as the current time.
|
|
126
|
+
*
|
|
127
|
+
* Only code running in the host scope needs this. Zip code reads the Date
|
|
128
|
+
* its own vm sandbox was given, so a function backed by one leaves the
|
|
129
|
+
* global Date alone entirely.
|
|
130
|
+
*/
|
|
131
|
+
private runWithSimulatedTime;
|
|
124
132
|
}
|
|
125
133
|
export {};
|
|
126
134
|
//# sourceMappingURL=sim-lambda-function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-lambda-function.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { SimLambdaEnvironment } from "./environment/sim-lambda-environment.js";
|
|
|
5
5
|
import { SimLambdaFunctionPolicy } from "./policy/sim-lambda-function-policy.js";
|
|
6
6
|
import { SimLambdaHandlerRunner } from "./invoke/sim-lambda-handler-runner.js";
|
|
7
7
|
import { SimLambdaInvokeContextBuilder } from "./invoke/sim-lambda-invoke-context-builder.js";
|
|
8
|
+
import { simLambdaProcessClock } from "./invoke/sim-lambda-process-clock.js";
|
|
8
9
|
import { SimRealClock } from "../../../util/clock/sim-clock.js";
|
|
9
10
|
import { defaultLambdaHandler, } from "./sim-lambda-handler.type.js";
|
|
10
11
|
export const DEFAULT_SIM_LAMBDA_TIMEOUT_SECONDS = 3;
|
|
@@ -126,7 +127,20 @@ export class SimLambdaFunction {
|
|
|
126
127
|
memorySizeMb: this.memorySizeMb,
|
|
127
128
|
clock: this.clock,
|
|
128
129
|
});
|
|
129
|
-
return await simAwsRunAsContext.run(this.runAsOwner, { kind: "arn", arn: this.roleArn }, async () => await this.environment.runWith(async () => await this.runner.run(this.code.handlerFunction(), event, contextBuilder)));
|
|
130
|
+
return await simAwsRunAsContext.run(this.runAsOwner, { kind: "arn", arn: this.roleArn }, async () => await this.environment.runWith(async () => await this.runWithSimulatedTime(async () => await this.runner.run(this.code.handlerFunction(), event, contextBuilder))));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Run an invocation with this simulation's time as the current time.
|
|
134
|
+
*
|
|
135
|
+
* Only code running in the host scope needs this. Zip code reads the Date
|
|
136
|
+
* its own vm sandbox was given, so a function backed by one leaves the
|
|
137
|
+
* global Date alone entirely.
|
|
138
|
+
*/
|
|
139
|
+
async runWithSimulatedTime(run) {
|
|
140
|
+
if (!this.code.runsInHostScope) {
|
|
141
|
+
return await run();
|
|
142
|
+
}
|
|
143
|
+
return await simLambdaProcessClock.run(this.clock, run);
|
|
130
144
|
}
|
|
131
145
|
}
|
|
132
146
|
//# sourceMappingURL=sim-lambda-function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-function.js","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sim-lambda-function.js","sourceRoot":"","sources":["../../../../src/service/lambda/function/sim-lambda-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export class SimLambdaUrlRouter {
|
|
|
19
19
|
constructor(properties = {}) {
|
|
20
20
|
this.simAws = properties.simAws ?? new SimAws();
|
|
21
21
|
this.urlRegistry =
|
|
22
|
-
properties.urlRegistry ?? this.simAws.lambdaUrlRegistry
|
|
22
|
+
properties.urlRegistry ?? this.simAws.serviceFactory.lambdaUrlRegistry;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Find the Function URL and function a request target addresses.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-lambda-url-router.js","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-url-router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwB9C;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IACa,MAAM,CAAS;IAEd,WAAW,CAAuB;IAEnD,YAAY,UAAU,GAAiC,EAAE;QACvD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW;YACd,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"sim-lambda-url-router.js","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-url-router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwB9C;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IACa,MAAM,CAAS;IAEd,WAAW,CAAuB;IAEnD,YAAY,UAAU,GAAiC,EAAE;QACvD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW;YACd,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAA2B;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,YAAsC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAE1E,wEAAwE;QACxE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -40,6 +40,20 @@ export declare class SimRoute53ServiceTargetResolver {
|
|
|
40
40
|
* labels are joined back together as the resource name.
|
|
41
41
|
*/
|
|
42
42
|
private s3WebsiteServiceTarget;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve S3 REST API endpoint hostnames.
|
|
45
|
+
*
|
|
46
|
+
* Simulated S3 REST hostnames use either of the two forms real S3 offers:
|
|
47
|
+
*
|
|
48
|
+
* <bucket-name>.s3.<region> virtual-hosted style
|
|
49
|
+
* s3.<region> path style, naming the Bucket in the path
|
|
50
|
+
*
|
|
51
|
+
* Both are needed because the AWS SDK chooses between them for itself. A
|
|
52
|
+
* Bucket name containing dots cannot be a single host label, so the SDK falls
|
|
53
|
+
* back to path style for those, and a URL signed one way cannot be served the
|
|
54
|
+
* other.
|
|
55
|
+
*/
|
|
56
|
+
private s3RestServiceTarget;
|
|
43
57
|
/**
|
|
44
58
|
* Resolve CloudFront distribution hostnames.
|
|
45
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-r53-service-target-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/route53/resolve/sim-r53-service-target-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-r53-service-target-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/route53/resolve/sim-r53-service-target-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAU/F;;;;;;;;;;;;GAYG;AACH,qBAAa,+BAA+B;IAC1C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAczD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,8BAA8B;CA0BvC"}
|
|
@@ -2,6 +2,7 @@ import { lambdaFunctionUrlHostLabel } from "../../lambda/function/url/sim-lambda
|
|
|
2
2
|
import { simRoute53LogicalName } from "../local-name/sim-route53-local-name.js";
|
|
3
3
|
import { simRoute53DnsHostName } from "../serve/sim-route53-dns-host.js";
|
|
4
4
|
const s3WebsiteServiceLabel = "s3-website";
|
|
5
|
+
const s3RestServiceLabel = "s3";
|
|
5
6
|
const cloudFrontServiceLabel = "cloudfront";
|
|
6
7
|
/**
|
|
7
8
|
* Maps Yulin-local service hostnames to simulated AWS service targets.
|
|
@@ -32,6 +33,7 @@ export class SimRoute53ServiceTargetResolver {
|
|
|
32
33
|
}
|
|
33
34
|
return (this.route53DnsServiceTarget(logicalName) ??
|
|
34
35
|
this.s3WebsiteServiceTarget(logicalName) ??
|
|
36
|
+
this.s3RestServiceTarget(logicalName) ??
|
|
35
37
|
this.cloudFrontServiceTarget(logicalName) ??
|
|
36
38
|
this.lambdaFunctionUrlServiceTarget(logicalName));
|
|
37
39
|
}
|
|
@@ -80,6 +82,42 @@ export class SimRoute53ServiceTargetResolver {
|
|
|
80
82
|
service: "s3",
|
|
81
83
|
resourceName,
|
|
82
84
|
regionName,
|
|
85
|
+
endpoint: "website",
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Resolve S3 REST API endpoint hostnames.
|
|
90
|
+
*
|
|
91
|
+
* Simulated S3 REST hostnames use either of the two forms real S3 offers:
|
|
92
|
+
*
|
|
93
|
+
* <bucket-name>.s3.<region> virtual-hosted style
|
|
94
|
+
* s3.<region> path style, naming the Bucket in the path
|
|
95
|
+
*
|
|
96
|
+
* Both are needed because the AWS SDK chooses between them for itself. A
|
|
97
|
+
* Bucket name containing dots cannot be a single host label, so the SDK falls
|
|
98
|
+
* back to path style for those, and a URL signed one way cannot be served the
|
|
99
|
+
* other.
|
|
100
|
+
*/
|
|
101
|
+
s3RestServiceTarget(logicalName) {
|
|
102
|
+
const labels = logicalName.split(".");
|
|
103
|
+
if (labels.length < 2) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
const service = labels.at(-2);
|
|
107
|
+
const regionName = labels.at(-1);
|
|
108
|
+
if (service !== s3RestServiceLabel || regionName === undefined) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
/* v8 ignore if -- empty labels are rejected before resolution */
|
|
112
|
+
if (regionName.length === 0) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
service: "s3",
|
|
117
|
+
// Empty for path style, where the Bucket is the first path segment.
|
|
118
|
+
resourceName: labels.slice(0, -2).join("."),
|
|
119
|
+
regionName,
|
|
120
|
+
endpoint: "rest",
|
|
83
121
|
};
|
|
84
122
|
}
|
|
85
123
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-r53-service-target-resolver.js","sourceRoot":"","sources":["../../../../src/service/route53/resolve/sim-r53-service-target-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAC3C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,+BAA+B;IAC1C;;;;;;OAMG;IACH,OAAO,CAAC,QAAgB;QACtB,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACpD,qCAAqC;QACrC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,CACL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;YACzC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC;YACxC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;YACzC,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CACjD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAC7B,WAAmB;QAEnB,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,qBAAqB;SACpC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,sBAAsB,CAC5B,WAAmB;QAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAA8B,CAAC;QAE9D,IAAI,OAAO,KAAK,qBAAqB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnD,qCAAqC;QACrC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,UAAU;
|
|
1
|
+
{"version":3,"file":"sim-r53-service-target-resolver.js","sourceRoot":"","sources":["../../../../src/service/route53/resolve/sim-r53-service-target-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SimIamPolicyDocumentCondition } from "../../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Whether a statement Condition constrains a wildcard Principal to fixed
|
|
4
|
+
* values, which is what stops real S3 counting the statement as public.
|
|
5
|
+
*/
|
|
6
|
+
export declare function simS3ConditionPinsPrincipal(condition: SimIamPolicyDocumentCondition | undefined): boolean;
|
|
7
|
+
//# sourceMappingURL=sim-s3-pinning-condition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-pinning-condition.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-pinning-condition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAqC/C;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,6BAA6B,GAAG,SAAS,GACnD,OAAO,CAgBT"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Condition keys that tie a wildcard Principal down to specific callers.
|
|
3
|
+
*
|
|
4
|
+
* These are the keys real S3 accepts as making an otherwise public Bucket
|
|
5
|
+
* policy non-public. `aws:SourceIp` is deliberately absent: S3 judges a CIDR
|
|
6
|
+
* range's breadth, treating anything wider than /8 as still public, and the
|
|
7
|
+
* simulator does not model that. Leaving it out means such a policy is treated
|
|
8
|
+
* as public, which errs toward refusing rather than allowing.
|
|
9
|
+
*/
|
|
10
|
+
const pinningConditionKeys = new Set([
|
|
11
|
+
"aws:principalorgid",
|
|
12
|
+
"aws:sourcearn",
|
|
13
|
+
"aws:sourcevpc",
|
|
14
|
+
"aws:sourcevpce",
|
|
15
|
+
"aws:sourceowner",
|
|
16
|
+
"aws:sourceaccount",
|
|
17
|
+
"aws:userid",
|
|
18
|
+
"s3:dataaccesspointarn",
|
|
19
|
+
"s3:dataaccesspointaccount",
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Condition operators that pin a key to a value.
|
|
23
|
+
*
|
|
24
|
+
* Negative and `IfExists` operators are absent because neither constrains who
|
|
25
|
+
* can call: an `IfExists` condition passes when the key is missing entirely.
|
|
26
|
+
*/
|
|
27
|
+
const pinningOperators = new Set([
|
|
28
|
+
"stringequals",
|
|
29
|
+
"stringequalsignorecase",
|
|
30
|
+
"stringlike",
|
|
31
|
+
"arnequals",
|
|
32
|
+
"arnlike",
|
|
33
|
+
]);
|
|
34
|
+
/**
|
|
35
|
+
* Whether a statement Condition constrains a wildcard Principal to fixed
|
|
36
|
+
* values, which is what stops real S3 counting the statement as public.
|
|
37
|
+
*/
|
|
38
|
+
export function simS3ConditionPinsPrincipal(condition) {
|
|
39
|
+
if (condition === undefined) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
for (const [operator, keyValues] of Object.entries(condition)) {
|
|
43
|
+
if (!pinningOperators.has(operator.toLowerCase())) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (pinsAnyKey(keyValues)) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
function pinsAnyKey(keyValues) {
|
|
53
|
+
for (const [conditionKey, value] of Object.entries(keyValues)) {
|
|
54
|
+
if (pinningConditionKeys.has(conditionKey.toLowerCase()) &&
|
|
55
|
+
isFixedValue(value)) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A value is fixed when it matches one caller rather than a set of them, so no
|
|
63
|
+
* wildcard characters and no unresolved IAM policy variable.
|
|
64
|
+
*/
|
|
65
|
+
function isFixedValue(value) {
|
|
66
|
+
const values = Array.isArray(value) ? value : [value];
|
|
67
|
+
return values.every((candidate) => typeof candidate === "string" &&
|
|
68
|
+
candidate.length > 0 &&
|
|
69
|
+
!candidate.includes("*") &&
|
|
70
|
+
!candidate.includes("?") &&
|
|
71
|
+
!candidate.includes("${"));
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=sim-s3-pinning-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-pinning-condition.js","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-pinning-condition.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,oBAAoB;IACpB,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;IACZ,uBAAuB;IACvB,2BAA2B;CAC5B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,cAAc;IACd,wBAAwB;IACxB,YAAY;IACZ,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoD;IAEpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CACjB,SAAyD;IAEzD,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,IACE,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACpD,YAAY,CAAC,KAAK,CAAC,EACnB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAA2B;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,SAAS,EAAE,EAAE,CACZ,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural shape of an S3 PublicAccessBlockConfiguration.
|
|
3
|
+
*
|
|
4
|
+
* Matches the AWS SDK and CloudFormation property shape, so the same object can
|
|
5
|
+
* come from either.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimS3PublicAccessBlockConfiguration {
|
|
8
|
+
readonly BlockPublicAcls?: boolean | undefined;
|
|
9
|
+
readonly IgnorePublicAcls?: boolean | undefined;
|
|
10
|
+
readonly BlockPublicPolicy?: boolean | undefined;
|
|
11
|
+
readonly RestrictPublicBuckets?: boolean | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A Block Public Access configuration with every setting settled.
|
|
15
|
+
*
|
|
16
|
+
* The AWS-facing shape leaves all four optional, so this is what the simulator
|
|
17
|
+
* holds once the omissions have been resolved.
|
|
18
|
+
*/
|
|
19
|
+
export interface SimS3PublicAccessBlockSettings {
|
|
20
|
+
readonly BlockPublicAcls: boolean;
|
|
21
|
+
readonly IgnorePublicAcls: boolean;
|
|
22
|
+
readonly BlockPublicPolicy: boolean;
|
|
23
|
+
readonly RestrictPublicBuckets: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The S3 Block Public Access settings of one simulated Bucket.
|
|
27
|
+
*
|
|
28
|
+
* There are two distinct states here and they are not the same. A Bucket nobody
|
|
29
|
+
* has configured blocks everything, which is what real S3 does for every new
|
|
30
|
+
* Bucket. A Bucket someone has configured has exactly what they asked for: the
|
|
31
|
+
* configuration replaces the previous one wholesale, so a setting left out of
|
|
32
|
+
* it is off rather than inherited.
|
|
33
|
+
*
|
|
34
|
+
* That second rule matters more than it looks. CDK's `BlockPublicAccess.
|
|
35
|
+
* BLOCK_ACLS` sets only `blockPublicAcls` and `ignorePublicAcls`, leaving
|
|
36
|
+
* `BlockPublicPolicy` out of the synthesized template, and pairing it with
|
|
37
|
+
* `publicReadAccess` is the standard way to build a public website Bucket.
|
|
38
|
+
* Treating the omitted setting as enabled would refuse that template, which
|
|
39
|
+
* real AWS deploys without complaint.
|
|
40
|
+
*/
|
|
41
|
+
export declare class SimS3PublicAccessBlock {
|
|
42
|
+
private readonly settings;
|
|
43
|
+
private constructor();
|
|
44
|
+
/**
|
|
45
|
+
* The all-blocked state a Bucket has until something configures it.
|
|
46
|
+
*/
|
|
47
|
+
static blockingAll(): SimS3PublicAccessBlock;
|
|
48
|
+
/**
|
|
49
|
+
* A configuration exactly as supplied, with anything omitted turned off.
|
|
50
|
+
*/
|
|
51
|
+
static fromConfiguration(configuration: SimS3PublicAccessBlockConfiguration): SimS3PublicAccessBlock;
|
|
52
|
+
/**
|
|
53
|
+
* Whether this Bucket refuses a Bucket policy that allows public access.
|
|
54
|
+
*/
|
|
55
|
+
blocksPublicPolicy(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* The configuration as an AWS-shaped record, for GetPublicAccessBlock.
|
|
58
|
+
*/
|
|
59
|
+
toConfiguration(): SimS3PublicAccessBlockSettings;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=sim-s3-public-access-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-public-access-block.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-public-access-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAD3B,OAAO,eAEH;IAEJ;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,sBAAsB,CAO3C;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CACtB,aAAa,EAAE,mCAAmC,GACjD,sBAAsB,CAOxB;IAED;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,eAAe,IAAI,8BAA8B,CAEhD;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The S3 Block Public Access settings of one simulated Bucket.
|
|
3
|
+
*
|
|
4
|
+
* There are two distinct states here and they are not the same. A Bucket nobody
|
|
5
|
+
* has configured blocks everything, which is what real S3 does for every new
|
|
6
|
+
* Bucket. A Bucket someone has configured has exactly what they asked for: the
|
|
7
|
+
* configuration replaces the previous one wholesale, so a setting left out of
|
|
8
|
+
* it is off rather than inherited.
|
|
9
|
+
*
|
|
10
|
+
* That second rule matters more than it looks. CDK's `BlockPublicAccess.
|
|
11
|
+
* BLOCK_ACLS` sets only `blockPublicAcls` and `ignorePublicAcls`, leaving
|
|
12
|
+
* `BlockPublicPolicy` out of the synthesized template, and pairing it with
|
|
13
|
+
* `publicReadAccess` is the standard way to build a public website Bucket.
|
|
14
|
+
* Treating the omitted setting as enabled would refuse that template, which
|
|
15
|
+
* real AWS deploys without complaint.
|
|
16
|
+
*/
|
|
17
|
+
export class SimS3PublicAccessBlock {
|
|
18
|
+
settings;
|
|
19
|
+
constructor(settings) {
|
|
20
|
+
this.settings = settings;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The all-blocked state a Bucket has until something configures it.
|
|
24
|
+
*/
|
|
25
|
+
static blockingAll() {
|
|
26
|
+
return new SimS3PublicAccessBlock({
|
|
27
|
+
BlockPublicAcls: true,
|
|
28
|
+
IgnorePublicAcls: true,
|
|
29
|
+
BlockPublicPolicy: true,
|
|
30
|
+
RestrictPublicBuckets: true,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A configuration exactly as supplied, with anything omitted turned off.
|
|
35
|
+
*/
|
|
36
|
+
static fromConfiguration(configuration) {
|
|
37
|
+
return new SimS3PublicAccessBlock({
|
|
38
|
+
BlockPublicAcls: configuration.BlockPublicAcls ?? false,
|
|
39
|
+
IgnorePublicAcls: configuration.IgnorePublicAcls ?? false,
|
|
40
|
+
BlockPublicPolicy: configuration.BlockPublicPolicy ?? false,
|
|
41
|
+
RestrictPublicBuckets: configuration.RestrictPublicBuckets ?? false,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether this Bucket refuses a Bucket policy that allows public access.
|
|
46
|
+
*/
|
|
47
|
+
blocksPublicPolicy() {
|
|
48
|
+
return this.settings.BlockPublicPolicy;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The configuration as an AWS-shaped record, for GetPublicAccessBlock.
|
|
52
|
+
*/
|
|
53
|
+
toConfiguration() {
|
|
54
|
+
return { ...this.settings };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=sim-s3-public-access-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-public-access-block.js","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-public-access-block.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,sBAAsB;IAEd,QAAQ;IAD3B,YACmB,QAAwC;wBAAxC,QAAQ;IACxB,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,sBAAsB,CAAC;YAChC,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI;YACvB,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CACtB,aAAkD;QAElD,OAAO,IAAI,sBAAsB,CAAC;YAChC,eAAe,EAAE,aAAa,CAAC,eAAe,IAAI,KAAK;YACvD,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,IAAI,KAAK;YACzD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,IAAI,KAAK;YAC3D,qBAAqB,EAAE,aAAa,CAAC,qBAAqB,IAAI,KAAK;SACpE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimS3Bucket } from "../sim-s3-bucket.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuses a Bucket policy that the Bucket's Block Public Access settings do
|
|
5
|
+
* not allow.
|
|
6
|
+
*
|
|
7
|
+
* Real S3 applies this after deciding the caller may set a policy at all, so
|
|
8
|
+
* it refuses a policy the caller is otherwise entitled to apply. Enabling the
|
|
9
|
+
* setting later does not disturb a policy already stored: it governs what may
|
|
10
|
+
* be written, not what is already there.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimS3PublicPolicyGuard {
|
|
13
|
+
private readonly publicPolicy;
|
|
14
|
+
/**
|
|
15
|
+
* Throw when the Bucket blocks public policies and this document is one.
|
|
16
|
+
*/
|
|
17
|
+
guard(bucket: SimS3Bucket, document: SimIamPolicyDocument): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=sim-s3-public-policy-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-public-policy-guard.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-public-policy-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IAExD;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAa/D;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SimS3AccessDenied } from "../../error/sim-s3.error.js";
|
|
2
|
+
import { SimS3PublicPolicy } from "./sim-s3-public-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuses a Bucket policy that the Bucket's Block Public Access settings do
|
|
5
|
+
* not allow.
|
|
6
|
+
*
|
|
7
|
+
* Real S3 applies this after deciding the caller may set a policy at all, so
|
|
8
|
+
* it refuses a policy the caller is otherwise entitled to apply. Enabling the
|
|
9
|
+
* setting later does not disturb a policy already stored: it governs what may
|
|
10
|
+
* be written, not what is already there.
|
|
11
|
+
*/
|
|
12
|
+
export class SimS3PublicPolicyGuard {
|
|
13
|
+
publicPolicy = new SimS3PublicPolicy();
|
|
14
|
+
/**
|
|
15
|
+
* Throw when the Bucket blocks public policies and this document is one.
|
|
16
|
+
*/
|
|
17
|
+
guard(bucket, document) {
|
|
18
|
+
if (!bucket.getPublicAccessBlock().blocksPublicPolicy()) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (!this.publicPolicy.isPublic(document)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
throw new SimS3AccessDenied(`BlockPublicPolicy is enabled on S3 Bucket ${bucket.bucketName}, ` +
|
|
25
|
+
"so a Bucket policy allowing public access is refused");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-s3-public-policy-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-public-policy-guard.js","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-public-policy-guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAChB,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAExD;;OAEG;IACH,KAAK,CAAC,MAAmB,EAAE,QAA8B;QACvD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,iBAAiB,CACzB,6CAA6C,MAAM,CAAC,UAAU,IAAI;YAChE,sDAAsD,CACzD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Decides whether a Bucket policy allows public access, which is what S3 Block
|
|
4
|
+
* Public Access judges a PutBucketPolicy call against.
|
|
5
|
+
*
|
|
6
|
+
* Real S3 starts by assuming a policy is public and looks for a reason it is
|
|
7
|
+
* not: a statement qualifies as non-public only when it grants access to fixed
|
|
8
|
+
* values. The simulator follows the same direction, so anything it cannot
|
|
9
|
+
* classify stays public and gets refused.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimS3PublicPolicy {
|
|
12
|
+
/**
|
|
13
|
+
* Whether any statement in the document grants public access.
|
|
14
|
+
*/
|
|
15
|
+
isPublic(document: SimIamPolicyDocument): boolean;
|
|
16
|
+
private statementIsPublic;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-s3-public-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-public-policy.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/public-access/sim-s3-public-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAI/C;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAIhD;IAED,OAAO,CAAC,iBAAiB;CAiB1B"}
|