@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 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-encryption-context.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-encryption-context.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACH,SAAS,CAAC,OAA4C;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,OAA4C;QAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAC3B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACxD,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAC5D;aACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SimClock } from "../../../util/clock/sim-clock.js";
|
|
2
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
|
|
4
|
+
import { SimKmsKey, type SimKmsKeyManager } from "./sim-kms-key.js";
|
|
5
|
+
interface SimKmsKeyFactoryProperties {
|
|
6
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
7
|
+
readonly clock: SimClock;
|
|
8
|
+
}
|
|
9
|
+
interface SimKmsMakeKeyProperties {
|
|
10
|
+
readonly description?: string | undefined;
|
|
11
|
+
readonly policy?: SimIamPolicyDocument | undefined;
|
|
12
|
+
readonly keyManager?: SimKmsKeyManager | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Builds simulated KMS keys, including their key material.
|
|
16
|
+
*
|
|
17
|
+
* Key creation has to assemble an identifier, an ARN, real AES key material
|
|
18
|
+
* and a policy that all agree with each other, so it happens in one place
|
|
19
|
+
* rather than at each call site that needs a key.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimKmsKeyFactory {
|
|
22
|
+
private readonly accountRegionScope;
|
|
23
|
+
private readonly clock;
|
|
24
|
+
private readonly blob;
|
|
25
|
+
constructor(properties: SimKmsKeyFactoryProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Make a new key with fresh key material.
|
|
28
|
+
*
|
|
29
|
+
* Real key IDs are UUIDs, and code in the wild parses them that way, so
|
|
30
|
+
* these are real UUIDs rather than a shorter simulator-only identifier.
|
|
31
|
+
*/
|
|
32
|
+
make(properties?: SimKmsMakeKeyProperties): SimKmsKey;
|
|
33
|
+
private keyPolicy;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=sim-kms-key-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,UAAU,0BAA0B;IAClC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IAEnD,YAAY,UAAU,EAAE,0BAA0B,EAGjD;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAAE,uBAA4B,GAAG,SAAS,CAaxD;IAED,OAAO,CAAC,SAAS;CAUlB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { SimKmsCiphertextBlob } from "./sim-kms-ciphertext-blob.js";
|
|
3
|
+
import { SimKmsKey } from "./sim-kms-key.js";
|
|
4
|
+
import { SimKmsKeyMaterial } from "./sim-kms-key-material.js";
|
|
5
|
+
import { SimKmsKeyPolicy } from "./sim-kms-key-policy.js";
|
|
6
|
+
/**
|
|
7
|
+
* Builds simulated KMS keys, including their key material.
|
|
8
|
+
*
|
|
9
|
+
* Key creation has to assemble an identifier, an ARN, real AES key material
|
|
10
|
+
* and a policy that all agree with each other, so it happens in one place
|
|
11
|
+
* rather than at each call site that needs a key.
|
|
12
|
+
*/
|
|
13
|
+
export class SimKmsKeyFactory {
|
|
14
|
+
accountRegionScope;
|
|
15
|
+
clock;
|
|
16
|
+
blob = new SimKmsCiphertextBlob();
|
|
17
|
+
constructor(properties) {
|
|
18
|
+
this.accountRegionScope = properties.accountRegionScope;
|
|
19
|
+
this.clock = properties.clock;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Make a new key with fresh key material.
|
|
23
|
+
*
|
|
24
|
+
* Real key IDs are UUIDs, and code in the wild parses them that way, so
|
|
25
|
+
* these are real UUIDs rather than a shorter simulator-only identifier.
|
|
26
|
+
*/
|
|
27
|
+
make(properties = {}) {
|
|
28
|
+
const keyId = randomUUID();
|
|
29
|
+
const arn = `arn:aws:kms:${this.accountRegionScope.regionName}:${this.accountRegionScope.accountId}:key/${keyId}`;
|
|
30
|
+
return new SimKmsKey({
|
|
31
|
+
keyId,
|
|
32
|
+
accountRegionScope: this.accountRegionScope,
|
|
33
|
+
material: new SimKmsKeyMaterial({ keyArn: arn, blob: this.blob }),
|
|
34
|
+
policy: this.keyPolicy(arn, properties.policy),
|
|
35
|
+
creationDate: this.clock.now(),
|
|
36
|
+
description: properties.description,
|
|
37
|
+
keyManager: properties.keyManager,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
keyPolicy(keyArn, document) {
|
|
41
|
+
if (document === undefined) {
|
|
42
|
+
return SimKmsKeyPolicy.default(keyArn, this.accountRegionScope.accountId);
|
|
43
|
+
}
|
|
44
|
+
return new SimKmsKeyPolicy(keyArn, document);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=sim-kms-key-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAyB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAa1D;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACV,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAChB,IAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEnD,YAAY,UAAsC;QAChD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAA4B,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,eAAe,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,QAAQ,KAAK,EAAE,CAAC;QAElH,OAAO,IAAI,SAAS,CAAC;YACnB,KAAK;YACL,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;YAC9C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CACf,MAAc,EACd,QAA0C;QAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* What a KeyId names: an alias, a key, or nothing this scope can resolve.
|
|
4
|
+
*/
|
|
5
|
+
export declare class SimKmsKeyIdentifier {
|
|
6
|
+
readonly aliasName: string | undefined;
|
|
7
|
+
readonly keyId: string | undefined;
|
|
8
|
+
private constructor();
|
|
9
|
+
/**
|
|
10
|
+
* An identifier naming nothing resolvable here.
|
|
11
|
+
*/
|
|
12
|
+
static none(): SimKmsKeyIdentifier;
|
|
13
|
+
/**
|
|
14
|
+
* An identifier naming an alias.
|
|
15
|
+
*/
|
|
16
|
+
static alias(aliasName: string): SimKmsKeyIdentifier;
|
|
17
|
+
/**
|
|
18
|
+
* An identifier naming a key.
|
|
19
|
+
*/
|
|
20
|
+
static key(keyId: string): SimKmsKeyIdentifier;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Reads the four forms of KeyId real KMS accepts, within one scope.
|
|
24
|
+
*
|
|
25
|
+
* A key ARN and an alias ARN both name an Account and a Region, and KMS keys
|
|
26
|
+
* are scoped to both. An ARN belonging to somewhere else therefore resolves to
|
|
27
|
+
* nothing here rather than having its identifier pulled out and looked up
|
|
28
|
+
* locally, which would let a foreign ARN reach a key that happens to share an
|
|
29
|
+
* identifier.
|
|
30
|
+
*/
|
|
31
|
+
export declare class SimKmsKeyIdentifierParser {
|
|
32
|
+
private readonly accountRegionScope;
|
|
33
|
+
constructor(accountRegionScope: SimAwsAccountRegionScope);
|
|
34
|
+
/**
|
|
35
|
+
* Read what a KeyId names.
|
|
36
|
+
*/
|
|
37
|
+
parse(keyId: string): SimKmsKeyIdentifier;
|
|
38
|
+
/**
|
|
39
|
+
* Read a key or alias ARN, refusing one belonging to another scope.
|
|
40
|
+
*/
|
|
41
|
+
private parseArn;
|
|
42
|
+
private parseArnResource;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sim-kms-key-identifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-identifier.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAG1F;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAgB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,OAAO,eAMN;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,IAAI,mBAAmB,CAEjC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAEnD;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAE7C;CACF;AAED;;;;;;;;GAQG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAE9D,YAAY,kBAAkB,EAAE,wBAAwB,EAEvD;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAUxC;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { simKmsAliasPrefix } from "./sim-kms-alias.js";
|
|
2
|
+
/**
|
|
3
|
+
* What a KeyId names: an alias, a key, or nothing this scope can resolve.
|
|
4
|
+
*/
|
|
5
|
+
export class SimKmsKeyIdentifier {
|
|
6
|
+
aliasName;
|
|
7
|
+
keyId;
|
|
8
|
+
constructor(aliasName, keyId) {
|
|
9
|
+
this.aliasName = aliasName;
|
|
10
|
+
this.keyId = keyId;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* An identifier naming nothing resolvable here.
|
|
14
|
+
*/
|
|
15
|
+
static none() {
|
|
16
|
+
return new SimKmsKeyIdentifier(undefined, undefined);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* An identifier naming an alias.
|
|
20
|
+
*/
|
|
21
|
+
static alias(aliasName) {
|
|
22
|
+
return new SimKmsKeyIdentifier(aliasName, undefined);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An identifier naming a key.
|
|
26
|
+
*/
|
|
27
|
+
static key(keyId) {
|
|
28
|
+
return new SimKmsKeyIdentifier(undefined, keyId);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Reads the four forms of KeyId real KMS accepts, within one scope.
|
|
33
|
+
*
|
|
34
|
+
* A key ARN and an alias ARN both name an Account and a Region, and KMS keys
|
|
35
|
+
* are scoped to both. An ARN belonging to somewhere else therefore resolves to
|
|
36
|
+
* nothing here rather than having its identifier pulled out and looked up
|
|
37
|
+
* locally, which would let a foreign ARN reach a key that happens to share an
|
|
38
|
+
* identifier.
|
|
39
|
+
*/
|
|
40
|
+
export class SimKmsKeyIdentifierParser {
|
|
41
|
+
accountRegionScope;
|
|
42
|
+
constructor(accountRegionScope) {
|
|
43
|
+
this.accountRegionScope = accountRegionScope;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read what a KeyId names.
|
|
47
|
+
*/
|
|
48
|
+
parse(keyId) {
|
|
49
|
+
if (keyId.startsWith("arn:")) {
|
|
50
|
+
return this.parseArn(keyId);
|
|
51
|
+
}
|
|
52
|
+
if (keyId.startsWith(simKmsAliasPrefix)) {
|
|
53
|
+
return SimKmsKeyIdentifier.alias(keyId);
|
|
54
|
+
}
|
|
55
|
+
return SimKmsKeyIdentifier.key(keyId);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Read a key or alias ARN, refusing one belonging to another scope.
|
|
59
|
+
*/
|
|
60
|
+
parseArn(arn) {
|
|
61
|
+
const [, partition, service, regionName, accountId, ...rest] = arn.split(":");
|
|
62
|
+
if (partition !== "aws" ||
|
|
63
|
+
service !== "kms" ||
|
|
64
|
+
regionName !== this.accountRegionScope.regionName ||
|
|
65
|
+
accountId !== this.accountRegionScope.accountId) {
|
|
66
|
+
return SimKmsKeyIdentifier.none();
|
|
67
|
+
}
|
|
68
|
+
return this.parseArnResource(rest.join(":"));
|
|
69
|
+
}
|
|
70
|
+
parseArnResource(resource) {
|
|
71
|
+
if (resource.startsWith(simKmsAliasPrefix)) {
|
|
72
|
+
return SimKmsKeyIdentifier.alias(resource);
|
|
73
|
+
}
|
|
74
|
+
const keyId = /^key\/(.+)$/u.exec(resource)?.[1];
|
|
75
|
+
if (keyId === undefined) {
|
|
76
|
+
return SimKmsKeyIdentifier.none();
|
|
77
|
+
}
|
|
78
|
+
return SimKmsKeyIdentifier.key(keyId);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=sim-kms-key-identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-identifier.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-identifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACd,SAAS,CAAqB;IAC9B,KAAK,CAAqB;IAE1C,YACE,SAA6B,EAC7B,KAAyB;QAEzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAiB;QAC5B,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,KAAa;QACtB,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACnB,kBAAkB,CAA2B;IAE9D,YAAY,kBAA4C;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxC,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAW;QAC1B,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAC1D,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjB,IACE,SAAS,KAAK,KAAK;YACnB,OAAO,KAAK,KAAK;YACjB,UAAU,KAAK,IAAI,CAAC,kBAAkB,CAAC,UAAU;YACjD,SAAS,KAAK,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAC/C,CAAC;YACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,OAAO,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The lifecycle states a simulated KMS key can be in.
|
|
3
|
+
*
|
|
4
|
+
* Real KMS has more of them, covering imported material, external key stores
|
|
5
|
+
* and multi-Region replication. These are the three a key reaches through the
|
|
6
|
+
* operations this simulation supports.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SimKmsKeyState: {
|
|
9
|
+
readonly Enabled: "Enabled";
|
|
10
|
+
readonly Disabled: "Disabled";
|
|
11
|
+
readonly PendingDeletion: "PendingDeletion";
|
|
12
|
+
};
|
|
13
|
+
export type SimKmsKeyState = (typeof SimKmsKeyState)[keyof typeof SimKmsKeyState];
|
|
14
|
+
/**
|
|
15
|
+
* The lifecycle state of one simulated KMS key, and the moves it allows.
|
|
16
|
+
*
|
|
17
|
+
* Kept apart from the key itself so that the key is about what it holds and
|
|
18
|
+
* what it can do with it, while the rules about which transitions are legal
|
|
19
|
+
* and which failure each illegal one produces live in one place.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimKmsKeyLifecycle {
|
|
22
|
+
private readonly keyArn;
|
|
23
|
+
private currentState;
|
|
24
|
+
private scheduledDeletionDate;
|
|
25
|
+
constructor(keyArn: string);
|
|
26
|
+
/**
|
|
27
|
+
* The current lifecycle state.
|
|
28
|
+
*/
|
|
29
|
+
get state(): SimKmsKeyState;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the key is enabled, as DescribeKey reports it.
|
|
32
|
+
*/
|
|
33
|
+
get isEnabled(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* When the key is due to be deleted, if deletion is scheduled.
|
|
36
|
+
*/
|
|
37
|
+
get deletionDate(): Date | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Enable the key, if it is not pending deletion.
|
|
40
|
+
*/
|
|
41
|
+
enable(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Disable the key, if it is not pending deletion.
|
|
44
|
+
*/
|
|
45
|
+
disable(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Schedule the key for deletion after a recovery window.
|
|
48
|
+
*
|
|
49
|
+
* Real KMS does not delete a key on request. It waits out the window, during
|
|
50
|
+
* which the key is unusable but recoverable, because deleting key material
|
|
51
|
+
* destroys every ciphertext ever produced under it.
|
|
52
|
+
*/
|
|
53
|
+
scheduleDeletion(deletionDate: Date): void;
|
|
54
|
+
/**
|
|
55
|
+
* Cancel a scheduled deletion, leaving the key disabled.
|
|
56
|
+
*
|
|
57
|
+
* Real KMS does not restore the key to enabled: cancelling returns it to
|
|
58
|
+
* Disabled, and enabling it again is a separate deliberate step.
|
|
59
|
+
*/
|
|
60
|
+
cancelDeletion(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Refuse a cryptographic operation the current state does not allow.
|
|
63
|
+
*
|
|
64
|
+
* The two unusable states fail differently on real KMS, and the difference
|
|
65
|
+
* is worth keeping: DisabledException says to enable the key, while
|
|
66
|
+
* KMSInvalidStateException says the key is on its way out.
|
|
67
|
+
*/
|
|
68
|
+
requireUsable(): void;
|
|
69
|
+
private refuseWhilePendingDeletion;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=sim-kms-key-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-lifecycle.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;aACzB,OAAO,EAAE,SAAS;aAClB,QAAQ,EAAE,UAAU;aACpB,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEX,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,qBAAqB,CAAmB;IAEhD,YAAY,MAAM,EAAE,MAAM,EAEzB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,IAAI,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,MAAM,IAAI,IAAI,CAGb;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAGd;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAIzC;IAED;;;;;OAKG;IACH,cAAc,IAAI,IAAI,CASrB;IAED;;;;;;OAMG;IACH,aAAa,IAAI,IAAI,CAUpB;IAED,OAAO,CAAC,0BAA0B;CAOnC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { SimKmsDisabledException, SimKmsInvalidStateException, } from "../error/sim-kms.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The lifecycle states a simulated KMS key can be in.
|
|
4
|
+
*
|
|
5
|
+
* Real KMS has more of them, covering imported material, external key stores
|
|
6
|
+
* and multi-Region replication. These are the three a key reaches through the
|
|
7
|
+
* operations this simulation supports.
|
|
8
|
+
*/
|
|
9
|
+
export const SimKmsKeyState = {
|
|
10
|
+
Enabled: "Enabled",
|
|
11
|
+
Disabled: "Disabled",
|
|
12
|
+
PendingDeletion: "PendingDeletion",
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The lifecycle state of one simulated KMS key, and the moves it allows.
|
|
16
|
+
*
|
|
17
|
+
* Kept apart from the key itself so that the key is about what it holds and
|
|
18
|
+
* what it can do with it, while the rules about which transitions are legal
|
|
19
|
+
* and which failure each illegal one produces live in one place.
|
|
20
|
+
*/
|
|
21
|
+
export class SimKmsKeyLifecycle {
|
|
22
|
+
keyArn;
|
|
23
|
+
currentState = SimKmsKeyState.Enabled;
|
|
24
|
+
scheduledDeletionDate;
|
|
25
|
+
constructor(keyArn) {
|
|
26
|
+
this.keyArn = keyArn;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The current lifecycle state.
|
|
30
|
+
*/
|
|
31
|
+
get state() {
|
|
32
|
+
return this.currentState;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether the key is enabled, as DescribeKey reports it.
|
|
36
|
+
*/
|
|
37
|
+
get isEnabled() {
|
|
38
|
+
return this.currentState === SimKmsKeyState.Enabled;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* When the key is due to be deleted, if deletion is scheduled.
|
|
42
|
+
*/
|
|
43
|
+
get deletionDate() {
|
|
44
|
+
return this.scheduledDeletionDate;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Enable the key, if it is not pending deletion.
|
|
48
|
+
*/
|
|
49
|
+
enable() {
|
|
50
|
+
this.refuseWhilePendingDeletion("enable");
|
|
51
|
+
this.currentState = SimKmsKeyState.Enabled;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Disable the key, if it is not pending deletion.
|
|
55
|
+
*/
|
|
56
|
+
disable() {
|
|
57
|
+
this.refuseWhilePendingDeletion("disable");
|
|
58
|
+
this.currentState = SimKmsKeyState.Disabled;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Schedule the key for deletion after a recovery window.
|
|
62
|
+
*
|
|
63
|
+
* Real KMS does not delete a key on request. It waits out the window, during
|
|
64
|
+
* which the key is unusable but recoverable, because deleting key material
|
|
65
|
+
* destroys every ciphertext ever produced under it.
|
|
66
|
+
*/
|
|
67
|
+
scheduleDeletion(deletionDate) {
|
|
68
|
+
this.refuseWhilePendingDeletion("schedule");
|
|
69
|
+
this.currentState = SimKmsKeyState.PendingDeletion;
|
|
70
|
+
this.scheduledDeletionDate = deletionDate;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Cancel a scheduled deletion, leaving the key disabled.
|
|
74
|
+
*
|
|
75
|
+
* Real KMS does not restore the key to enabled: cancelling returns it to
|
|
76
|
+
* Disabled, and enabling it again is a separate deliberate step.
|
|
77
|
+
*/
|
|
78
|
+
cancelDeletion() {
|
|
79
|
+
if (this.currentState !== SimKmsKeyState.PendingDeletion) {
|
|
80
|
+
throw new SimKmsInvalidStateException(`Key ${this.keyArn} is not pending deletion`);
|
|
81
|
+
}
|
|
82
|
+
this.currentState = SimKmsKeyState.Disabled;
|
|
83
|
+
this.scheduledDeletionDate = undefined;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Refuse a cryptographic operation the current state does not allow.
|
|
87
|
+
*
|
|
88
|
+
* The two unusable states fail differently on real KMS, and the difference
|
|
89
|
+
* is worth keeping: DisabledException says to enable the key, while
|
|
90
|
+
* KMSInvalidStateException says the key is on its way out.
|
|
91
|
+
*/
|
|
92
|
+
requireUsable() {
|
|
93
|
+
if (this.currentState === SimKmsKeyState.PendingDeletion) {
|
|
94
|
+
throw new SimKmsInvalidStateException(`Key ${this.keyArn} is pending deletion and cannot be used`);
|
|
95
|
+
}
|
|
96
|
+
if (this.currentState === SimKmsKeyState.Disabled) {
|
|
97
|
+
throw new SimKmsDisabledException(`Key ${this.keyArn} is disabled`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
refuseWhilePendingDeletion(action) {
|
|
101
|
+
if (this.currentState === SimKmsKeyState.PendingDeletion) {
|
|
102
|
+
throw new SimKmsInvalidStateException(`Key ${this.keyArn} is already pending deletion and cannot be ${action}d`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=sim-kms-key-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-lifecycle.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAKX;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAS;IACxB,YAAY,GAAmB,cAAc,CAAC,OAAO,CAAC;IACtD,qBAAqB,CAAmB;IAEhD,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,OAAO,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAkB;QACjC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACZ,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,IAAI,2BAA2B,CACnC,OAAO,IAAI,CAAC,MAAM,0BAA0B,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,IAAI,2BAA2B,CACnC,OAAO,IAAI,CAAC,MAAM,yCAAyC,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,uBAAuB,CAAC,OAAO,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,MAAc;QAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,IAAI,2BAA2B,CACnC,OAAO,IAAI,CAAC,MAAM,8CAA8C,MAAM,GAAG,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SimKmsCiphertextBlobParts, type SimKmsCiphertextBlob } from "./sim-kms-ciphertext-blob.js";
|
|
2
|
+
import { type SimKmsEncryptionContext } from "./sim-kms-encryption-context.js";
|
|
3
|
+
interface SimKmsKeyMaterialProperties {
|
|
4
|
+
readonly keyArn: string;
|
|
5
|
+
readonly blob: SimKmsCiphertextBlob;
|
|
6
|
+
readonly bytes?: Uint8Array | undefined;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The key material of one simulated KMS key, and the operations that use it.
|
|
10
|
+
*
|
|
11
|
+
* The bytes are generated here and never leave: nothing exposes them, exactly
|
|
12
|
+
* as real key material never leaves KMS. That is a modelling choice rather
|
|
13
|
+
* than a security boundary, since this all runs in one process and anything
|
|
14
|
+
* sharing that process can reach the object.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimKmsKeyMaterial {
|
|
17
|
+
private readonly keyArn;
|
|
18
|
+
private readonly blob;
|
|
19
|
+
private readonly bytes;
|
|
20
|
+
private readonly aad;
|
|
21
|
+
constructor(properties: SimKmsKeyMaterialProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Encrypt plaintext under this key, binding the encryption context.
|
|
24
|
+
*/
|
|
25
|
+
encrypt(plaintext: Uint8Array, encryptionContext?: SimKmsEncryptionContext): Uint8Array;
|
|
26
|
+
/**
|
|
27
|
+
* Decrypt a ciphertext produced under this key.
|
|
28
|
+
*
|
|
29
|
+
* A wrong encryption context fails the GCM authentication tag rather than an
|
|
30
|
+
* explicit comparison, so the failure comes from the cipher for the same
|
|
31
|
+
* reason it does on real KMS.
|
|
32
|
+
*/
|
|
33
|
+
decrypt(parts: SimKmsCiphertextBlobParts, encryptionContext?: SimKmsEncryptionContext): Uint8Array;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=sim-kms-key-material.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-material.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-material.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAezC,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoC;IAExD,YAAY,UAAU,EAAE,2BAA2B,EAIlD;IAED;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,UAAU,EACrB,iBAAiB,CAAC,EAAE,uBAAuB,GAC1C,UAAU,CAoBZ;IAED;;;;;;OAMG;IACH,OAAO,CACL,KAAK,EAAE,yBAAyB,EAChC,iBAAiB,CAAC,EAAE,uBAAuB,GAC1C,UAAU,CAgBZ;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
|
|
2
|
+
import { SimKmsInvalidCiphertextException } from "../error/sim-kms.error.js";
|
|
3
|
+
import { SimKmsCiphertextBlobParts, } from "./sim-kms-ciphertext-blob.js";
|
|
4
|
+
import { SimKmsEncryptionContextAad, } from "./sim-kms-encryption-context.js";
|
|
5
|
+
/**
|
|
6
|
+
* The cipher backing a simulated symmetric KMS key.
|
|
7
|
+
*
|
|
8
|
+
* Real KMS symmetric keys are AES-256-GCM, so this uses the same thing rather
|
|
9
|
+
* than a stand-in. Encryption in this simulation is real encryption: a
|
|
10
|
+
* ciphertext genuinely cannot be read without the key, and the authentication
|
|
11
|
+
* tag genuinely fails on a tampered blob or a mismatched encryption context.
|
|
12
|
+
*/
|
|
13
|
+
const algorithm = "aes-256-gcm";
|
|
14
|
+
const keyLength = 32;
|
|
15
|
+
const ivLength = 12;
|
|
16
|
+
/**
|
|
17
|
+
* The key material of one simulated KMS key, and the operations that use it.
|
|
18
|
+
*
|
|
19
|
+
* The bytes are generated here and never leave: nothing exposes them, exactly
|
|
20
|
+
* as real key material never leaves KMS. That is a modelling choice rather
|
|
21
|
+
* than a security boundary, since this all runs in one process and anything
|
|
22
|
+
* sharing that process can reach the object.
|
|
23
|
+
*/
|
|
24
|
+
export class SimKmsKeyMaterial {
|
|
25
|
+
keyArn;
|
|
26
|
+
blob;
|
|
27
|
+
bytes;
|
|
28
|
+
aad = new SimKmsEncryptionContextAad();
|
|
29
|
+
constructor(properties) {
|
|
30
|
+
this.keyArn = properties.keyArn;
|
|
31
|
+
this.blob = properties.blob;
|
|
32
|
+
this.bytes = properties.bytes ?? randomBytes(keyLength);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Encrypt plaintext under this key, binding the encryption context.
|
|
36
|
+
*/
|
|
37
|
+
encrypt(plaintext, encryptionContext) {
|
|
38
|
+
const iv = randomBytes(ivLength);
|
|
39
|
+
const cipher = createCipheriv(algorithm, this.bytes, iv);
|
|
40
|
+
cipher.setAAD(this.aad.serialise(encryptionContext));
|
|
41
|
+
const ciphertext = Buffer.concat([
|
|
42
|
+
cipher.update(plaintext),
|
|
43
|
+
cipher.final(),
|
|
44
|
+
]);
|
|
45
|
+
const authTag = cipher.getAuthTag();
|
|
46
|
+
return this.blob.encode(new SimKmsCiphertextBlobParts({
|
|
47
|
+
keyArn: this.keyArn,
|
|
48
|
+
iv: Uint8Array.from(iv),
|
|
49
|
+
authTag: Uint8Array.from(authTag),
|
|
50
|
+
ciphertext: Uint8Array.from(ciphertext),
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Decrypt a ciphertext produced under this key.
|
|
55
|
+
*
|
|
56
|
+
* A wrong encryption context fails the GCM authentication tag rather than an
|
|
57
|
+
* explicit comparison, so the failure comes from the cipher for the same
|
|
58
|
+
* reason it does on real KMS.
|
|
59
|
+
*/
|
|
60
|
+
decrypt(parts, encryptionContext) {
|
|
61
|
+
const decipher = createDecipheriv(algorithm, this.bytes, parts.iv);
|
|
62
|
+
decipher.setAAD(this.aad.serialise(encryptionContext));
|
|
63
|
+
decipher.setAuthTag(parts.authTag);
|
|
64
|
+
try {
|
|
65
|
+
return Uint8Array.from(Buffer.concat([decipher.update(parts.ciphertext), decipher.final()]));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
throw new SimKmsInvalidCiphertextException("The ciphertext could not be decrypted: it was produced under a " +
|
|
69
|
+
"different key, with a different encryption context, or has been " +
|
|
70
|
+
"altered");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=sim-kms-key-material.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-material.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,GAE3B,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAQpB;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACX,MAAM,CAAS;IACf,IAAI,CAAuB;IAC3B,KAAK,CAAa;IAClB,GAAG,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAExD,YAAY,UAAuC;QACjD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO,CACL,SAAqB,EACrB,iBAA2C;QAE3C,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACxB,MAAM,CAAC,KAAK,EAAE;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,yBAAyB,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;SACxC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,KAAgC,EAChC,iBAA2C;QAE3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CACpB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CACrE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,gCAAgC,CACxC,iEAAiE;gBAC/D,kEAAkE;gBAClE,SAAS,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
2
|
+
import type { SimKmsKey, SimKmsKeyManager, SimKmsKeyState } from "./sim-kms-key.js";
|
|
3
|
+
/**
|
|
4
|
+
* The KeyMetadata structure CreateKey and DescribeKey return.
|
|
5
|
+
*
|
|
6
|
+
* Only symmetric encryption keys are simulated, so the fields describing key
|
|
7
|
+
* type are constants rather than stored state. They are reported anyway
|
|
8
|
+
* because application code reads them to decide what a key can do.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimKmsKeyMetadata {
|
|
11
|
+
readonly AWSAccountId: SimAwsAccountId;
|
|
12
|
+
readonly KeyId: string;
|
|
13
|
+
readonly Arn: string;
|
|
14
|
+
readonly CreationDate: Date;
|
|
15
|
+
readonly Enabled: boolean;
|
|
16
|
+
readonly Description: string;
|
|
17
|
+
readonly KeyUsage: "ENCRYPT_DECRYPT";
|
|
18
|
+
readonly KeyState: SimKmsKeyState;
|
|
19
|
+
readonly DeletionDate?: Date | undefined;
|
|
20
|
+
readonly Origin: "AWS_KMS";
|
|
21
|
+
readonly KeyManager: SimKmsKeyManager;
|
|
22
|
+
readonly KeySpec: "SYMMETRIC_DEFAULT";
|
|
23
|
+
readonly CustomerMasterKeySpec: "SYMMETRIC_DEFAULT";
|
|
24
|
+
readonly EncryptionAlgorithms: readonly ["SYMMETRIC_DEFAULT"];
|
|
25
|
+
readonly MultiRegion: false;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Builds the AWS-shaped view of a stored key.
|
|
29
|
+
*
|
|
30
|
+
* Kept apart from SimKmsKey so the stored key stays a model of what a key is
|
|
31
|
+
* and does, rather than also owning the shape two commands happen to return.
|
|
32
|
+
*/
|
|
33
|
+
export declare class SimKmsKeyMetadataView {
|
|
34
|
+
private readonly accountId;
|
|
35
|
+
constructor(accountId: SimAwsAccountId);
|
|
36
|
+
/**
|
|
37
|
+
* Describe a key the way KMS reports it.
|
|
38
|
+
*/
|
|
39
|
+
describe(key: SimKmsKey): SimKmsKeyMetadata;
|
|
40
|
+
/**
|
|
41
|
+
* Copy a date, so the response never hands out the key's own instance.
|
|
42
|
+
*/
|
|
43
|
+
private copied;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sim-kms-key-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-metadata.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C,YAAY,SAAS,EAAE,eAAe,EAErC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CAkB1C;IAED;;OAEG;IACH,OAAO,CAAC,MAAM;CAOf"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the AWS-shaped view of a stored key.
|
|
3
|
+
*
|
|
4
|
+
* Kept apart from SimKmsKey so the stored key stays a model of what a key is
|
|
5
|
+
* and does, rather than also owning the shape two commands happen to return.
|
|
6
|
+
*/
|
|
7
|
+
export class SimKmsKeyMetadataView {
|
|
8
|
+
accountId;
|
|
9
|
+
constructor(accountId) {
|
|
10
|
+
this.accountId = accountId;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Describe a key the way KMS reports it.
|
|
14
|
+
*/
|
|
15
|
+
describe(key) {
|
|
16
|
+
return {
|
|
17
|
+
AWSAccountId: this.accountId,
|
|
18
|
+
KeyId: key.keyId,
|
|
19
|
+
Arn: key.arn,
|
|
20
|
+
CreationDate: new Date(key.creationDate),
|
|
21
|
+
Enabled: key.isEnabled,
|
|
22
|
+
Description: key.description,
|
|
23
|
+
KeyUsage: "ENCRYPT_DECRYPT",
|
|
24
|
+
KeyState: key.keyState,
|
|
25
|
+
DeletionDate: this.copied(key.deletionDate),
|
|
26
|
+
Origin: "AWS_KMS",
|
|
27
|
+
KeyManager: key.keyManager,
|
|
28
|
+
KeySpec: "SYMMETRIC_DEFAULT",
|
|
29
|
+
CustomerMasterKeySpec: "SYMMETRIC_DEFAULT",
|
|
30
|
+
EncryptionAlgorithms: ["SYMMETRIC_DEFAULT"],
|
|
31
|
+
MultiRegion: false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Copy a date, so the response never hands out the key's own instance.
|
|
36
|
+
*/
|
|
37
|
+
copied(date) {
|
|
38
|
+
if (date === undefined) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return new Date(date);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sim-kms-key-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-kms-key-metadata.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-metadata.ts"],"names":[],"mappings":"AAgCA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACf,SAAS,CAAkB;IAE5C,YAAY,SAA0B;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAc;QACrB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,YAAY,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3C,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,mBAAmB;YAC5B,qBAAqB,EAAE,mBAAmB;YAC1C,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;YAC3C,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,IAAsB;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF"}
|