@kensio/yulin 0.37.0 → 0.38.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 +3 -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-service-factory.d.ts +8 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +14 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -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 +6 -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 +7 -21
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +15 -26
- package/dist/service/aws/sim-aws.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/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/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 +58 -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 +111 -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 +105 -0
- package/dist/service/kms/sim-kms.d.ts.map +1 -0
- package/dist/service/kms/sim-kms.js +187 -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/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 +17 -11
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
2
|
+
import type { SimIamResourcePolicyInput } from "../../iam/authorize/context/sim-iam-auth-z-context-builder.js";
|
|
3
|
+
import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
|
|
4
|
+
/**
|
|
5
|
+
* The name real KMS reports a key's policy under. A KMS key has exactly one
|
|
6
|
+
* policy and it is always called this.
|
|
7
|
+
*/
|
|
8
|
+
export declare const simKmsKeyPolicyName = "default";
|
|
9
|
+
/**
|
|
10
|
+
* The key policy of one simulated KMS key.
|
|
11
|
+
*
|
|
12
|
+
* Every KMS key has a policy and it cannot be removed, which is what makes it
|
|
13
|
+
* the root of trust for the key: an IAM policy granting kms:Decrypt achieves
|
|
14
|
+
* nothing unless the key policy allows the access too. That is unlike other
|
|
15
|
+
* AWS resource policies, where the resource having no policy at all simply
|
|
16
|
+
* leaves the decision to IAM.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimKmsKeyPolicy {
|
|
19
|
+
private readonly keyArn;
|
|
20
|
+
private policyDocument;
|
|
21
|
+
constructor(keyArn: string, document: SimIamPolicyDocument);
|
|
22
|
+
/**
|
|
23
|
+
* Build the default policy CreateKey applies when given no policy.
|
|
24
|
+
*
|
|
25
|
+
* This is the policy the AWS console and CLI create: it allows the Account
|
|
26
|
+
* root every KMS action, which is how a key ends up usable by whichever of
|
|
27
|
+
* the Account's principals IAM allows. A key created with a policy that
|
|
28
|
+
* omits this statement can only be used by the principals it names, and no
|
|
29
|
+
* IAM policy will widen that.
|
|
30
|
+
*/
|
|
31
|
+
static default(keyArn: string, accountId: SimAwsAccountId): SimKmsKeyPolicy;
|
|
32
|
+
/**
|
|
33
|
+
* The stored policy document.
|
|
34
|
+
*/
|
|
35
|
+
document(): SimIamPolicyDocument;
|
|
36
|
+
/**
|
|
37
|
+
* Replace the stored policy document.
|
|
38
|
+
*/
|
|
39
|
+
replaceWith(document: SimIamPolicyDocument): void;
|
|
40
|
+
/**
|
|
41
|
+
* This policy as the resource-policy side of an IAM authorization.
|
|
42
|
+
*/
|
|
43
|
+
asResourcePolicy(): SimIamResourcePolicyInput;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sim-kms-key-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,cAAc,CAAuB;IAE7C,YAAY,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAGzD;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,eAAe,CAc1E;IAED;;OAEG;IACH,QAAQ,IAAI,oBAAoB,CAE/B;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAEhD;IAED;;OAEG;IACH,gBAAgB,IAAI,yBAAyB,CAM5C;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name real KMS reports a key's policy under. A KMS key has exactly one
|
|
3
|
+
* policy and it is always called this.
|
|
4
|
+
*/
|
|
5
|
+
export const simKmsKeyPolicyName = "default";
|
|
6
|
+
/**
|
|
7
|
+
* The key policy of one simulated KMS key.
|
|
8
|
+
*
|
|
9
|
+
* Every KMS key has a policy and it cannot be removed, which is what makes it
|
|
10
|
+
* the root of trust for the key: an IAM policy granting kms:Decrypt achieves
|
|
11
|
+
* nothing unless the key policy allows the access too. That is unlike other
|
|
12
|
+
* AWS resource policies, where the resource having no policy at all simply
|
|
13
|
+
* leaves the decision to IAM.
|
|
14
|
+
*/
|
|
15
|
+
export class SimKmsKeyPolicy {
|
|
16
|
+
keyArn;
|
|
17
|
+
policyDocument;
|
|
18
|
+
constructor(keyArn, document) {
|
|
19
|
+
this.keyArn = keyArn;
|
|
20
|
+
this.policyDocument = document;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build the default policy CreateKey applies when given no policy.
|
|
24
|
+
*
|
|
25
|
+
* This is the policy the AWS console and CLI create: it allows the Account
|
|
26
|
+
* root every KMS action, which is how a key ends up usable by whichever of
|
|
27
|
+
* the Account's principals IAM allows. A key created with a policy that
|
|
28
|
+
* omits this statement can only be used by the principals it names, and no
|
|
29
|
+
* IAM policy will widen that.
|
|
30
|
+
*/
|
|
31
|
+
static default(keyArn, accountId) {
|
|
32
|
+
return new SimKmsKeyPolicy(keyArn, {
|
|
33
|
+
Version: "2012-10-17",
|
|
34
|
+
Id: "key-default-1",
|
|
35
|
+
Statement: [
|
|
36
|
+
{
|
|
37
|
+
Sid: "Enable IAM User Permissions",
|
|
38
|
+
Effect: "Allow",
|
|
39
|
+
Principal: { AWS: `arn:aws:iam::${accountId}:root` },
|
|
40
|
+
Action: "kms:*",
|
|
41
|
+
Resource: "*",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The stored policy document.
|
|
48
|
+
*/
|
|
49
|
+
document() {
|
|
50
|
+
return this.policyDocument;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Replace the stored policy document.
|
|
54
|
+
*/
|
|
55
|
+
replaceWith(document) {
|
|
56
|
+
this.policyDocument = document;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* This policy as the resource-policy side of an IAM authorization.
|
|
60
|
+
*/
|
|
61
|
+
asResourcePolicy() {
|
|
62
|
+
return {
|
|
63
|
+
document: this.policyDocument,
|
|
64
|
+
policyName: simKmsKeyPolicyName,
|
|
65
|
+
resourceArn: this.keyArn,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sim-kms-key-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-policy.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAS;IACxB,cAAc,CAAuB;IAE7C,YAAY,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,SAA0B;QACvD,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,eAAe;YACnB,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,EAAE,GAAG,EAAE,gBAAgB,SAAS,OAAO,EAAE;oBACpD,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,GAAG;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import { SimKmsAlias } from "./sim-kms-alias.js";
|
|
3
|
+
import { type SimKmsKey, type SimKmsKeyId } from "./sim-kms-key.js";
|
|
4
|
+
import type { SimKmsKeyFactory } from "./sim-kms-key-factory.js";
|
|
5
|
+
interface SimKmsKeyStoreProperties {
|
|
6
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
7
|
+
readonly keyFactory: SimKmsKeyFactory;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The keys and aliases of one simulated KMS scope, and how a KeyId resolves.
|
|
11
|
+
*
|
|
12
|
+
* Every KMS operation takes its target as a `KeyId` that may be a key ID, a
|
|
13
|
+
* key ARN, an alias name or an alias ARN, so resolution belongs in one place
|
|
14
|
+
* rather than in each command handler.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimKmsKeyStore {
|
|
17
|
+
readonly keys: Map<string, SimKmsKey>;
|
|
18
|
+
readonly aliases: Map<string, SimKmsAlias>;
|
|
19
|
+
private readonly accountRegionScope;
|
|
20
|
+
private readonly keyFactory;
|
|
21
|
+
private readonly identifiers;
|
|
22
|
+
constructor(properties: SimKmsKeyStoreProperties);
|
|
23
|
+
/**
|
|
24
|
+
* Store a newly created key.
|
|
25
|
+
*/
|
|
26
|
+
add(key: SimKmsKey): void;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a KeyId to the key it names, or refuse.
|
|
29
|
+
*/
|
|
30
|
+
require(keyId: string | undefined): SimKmsKey;
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a KeyId in any of the forms real KMS accepts.
|
|
33
|
+
*
|
|
34
|
+
* An alias of an AWS managed key resolves to a key created on demand, since
|
|
35
|
+
* that is how such a key comes into existence on real AWS: the service that
|
|
36
|
+
* needs it asks for it, and it appears without anyone creating it.
|
|
37
|
+
*/
|
|
38
|
+
find(keyId: string): SimKmsKey | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Point an alias at a key, refusing a name already in use.
|
|
41
|
+
*/
|
|
42
|
+
addAlias(aliasName: string, targetKey: SimKmsKey): SimKmsAlias;
|
|
43
|
+
/**
|
|
44
|
+
* The aliases pointing at one key, or all of them.
|
|
45
|
+
*/
|
|
46
|
+
aliasesFor(keyId: SimKmsKeyId | undefined): readonly SimKmsAlias[];
|
|
47
|
+
/**
|
|
48
|
+
* Find the key an alias points at, creating an AWS managed key if the alias
|
|
49
|
+
* is a reserved one that has not been used yet.
|
|
50
|
+
*/
|
|
51
|
+
private findByAlias;
|
|
52
|
+
/**
|
|
53
|
+
* Create an AWS managed key on first reference to its reserved alias.
|
|
54
|
+
*/
|
|
55
|
+
private makeAwsManagedKey;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=sim-kms-key-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-store.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAM1F,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,UAAU,wBAAwB;IAChC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,SAAgB,IAAI,yBAAqC;IACzD,SAAgB,OAAO,2BAAkC;IAEzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IAExD,YAAY,UAAU,EAAE,wBAAwB,EAM/C;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAc5C;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAYzC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW,CAgB7D;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAQjE;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { SimKmsAlreadyExistsException, SimKmsNotFoundException, SimKmsValidationException, } from "../error/sim-kms.error.js";
|
|
2
|
+
import { SimKmsAlias, simKmsAwsAliasPrefix } from "./sim-kms-alias.js";
|
|
3
|
+
import { SimKmsKeyIdentifierParser } from "./sim-kms-key-identifier.js";
|
|
4
|
+
import { SimKmsKeyManager, } from "./sim-kms-key.js";
|
|
5
|
+
/**
|
|
6
|
+
* The keys and aliases of one simulated KMS scope, and how a KeyId resolves.
|
|
7
|
+
*
|
|
8
|
+
* Every KMS operation takes its target as a `KeyId` that may be a key ID, a
|
|
9
|
+
* key ARN, an alias name or an alias ARN, so resolution belongs in one place
|
|
10
|
+
* rather than in each command handler.
|
|
11
|
+
*/
|
|
12
|
+
export class SimKmsKeyStore {
|
|
13
|
+
keys = new Map();
|
|
14
|
+
aliases = new Map();
|
|
15
|
+
accountRegionScope;
|
|
16
|
+
keyFactory;
|
|
17
|
+
identifiers;
|
|
18
|
+
constructor(properties) {
|
|
19
|
+
this.accountRegionScope = properties.accountRegionScope;
|
|
20
|
+
this.keyFactory = properties.keyFactory;
|
|
21
|
+
this.identifiers = new SimKmsKeyIdentifierParser(properties.accountRegionScope);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Store a newly created key.
|
|
25
|
+
*/
|
|
26
|
+
add(key) {
|
|
27
|
+
this.keys.set(key.keyId, key);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve a KeyId to the key it names, or refuse.
|
|
31
|
+
*/
|
|
32
|
+
require(keyId) {
|
|
33
|
+
if (keyId === undefined || keyId === "") {
|
|
34
|
+
throw new SimKmsValidationException("KeyId is required");
|
|
35
|
+
}
|
|
36
|
+
const key = this.find(keyId);
|
|
37
|
+
if (key === undefined) {
|
|
38
|
+
throw new SimKmsNotFoundException(`Key '${keyId}' does not exist in Account ${this.accountRegionScope.accountId} Region ${this.accountRegionScope.regionName}`);
|
|
39
|
+
}
|
|
40
|
+
return key;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolve a KeyId in any of the forms real KMS accepts.
|
|
44
|
+
*
|
|
45
|
+
* An alias of an AWS managed key resolves to a key created on demand, since
|
|
46
|
+
* that is how such a key comes into existence on real AWS: the service that
|
|
47
|
+
* needs it asks for it, and it appears without anyone creating it.
|
|
48
|
+
*/
|
|
49
|
+
find(keyId) {
|
|
50
|
+
const identifier = this.identifiers.parse(keyId);
|
|
51
|
+
if (identifier.aliasName !== undefined) {
|
|
52
|
+
return this.findByAlias(identifier.aliasName);
|
|
53
|
+
}
|
|
54
|
+
if (identifier.keyId === undefined) {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
return this.keys.get(identifier.keyId);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Point an alias at a key, refusing a name already in use.
|
|
61
|
+
*/
|
|
62
|
+
addAlias(aliasName, targetKey) {
|
|
63
|
+
if (this.aliases.has(aliasName)) {
|
|
64
|
+
throw new SimKmsAlreadyExistsException(`Alias '${aliasName}' already exists`);
|
|
65
|
+
}
|
|
66
|
+
const alias = new SimKmsAlias({
|
|
67
|
+
aliasName,
|
|
68
|
+
targetKeyId: targetKey.keyId,
|
|
69
|
+
accountRegionScope: this.accountRegionScope,
|
|
70
|
+
});
|
|
71
|
+
this.aliases.set(aliasName, alias);
|
|
72
|
+
return alias;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The aliases pointing at one key, or all of them.
|
|
76
|
+
*/
|
|
77
|
+
aliasesFor(keyId) {
|
|
78
|
+
const all = this.aliases.values().toArray();
|
|
79
|
+
if (keyId === undefined) {
|
|
80
|
+
return all;
|
|
81
|
+
}
|
|
82
|
+
return all.filter((alias) => alias.targetKeyId === keyId);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Find the key an alias points at, creating an AWS managed key if the alias
|
|
86
|
+
* is a reserved one that has not been used yet.
|
|
87
|
+
*/
|
|
88
|
+
findByAlias(aliasName) {
|
|
89
|
+
const alias = this.aliases.get(aliasName);
|
|
90
|
+
if (alias !== undefined) {
|
|
91
|
+
return this.keys.get(alias.targetKeyId);
|
|
92
|
+
}
|
|
93
|
+
if (!aliasName.startsWith(simKmsAwsAliasPrefix)) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return this.makeAwsManagedKey(aliasName);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Create an AWS managed key on first reference to its reserved alias.
|
|
100
|
+
*/
|
|
101
|
+
makeAwsManagedKey(aliasName) {
|
|
102
|
+
const key = this.keyFactory.make({
|
|
103
|
+
description: `Default key that protects my ${aliasName.slice(simKmsAwsAliasPrefix.length)} resources when no other key is defined`,
|
|
104
|
+
keyManager: SimKmsKeyManager.Aws,
|
|
105
|
+
});
|
|
106
|
+
this.add(key);
|
|
107
|
+
this.addAlias(aliasName, key);
|
|
108
|
+
return key;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=sim-kms-key-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-store.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAQ1B;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACT,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAExC,kBAAkB,CAA2B;IAC7C,UAAU,CAAmB;IAC7B,WAAW,CAA4B;IAExD,YAAY,UAAoC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAyB,CAC9C,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAc;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAyB;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,uBAAuB,CAC/B,QAAQ,KAAK,+BAA+B,IAAI,CAAC,kBAAkB,CAAC,SAAS,WAAW,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAC7H,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAa;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB,EAAE,SAAoB;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,4BAA4B,CACpC,UAAU,SAAS,kBAAkB,CACtC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;YAC5B,SAAS;YACT,WAAW,EAAE,SAAS,CAAC,KAAK;YAC5B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAA8B;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,SAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,SAAiB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,WAAW,EAAE,gCAAgC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,yCAAyC;YAClI,UAAU,EAAE,gBAAgB,CAAC,GAAG;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { SimKmsCiphertextBlobParts } from "./sim-kms-ciphertext-blob.js";
|
|
3
|
+
import type { SimKmsEncryptionContext } from "./sim-kms-encryption-context.js";
|
|
4
|
+
import { type SimKmsKeyState } from "./sim-kms-key-lifecycle.js";
|
|
5
|
+
import type { SimKmsKeyMaterial } from "./sim-kms-key-material.js";
|
|
6
|
+
import type { SimKmsKeyPolicy } from "./sim-kms-key-policy.js";
|
|
7
|
+
export { SimKmsKeyState } from "./sim-kms-key-lifecycle.js";
|
|
8
|
+
/**
|
|
9
|
+
* Who created and controls a key. AWS managed keys are created by a service
|
|
10
|
+
* on first use rather than by the customer, and cannot be deleted.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SimKmsKeyManager: {
|
|
13
|
+
readonly Aws: "AWS";
|
|
14
|
+
readonly Customer: "CUSTOMER";
|
|
15
|
+
};
|
|
16
|
+
export type SimKmsKeyManager = (typeof SimKmsKeyManager)[keyof typeof SimKmsKeyManager];
|
|
17
|
+
export type SimKmsKeyId = string;
|
|
18
|
+
interface SimKmsKeyProperties {
|
|
19
|
+
readonly keyId: SimKmsKeyId;
|
|
20
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
21
|
+
readonly material: SimKmsKeyMaterial;
|
|
22
|
+
readonly policy: SimKmsKeyPolicy;
|
|
23
|
+
readonly creationDate: Date;
|
|
24
|
+
readonly description?: string | undefined;
|
|
25
|
+
readonly keyManager?: SimKmsKeyManager | undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A stored simulated KMS key.
|
|
29
|
+
*
|
|
30
|
+
* The key owns its material, its policy and its lifecycle, because all three
|
|
31
|
+
* live exactly as long as the key does and every cryptographic operation needs
|
|
32
|
+
* to consult all three.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SimKmsKey {
|
|
35
|
+
readonly keyId: SimKmsKeyId;
|
|
36
|
+
readonly arn: string;
|
|
37
|
+
readonly creationDate: Date;
|
|
38
|
+
readonly keyManager: SimKmsKeyManager;
|
|
39
|
+
readonly policy: SimKmsKeyPolicy;
|
|
40
|
+
readonly description: string;
|
|
41
|
+
private readonly material;
|
|
42
|
+
private readonly lifecycle;
|
|
43
|
+
constructor(properties: SimKmsKeyProperties);
|
|
44
|
+
/**
|
|
45
|
+
* The key's current lifecycle state.
|
|
46
|
+
*/
|
|
47
|
+
get keyState(): SimKmsKeyState;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the key is enabled, as DescribeKey reports it.
|
|
50
|
+
*/
|
|
51
|
+
get isEnabled(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* When the key is due to be deleted, if deletion is scheduled.
|
|
54
|
+
*/
|
|
55
|
+
get deletionDate(): Date | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Enable the key.
|
|
58
|
+
*/
|
|
59
|
+
enable(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Disable the key, leaving it present but unusable.
|
|
62
|
+
*/
|
|
63
|
+
disable(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Schedule the key for deletion after a recovery window.
|
|
66
|
+
*
|
|
67
|
+
* An AWS managed key is refused. The service that owns it created it and
|
|
68
|
+
* only that service can remove it, so letting a test delete one would let
|
|
69
|
+
* the test pass on something real AWS would not allow. The failure is
|
|
70
|
+
* reported as an invalid state, which is one of the errors real
|
|
71
|
+
* ScheduleKeyDeletion returns, rather than claiming to know exactly which
|
|
72
|
+
* error AWS picks for this case.
|
|
73
|
+
*/
|
|
74
|
+
scheduleDeletion(deletionDate: Date): void;
|
|
75
|
+
/**
|
|
76
|
+
* Cancel a scheduled deletion, leaving the key disabled.
|
|
77
|
+
*/
|
|
78
|
+
cancelDeletion(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Encrypt plaintext under this key.
|
|
81
|
+
*/
|
|
82
|
+
encrypt(plaintext: Uint8Array, encryptionContext?: SimKmsEncryptionContext): Uint8Array;
|
|
83
|
+
/**
|
|
84
|
+
* Decrypt a ciphertext produced under this key.
|
|
85
|
+
*/
|
|
86
|
+
decrypt(parts: SimKmsCiphertextBlobParts, encryptionContext?: SimKmsEncryptionContext): Uint8Array;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=sim-kms-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;aAC3B,GAAG,EAAE,KAAK;aACV,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,YAAY,EAAE,IAAI,CAAC;IACnC,SAAgB,UAAU,EAAE,gBAAgB,CAAC;IAC7C,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,UAAU,EAAE,mBAAmB,EAW1C;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,IAAI,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAEd;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAQzC;IAED;;OAEG;IACH,cAAc,IAAI,IAAI,CAErB;IAED;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,UAAU,EACrB,iBAAiB,CAAC,EAAE,uBAAuB,GAC1C,UAAU,CAGZ;IAED;;OAEG;IACH,OAAO,CACL,KAAK,EAAE,yBAAyB,EAChC,iBAAiB,CAAC,EAAE,uBAAuB,GAC1C,UAAU,CAGZ;CACF"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { SimKmsInvalidStateException } from "../error/sim-kms.error.js";
|
|
2
|
+
import { SimKmsKeyLifecycle, } from "./sim-kms-key-lifecycle.js";
|
|
3
|
+
export { SimKmsKeyState } from "./sim-kms-key-lifecycle.js";
|
|
4
|
+
/**
|
|
5
|
+
* Who created and controls a key. AWS managed keys are created by a service
|
|
6
|
+
* on first use rather than by the customer, and cannot be deleted.
|
|
7
|
+
*/
|
|
8
|
+
export const SimKmsKeyManager = {
|
|
9
|
+
Aws: "AWS",
|
|
10
|
+
Customer: "CUSTOMER",
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A stored simulated KMS key.
|
|
14
|
+
*
|
|
15
|
+
* The key owns its material, its policy and its lifecycle, because all three
|
|
16
|
+
* live exactly as long as the key does and every cryptographic operation needs
|
|
17
|
+
* to consult all three.
|
|
18
|
+
*/
|
|
19
|
+
export class SimKmsKey {
|
|
20
|
+
keyId;
|
|
21
|
+
arn;
|
|
22
|
+
creationDate;
|
|
23
|
+
keyManager;
|
|
24
|
+
policy;
|
|
25
|
+
description;
|
|
26
|
+
material;
|
|
27
|
+
lifecycle;
|
|
28
|
+
constructor(properties) {
|
|
29
|
+
const { accountRegionScope } = properties;
|
|
30
|
+
this.keyId = properties.keyId;
|
|
31
|
+
this.arn = `arn:aws:kms:${accountRegionScope.regionName}:${accountRegionScope.accountId}:key/${properties.keyId}`;
|
|
32
|
+
this.material = properties.material;
|
|
33
|
+
this.policy = properties.policy;
|
|
34
|
+
this.creationDate = properties.creationDate;
|
|
35
|
+
this.description = properties.description ?? "";
|
|
36
|
+
this.keyManager = properties.keyManager ?? SimKmsKeyManager.Customer;
|
|
37
|
+
this.lifecycle = new SimKmsKeyLifecycle(this.arn);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The key's current lifecycle state.
|
|
41
|
+
*/
|
|
42
|
+
get keyState() {
|
|
43
|
+
return this.lifecycle.state;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether the key is enabled, as DescribeKey reports it.
|
|
47
|
+
*/
|
|
48
|
+
get isEnabled() {
|
|
49
|
+
return this.lifecycle.isEnabled;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* When the key is due to be deleted, if deletion is scheduled.
|
|
53
|
+
*/
|
|
54
|
+
get deletionDate() {
|
|
55
|
+
return this.lifecycle.deletionDate;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Enable the key.
|
|
59
|
+
*/
|
|
60
|
+
enable() {
|
|
61
|
+
this.lifecycle.enable();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Disable the key, leaving it present but unusable.
|
|
65
|
+
*/
|
|
66
|
+
disable() {
|
|
67
|
+
this.lifecycle.disable();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Schedule the key for deletion after a recovery window.
|
|
71
|
+
*
|
|
72
|
+
* An AWS managed key is refused. The service that owns it created it and
|
|
73
|
+
* only that service can remove it, so letting a test delete one would let
|
|
74
|
+
* the test pass on something real AWS would not allow. The failure is
|
|
75
|
+
* reported as an invalid state, which is one of the errors real
|
|
76
|
+
* ScheduleKeyDeletion returns, rather than claiming to know exactly which
|
|
77
|
+
* error AWS picks for this case.
|
|
78
|
+
*/
|
|
79
|
+
scheduleDeletion(deletionDate) {
|
|
80
|
+
if (this.keyManager === SimKmsKeyManager.Aws) {
|
|
81
|
+
throw new SimKmsInvalidStateException(`Key ${this.arn} is an AWS managed key and cannot be scheduled for deletion`);
|
|
82
|
+
}
|
|
83
|
+
this.lifecycle.scheduleDeletion(deletionDate);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Cancel a scheduled deletion, leaving the key disabled.
|
|
87
|
+
*/
|
|
88
|
+
cancelDeletion() {
|
|
89
|
+
this.lifecycle.cancelDeletion();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Encrypt plaintext under this key.
|
|
93
|
+
*/
|
|
94
|
+
encrypt(plaintext, encryptionContext) {
|
|
95
|
+
this.lifecycle.requireUsable();
|
|
96
|
+
return this.material.encrypt(plaintext, encryptionContext);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Decrypt a ciphertext produced under this key.
|
|
100
|
+
*/
|
|
101
|
+
decrypt(parts, encryptionContext) {
|
|
102
|
+
this.lifecycle.requireUsable();
|
|
103
|
+
return this.material.decrypt(parts, encryptionContext);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=sim-kms-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EACL,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;CACZ,CAAC;AAiBX;;;;;;GAMG;AACH,MAAM,OAAO,SAAS;IACJ,KAAK,CAAc;IACnB,GAAG,CAAS;IACZ,YAAY,CAAO;IACnB,UAAU,CAAmB;IAC7B,MAAM,CAAkB;IACxB,WAAW,CAAS;IAEnB,QAAQ,CAAoB;IAC5B,SAAS,CAAqB;IAE/C,YAAY,UAA+B;QACzC,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;QAE1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,eAAe,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,CAAC,SAAS,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;QAClH,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,gBAAgB,CAAC,QAAQ,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,YAAkB;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,2BAA2B,CACnC,OAAO,IAAI,CAAC,GAAG,6DAA6D,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,OAAO,CACL,SAAqB,EACrB,iBAA2C;QAE3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,OAAO,CACL,KAAgC,EAChC,iBAA2C;QAE3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reads a key policy from the JSON string the real KMS API takes.
|
|
4
|
+
*
|
|
5
|
+
* CreateKey and PutKeyPolicy both take the policy this way, so parsing it, and
|
|
6
|
+
* refusing it in the same terms when it is not a policy document, belongs in
|
|
7
|
+
* one place.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimKmsPolicyDocument {
|
|
10
|
+
/**
|
|
11
|
+
* Parse a policy, or refuse if it is not valid JSON.
|
|
12
|
+
*
|
|
13
|
+
* A document object is accepted too, because writing one inline is the
|
|
14
|
+
* obvious thing to do from a test and stringifying it adds nothing.
|
|
15
|
+
*/
|
|
16
|
+
parse(policy: string | SimIamPolicyDocument): SimIamPolicyDocument;
|
|
17
|
+
/**
|
|
18
|
+
* Parse an optional policy, leaving it undefined when none was given.
|
|
19
|
+
*/
|
|
20
|
+
parseOptional(policy: string | undefined): SimIamPolicyDocument | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* A policy has to be a JSON object. `null`, an array and a bare scalar are
|
|
23
|
+
* all valid JSON and none of them is a policy document, so refusing them
|
|
24
|
+
* here reports the problem where it was made rather than at the point some
|
|
25
|
+
* later authorization tries to evaluate them.
|
|
26
|
+
*/
|
|
27
|
+
private requireDocument;
|
|
28
|
+
private parsed;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sim-kms-policy-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-policy-document.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-policy-document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,oBAAoB,CAMjE;IAED;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAM1E;IAED;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,MAAM;CASf"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { SimKmsValidationException } from "../error/sim-kms.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reads a key policy from the JSON string the real KMS API takes.
|
|
4
|
+
*
|
|
5
|
+
* CreateKey and PutKeyPolicy both take the policy this way, so parsing it, and
|
|
6
|
+
* refusing it in the same terms when it is not a policy document, belongs in
|
|
7
|
+
* one place.
|
|
8
|
+
*/
|
|
9
|
+
export class SimKmsPolicyDocument {
|
|
10
|
+
/**
|
|
11
|
+
* Parse a policy, or refuse if it is not valid JSON.
|
|
12
|
+
*
|
|
13
|
+
* A document object is accepted too, because writing one inline is the
|
|
14
|
+
* obvious thing to do from a test and stringifying it adds nothing.
|
|
15
|
+
*/
|
|
16
|
+
parse(policy) {
|
|
17
|
+
if (typeof policy !== "string") {
|
|
18
|
+
return policy;
|
|
19
|
+
}
|
|
20
|
+
return this.requireDocument(this.parsed(policy));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse an optional policy, leaving it undefined when none was given.
|
|
24
|
+
*/
|
|
25
|
+
parseOptional(policy) {
|
|
26
|
+
if (policy === undefined) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
return this.parse(policy);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A policy has to be a JSON object. `null`, an array and a bare scalar are
|
|
33
|
+
* all valid JSON and none of them is a policy document, so refusing them
|
|
34
|
+
* here reports the problem where it was made rather than at the point some
|
|
35
|
+
* later authorization tries to evaluate them.
|
|
36
|
+
*/
|
|
37
|
+
requireDocument(parsed) {
|
|
38
|
+
if (typeof parsed !== "object" ||
|
|
39
|
+
parsed === null ||
|
|
40
|
+
Array.isArray(parsed)) {
|
|
41
|
+
throw new SimKmsValidationException("Policy is not a valid JSON policy document");
|
|
42
|
+
}
|
|
43
|
+
return parsed;
|
|
44
|
+
}
|
|
45
|
+
parsed(policy) {
|
|
46
|
+
try {
|
|
47
|
+
return JSON.parse(policy);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
throw new SimKmsValidationException("Policy is not a valid JSON policy document");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=sim-kms-policy-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-policy-document.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-policy-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAGtE;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;;;OAKG;IACH,KAAK,CAAC,MAAqC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAA0B;QACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,MAAe;QACrC,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC;YACD,MAAM,IAAI,yBAAyB,CACjC,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,MAAc;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,yBAAyB,CACjC,4CAA4C,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type SimSdkCommandRoute, type SimSdkCommandRouter } from "../../../sdk/index.js";
|
|
2
|
+
import type { SimKms } from "../sim-kms.js";
|
|
3
|
+
/**
|
|
4
|
+
* Routes intercepted SDK Commands to one scoped simulated KMS instance.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimKmsSdkCommandRouter implements SimSdkCommandRouter {
|
|
7
|
+
private readonly routes;
|
|
8
|
+
constructor(simKms: SimKms);
|
|
9
|
+
/**
|
|
10
|
+
* The SDK Command names simulated KMS can handle.
|
|
11
|
+
*/
|
|
12
|
+
supportedCommandNames(): readonly string[];
|
|
13
|
+
/**
|
|
14
|
+
* Get the route for an SDK Command name, if simulated KMS supports it.
|
|
15
|
+
*/
|
|
16
|
+
route(commandName: string): SimSdkCommandRoute | undefined;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-kms-sdk-command-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/sdk/sim-kms-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,YAAY,MAAM,EAAE,MAAM,EAmHzB;IAED;;OAEG;IACH,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzD;CACF"}
|