@kensio/yulin 0.41.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- 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/service/aws/factory/sim-aws-service-factory.d.ts +18 -27
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +26 -27
- 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.d.ts +15 -36
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +16 -36
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js +36 -0
- package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +3 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
- package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts +36 -0
- package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts.map +1 -0
- package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js +54 -0
- package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js.map +1 -0
- package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts +29 -0
- package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts.map +1 -0
- package/dist/service/cognito/command/client/list-user-pool-clients.command.js +2 -0
- package/dist/service/cognito/command/client/list-user-pool-clients.command.js.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts +30 -0
- package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js +44 -0
- package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +16 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +28 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts +23 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js +51 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts +50 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js +75 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts +27 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts.map +1 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js +45 -0
- package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js.map +1 -0
- package/dist/service/cognito/command/client/user-pool-client.command.d.ts +97 -0
- package/dist/service/cognito/command/client/user-pool-client.command.d.ts.map +1 -0
- package/dist/service/cognito/command/client/user-pool-client.command.js +2 -0
- package/dist/service/cognito/command/client/user-pool-client.command.js.map +1 -0
- package/dist/service/cognito/command/sim-cognito-command.types.d.ts +8 -0
- package/dist/service/cognito/command/sim-cognito-command.types.d.ts.map +1 -0
- package/dist/service/cognito/command/sim-cognito-command.types.js +2 -0
- package/dist/service/cognito/command/sim-cognito-command.types.js.map +1 -0
- package/dist/service/cognito/command/sim-cognito-page.d.ts +29 -0
- package/dist/service/cognito/command/sim-cognito-page.d.ts.map +1 -0
- package/dist/service/cognito/command/sim-cognito-page.js +59 -0
- package/dist/service/cognito/command/sim-cognito-page.js.map +1 -0
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +21 -0
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -0
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +37 -0
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -0
- package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts +29 -0
- package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/list-user-pools.command.js +2 -0
- package/dist/service/cognito/command/user-pool/list-user-pools.command.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts +37 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js +48 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts +16 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js +30 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +16 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts +28 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js +47 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts +41 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js +65 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +25 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +41 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -0
- package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +94 -0
- package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -0
- package/dist/service/cognito/command/user-pool/user-pool.command.js +2 -0
- package/dist/service/cognito/command/user-pool/user-pool.command.js.map +1 -0
- package/dist/service/cognito/error/sim-cognito.error.d.ts +34 -0
- package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -0
- package/dist/service/cognito/error/sim-cognito.error.js +35 -0
- package/dist/service/cognito/error/sim-cognito.error.js.map +1 -0
- package/dist/service/cognito/index.d.ts +13 -0
- package/dist/service/cognito/index.d.ts.map +1 -0
- package/dist/service/cognito/index.js +11 -0
- package/dist/service/cognito/index.js.map +1 -0
- package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts +18 -0
- package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts.map +1 -0
- package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js +56 -0
- package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js.map +1 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +81 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -0
- package/dist/service/cognito/sim-cognito-identity-provider.js +132 -0
- package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts +10 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js +22 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts +23 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js +77 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts +13 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js +28 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts +29 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js +41 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts +49 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js +66 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts +41 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js +40 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +32 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +44 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts +11 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js +39 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts +37 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js +52 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts +50 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js +47 -0
- package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts +18 -0
- package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js +31 -0
- package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-name.d.ts +22 -0
- package/dist/service/cognito/user-pool/sim-cognito-name.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-name.js +29 -0
- package/dist/service/cognito/user-pool/sim-cognito-name.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts +56 -0
- package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-password-policy.js +51 -0
- package/dist/service/cognito/user-pool/sim-cognito-password-policy.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +26 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +26 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +34 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +44 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +20 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +48 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +36 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +51 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts +65 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool.js +71 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool.js.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +23 -4
- 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 +22 -9
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts +21 -0
- package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js +2 -0
- package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js.map +1 -0
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +3 -6
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js +2 -2
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +16 -3
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -1
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js +32 -4
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -1
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +3 -6
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -1
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +2 -2
- package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -1
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +2 -5
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -1
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +1 -1
- package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +3 -6
- package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-commands.js +2 -2
- package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +5 -8
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +4 -4
- package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +3 -6
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -1
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +2 -2
- package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -1
- package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +2 -5
- package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -1
- package/dist/service/kms/command/key/sim-kms-list-keys.js +1 -1
- package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -1
- package/dist/service/kms/command/sim-kms-request-options.d.ts +24 -0
- package/dist/service/kms/command/sim-kms-request-options.d.ts.map +1 -0
- package/dist/service/kms/command/sim-kms-request-options.js +2 -0
- package/dist/service/kms/command/sim-kms-request-options.js.map +1 -0
- package/dist/service/kms/index.d.ts +2 -1
- package/dist/service/kms/index.d.ts.map +1 -1
- package/dist/service/kms/index.js.map +1 -1
- package/dist/service/kms/key/sim-kms-caller-account.d.ts +25 -0
- package/dist/service/kms/key/sim-kms-caller-account.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-caller-account.js +27 -0
- package/dist/service/kms/key/sim-kms-caller-account.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-factory.d.ts +17 -2
- package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-factory.js +25 -7
- package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -1
- package/dist/service/kms/key/sim-kms-key-policy.d.ts +14 -0
- package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-policy.js +49 -0
- package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -1
- package/dist/service/kms/key/sim-kms-key-store.d.ts +5 -1
- package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-store.js +7 -3
- package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
- package/dist/service/kms/key/sim-kms-via-service.d.ts +37 -0
- package/dist/service/kms/key/sim-kms-via-service.d.ts.map +1 -0
- package/dist/service/kms/key/sim-kms-via-service.js +50 -0
- package/dist/service/kms/key/sim-kms-via-service.js.map +1 -0
- package/dist/service/kms/sim-kms.d.ts +1 -4
- package/dist/service/kms/sim-kms.d.ts.map +1 -1
- package/dist/service/kms/sim-kms.js.map +1 -1
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts +24 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js +27 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +1 -1
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -1
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +26 -10
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -1
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +6 -6
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -1
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +21 -19
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -1
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +10 -2
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -1
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +19 -5
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -1
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +22 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -1
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +26 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -1
- package/dist/service/secretsmanager/index.d.ts +2 -1
- package/dist/service/secretsmanager/index.d.ts.map +1 -1
- package/dist/service/secretsmanager/index.js +2 -1
- package/dist/service/secretsmanager/index.js.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts +35 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js +34 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts +63 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js +24 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts +17 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js +30 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +21 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +29 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +16 -4
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +40 -11
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +7 -3
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +4 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +5 -5
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +5 -5
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts +20 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js +53 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts +45 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js +56 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts +37 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js +2 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +13 -14
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -1
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +14 -7
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -1
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts +7 -0
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -1
- package/dist/service/secretsmanager/sim-secrets-manager.js +10 -4
- package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -1
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +30 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts.map +1 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +48 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js.map +1 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +77 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts.map +1 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +125 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js.map +1 -0
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +23 -0
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts.map +1 -0
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +30 -0
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js.map +1 -0
- package/dist/service/ssm/command/parameter/parameter.command.d.ts +1 -0
- package/dist/service/ssm/command/parameter/parameter.command.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts +7 -5
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +19 -8
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts +8 -1
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js +12 -2
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts +23 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js +2 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts +8 -16
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js +12 -7
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts +5 -1
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js +7 -2
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js +4 -2
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts.map +1 -1
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js +0 -1
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js.map +1 -1
- package/dist/service/ssm/error/sim-ssm.error.d.ts +11 -0
- package/dist/service/ssm/error/sim-ssm.error.d.ts.map +1 -1
- package/dist/service/ssm/error/sim-ssm.error.js +13 -0
- package/dist/service/ssm/error/sim-ssm.error.js.map +1 -1
- package/dist/service/ssm/index.d.ts +3 -1
- package/dist/service/ssm/index.d.ts.map +1 -1
- package/dist/service/ssm/index.js +3 -1
- package/dist/service/ssm/index.js.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +55 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +20 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts +12 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js +24 -0
- package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts +42 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js +52 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +43 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +68 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts +34 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js +48 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts +9 -5
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.js +17 -13
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.js.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts +19 -3
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.js +22 -4
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.js.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts +7 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.js +2 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.js.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts +35 -15
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts.map +1 -1
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js +31 -45
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js.map +1 -1
- package/dist/service/ssm/sim-ssm.d.ts +13 -0
- package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
- package/dist/service/ssm/sim-ssm.js +19 -4
- package/dist/service/ssm/sim-ssm.js.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The stored form of one secret version's value.
|
|
3
|
+
*
|
|
4
|
+
* This is what a version holds: the value's ciphertext, and beside it the
|
|
5
|
+
* encrypted copy of the data key that produced it. Nothing here can be read
|
|
6
|
+
* without a KMS call, which is the point. The encrypted data key names the KMS
|
|
7
|
+
* key it came from, so a version stays readable after the secret is pointed at
|
|
8
|
+
* a different key, as it does on real AWS.
|
|
9
|
+
*/
|
|
10
|
+
export class SimSecretsManagerEncryptedValue {
|
|
11
|
+
dataKeyCiphertext;
|
|
12
|
+
iv;
|
|
13
|
+
authTag;
|
|
14
|
+
ciphertext;
|
|
15
|
+
digest;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.dataKeyCiphertext = properties.dataKeyCiphertext;
|
|
18
|
+
this.iv = properties.iv;
|
|
19
|
+
this.authTag = properties.authTag;
|
|
20
|
+
this.ciphertext = properties.ciphertext;
|
|
21
|
+
this.digest = properties.digest;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether this is the encrypted form of the given value.
|
|
25
|
+
*
|
|
26
|
+
* A write repeating a client request token is a no-op when it carries the
|
|
27
|
+
* same value and a failure when it does not, so the two have to be compared
|
|
28
|
+
* without the stored one being readable.
|
|
29
|
+
*/
|
|
30
|
+
holds(value) {
|
|
31
|
+
return this.digest === value.digest;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sim-secrets-manager-encrypted-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-encrypted-value.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,MAAM,OAAO,+BAA+B;IAC1B,iBAAiB,CAAa;IAC9B,EAAE,CAAa;IACf,OAAO,CAAa;IACpB,UAAU,CAAa;IAEtB,MAAM,CAAS;IAEhC,YAAY,UAAqD;QAC/D,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAmC;QACvC,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
/**
|
|
3
|
+
* The alias of the AWS managed key Secrets Manager encrypts with when a secret
|
|
4
|
+
* names no key of its own.
|
|
5
|
+
*
|
|
6
|
+
* Simulated KMS creates the key behind a reserved `alias/aws/` name the first
|
|
7
|
+
* time something asks for it, which is how such a key comes into existence on
|
|
8
|
+
* real AWS too: nobody creates it, the service that needs it does.
|
|
9
|
+
*/
|
|
10
|
+
export declare const secretsManagerDefaultKeyAlias = "alias/aws/secretsmanager";
|
|
11
|
+
/**
|
|
12
|
+
* The service Secrets Manager's KMS calls are made through, as
|
|
13
|
+
* `kms:ViaService` names it.
|
|
14
|
+
*
|
|
15
|
+
* Supplying it is what keeps the common case as convenient here as it is on
|
|
16
|
+
* real AWS: the `aws/secretsmanager` key's policy admits the account's
|
|
17
|
+
* principals when the request reaches KMS through Secrets Manager, so a caller
|
|
18
|
+
* allowed only `secretsmanager:GetSecretValue` reads the secret.
|
|
19
|
+
*/
|
|
20
|
+
export declare const secretsManagerKmsViaService = "secretsmanager";
|
|
21
|
+
/**
|
|
22
|
+
* The data key length Secrets Manager asks KMS for.
|
|
23
|
+
*/
|
|
24
|
+
export declare const secretsManagerDataKeySpec = "AES_256";
|
|
25
|
+
interface SimSecretsManagerKmsOptions {
|
|
26
|
+
readonly caller?: SimAwsCaller | undefined;
|
|
27
|
+
readonly viaService?: string | undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The narrow slice of simulated KMS that secret values need.
|
|
31
|
+
*
|
|
32
|
+
* Real Secrets Manager uses envelope encryption: it asks KMS for a data key
|
|
33
|
+
* per version, encrypts the value with the plaintext copy and keeps the
|
|
34
|
+
* encrypted copy beside the ciphertext. That is why a write needs
|
|
35
|
+
* `kms:GenerateDataKey` and a read needs `kms:Decrypt`, rather than both
|
|
36
|
+
* needing `kms:Encrypt` and `kms:Decrypt` as a direct encryption would.
|
|
37
|
+
*
|
|
38
|
+
* SimKms structurally implements this interface.
|
|
39
|
+
*/
|
|
40
|
+
export interface SimSecretsManagerKmsCrypto {
|
|
41
|
+
generateDataKey(command: {
|
|
42
|
+
input: {
|
|
43
|
+
KeyId?: string | undefined;
|
|
44
|
+
KeySpec?: string | undefined;
|
|
45
|
+
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
46
|
+
};
|
|
47
|
+
}, options?: SimSecretsManagerKmsOptions): Promise<{
|
|
48
|
+
Plaintext?: Uint8Array | undefined;
|
|
49
|
+
CiphertextBlob?: Uint8Array | undefined;
|
|
50
|
+
KeyId?: string | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
decrypt(command: {
|
|
53
|
+
input: {
|
|
54
|
+
CiphertextBlob?: Uint8Array | undefined;
|
|
55
|
+
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
56
|
+
};
|
|
57
|
+
}, options?: SimSecretsManagerKmsOptions): Promise<{
|
|
58
|
+
Plaintext?: Uint8Array | undefined;
|
|
59
|
+
KeyId?: string | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=sim-secrets-manager-kms-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-kms-crypto.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AAExE;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe,CACb,OAAO,EAAE;QACP,KAAK,EAAE;YACL,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC7B,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;SAClE,CAAC;KACH,EACD,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC;QACT,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACnC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B,CAAC,CAAC;IAEH,OAAO,CACL,OAAO,EAAE;QACP,KAAK,EAAE;YACL,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YACxC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;SAClE,CAAC;KACH,EACD,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC;QACT,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The alias of the AWS managed key Secrets Manager encrypts with when a secret
|
|
3
|
+
* names no key of its own.
|
|
4
|
+
*
|
|
5
|
+
* Simulated KMS creates the key behind a reserved `alias/aws/` name the first
|
|
6
|
+
* time something asks for it, which is how such a key comes into existence on
|
|
7
|
+
* real AWS too: nobody creates it, the service that needs it does.
|
|
8
|
+
*/
|
|
9
|
+
export const secretsManagerDefaultKeyAlias = "alias/aws/secretsmanager";
|
|
10
|
+
/**
|
|
11
|
+
* The service Secrets Manager's KMS calls are made through, as
|
|
12
|
+
* `kms:ViaService` names it.
|
|
13
|
+
*
|
|
14
|
+
* Supplying it is what keeps the common case as convenient here as it is on
|
|
15
|
+
* real AWS: the `aws/secretsmanager` key's policy admits the account's
|
|
16
|
+
* principals when the request reaches KMS through Secrets Manager, so a caller
|
|
17
|
+
* allowed only `secretsmanager:GetSecretValue` reads the secret.
|
|
18
|
+
*/
|
|
19
|
+
export const secretsManagerKmsViaService = "secretsmanager";
|
|
20
|
+
/**
|
|
21
|
+
* The data key length Secrets Manager asks KMS for.
|
|
22
|
+
*/
|
|
23
|
+
export const secretsManagerDataKeySpec = "AES_256";
|
|
24
|
+
//# sourceMappingURL=sim-secrets-manager-kms-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-kms-crypto.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,0BAA0B,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which way round a KMS call went wrong, since Secrets Manager has an error
|
|
3
|
+
* for each.
|
|
4
|
+
*/
|
|
5
|
+
export type SimSecretsManagerKeyFailure = "encrypting" | "decrypting";
|
|
6
|
+
/**
|
|
7
|
+
* Run a KMS call, reporting a refusal about the key the way Secrets Manager
|
|
8
|
+
* reports it.
|
|
9
|
+
*
|
|
10
|
+
* Every key problem KMS raises becomes EncryptionFailure or DecryptionFailure
|
|
11
|
+
* carrying the KMS message, which is what real Secrets Manager does for a key
|
|
12
|
+
* that is missing, disabled or pending deletion. An access denial is not a KMS
|
|
13
|
+
* error and passes through untouched, so a missing `kms:Decrypt` still reads
|
|
14
|
+
* as a denial rather than a broken key.
|
|
15
|
+
*/
|
|
16
|
+
export declare function reportingKeyProblems<TResult>(failure: SimSecretsManagerKeyFailure, call: () => Promise<TResult>): Promise<TResult>;
|
|
17
|
+
//# sourceMappingURL=sim-secrets-manager-kms-key-problems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-kms-key-problems.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAChD,OAAO,EAAE,2BAA2B,EACpC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimKmsError } from "../../kms/error/sim-kms.error.js";
|
|
2
|
+
import { SimSecretsManagerDecryptionFailure, SimSecretsManagerEncryptionFailure, } from "../error/sim-secrets-manager.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Run a KMS call, reporting a refusal about the key the way Secrets Manager
|
|
5
|
+
* reports it.
|
|
6
|
+
*
|
|
7
|
+
* Every key problem KMS raises becomes EncryptionFailure or DecryptionFailure
|
|
8
|
+
* carrying the KMS message, which is what real Secrets Manager does for a key
|
|
9
|
+
* that is missing, disabled or pending deletion. An access denial is not a KMS
|
|
10
|
+
* error and passes through untouched, so a missing `kms:Decrypt` still reads
|
|
11
|
+
* as a denial rather than a broken key.
|
|
12
|
+
*/
|
|
13
|
+
export async function reportingKeyProblems(failure, call) {
|
|
14
|
+
try {
|
|
15
|
+
return await call();
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (error instanceof SimKmsError) {
|
|
19
|
+
throw keyFailure(failure, error.message);
|
|
20
|
+
}
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function keyFailure(failure, message) {
|
|
25
|
+
if (failure === "encrypting") {
|
|
26
|
+
return new SimSecretsManagerEncryptionFailure(`Secrets Manager cannot encrypt the secret value with its KMS key: ${message}`);
|
|
27
|
+
}
|
|
28
|
+
return new SimSecretsManagerDecryptionFailure(`Secrets Manager cannot decrypt the secret value with its KMS key: ${message}`);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sim-secrets-manager-kms-key-problems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-kms-key-problems.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,kCAAkC,GAEnC,MAAM,uCAAuC,CAAC;AAQ/C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAoC,EACpC,IAA4B;IAE5B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,OAAoC,EACpC,OAAe;IAEf,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,IAAI,kCAAkC,CAC3C,qEAAqE,OAAO,EAAE,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,kCAAkC,CAC3C,qEAAqE,OAAO,EAAE,CAC/E,CAAC;AACJ,CAAC"}
|
|
@@ -13,6 +13,10 @@ interface SimSecretsManagerSecretStoreProperties {
|
|
|
13
13
|
*/
|
|
14
14
|
export declare class SimSecretsManagerSecretStore {
|
|
15
15
|
private readonly secrets;
|
|
16
|
+
/**
|
|
17
|
+
* The names of secrets being created, which are taken but not yet stored.
|
|
18
|
+
*/
|
|
19
|
+
private readonly claimedNames;
|
|
16
20
|
private readonly accountRegionScope;
|
|
17
21
|
private readonly secretIds;
|
|
18
22
|
constructor(properties: SimSecretsManagerSecretStoreProperties);
|
|
@@ -40,6 +44,23 @@ export declare class SimSecretsManagerSecretStore {
|
|
|
40
44
|
* Resolve a SecretId in any of the forms real Secrets Manager accepts.
|
|
41
45
|
*/
|
|
42
46
|
find(secretId: string): SimSecretsManagerSecret | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Take a name for a secret being created, refusing one already taken.
|
|
49
|
+
*
|
|
50
|
+
* The name is held from here rather than from when the secret is stored,
|
|
51
|
+
* because creating one is not instant: its first version is encrypted
|
|
52
|
+
* through KMS in between. Two creates racing for the same name would
|
|
53
|
+
* otherwise both get past the check and the second would overwrite the
|
|
54
|
+
* first, where real Secrets Manager refuses it.
|
|
55
|
+
*/
|
|
56
|
+
claimName(name: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Give up a claimed name.
|
|
59
|
+
*
|
|
60
|
+
* A create that failed leaves the name free again, and one that succeeded
|
|
61
|
+
* has the stored secret holding it from then on.
|
|
62
|
+
*/
|
|
63
|
+
releaseName(name: string): void;
|
|
43
64
|
/**
|
|
44
65
|
* Refuse a name that is already taken, saying which way it is taken.
|
|
45
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-store.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAO1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG/E,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-store.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAO1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG/E,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IAEtE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAE5D,YAAY,UAAU,EAAE,sCAAsC,EAK7D;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,uBAAuB,EAAE,CAE5C;IAED;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAEzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAE5C;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,uBAAuB,CAmB7D;IAED;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAU1D;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA0BvC;CACF"}
|
|
@@ -10,6 +10,10 @@ import { SimSecretsManagerSecretIdParser } from "./sim-secrets-manager-secret-id
|
|
|
10
10
|
*/
|
|
11
11
|
export class SimSecretsManagerSecretStore {
|
|
12
12
|
secrets = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* The names of secrets being created, which are taken but not yet stored.
|
|
15
|
+
*/
|
|
16
|
+
claimedNames = new Set();
|
|
13
17
|
accountRegionScope;
|
|
14
18
|
secretIds;
|
|
15
19
|
constructor(properties) {
|
|
@@ -67,6 +71,28 @@ export class SimSecretsManagerSecretStore {
|
|
|
67
71
|
.values()
|
|
68
72
|
.find((secret) => secret.arn.matchesResource(resource));
|
|
69
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Take a name for a secret being created, refusing one already taken.
|
|
76
|
+
*
|
|
77
|
+
* The name is held from here rather than from when the secret is stored,
|
|
78
|
+
* because creating one is not instant: its first version is encrypted
|
|
79
|
+
* through KMS in between. Two creates racing for the same name would
|
|
80
|
+
* otherwise both get past the check and the second would overwrite the
|
|
81
|
+
* first, where real Secrets Manager refuses it.
|
|
82
|
+
*/
|
|
83
|
+
claimName(name) {
|
|
84
|
+
this.requireNameAvailable(name);
|
|
85
|
+
this.claimedNames.add(name);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Give up a claimed name.
|
|
89
|
+
*
|
|
90
|
+
* A create that failed leaves the name free again, and one that succeeded
|
|
91
|
+
* has the stored secret holding it from then on.
|
|
92
|
+
*/
|
|
93
|
+
releaseName(name) {
|
|
94
|
+
this.claimedNames.delete(name);
|
|
95
|
+
}
|
|
70
96
|
/**
|
|
71
97
|
* Refuse a name that is already taken, saying which way it is taken.
|
|
72
98
|
*
|
|
@@ -75,6 +101,9 @@ export class SimSecretsManagerSecretStore {
|
|
|
75
101
|
* telling apart from a name held by a live secret.
|
|
76
102
|
*/
|
|
77
103
|
requireNameAvailable(name) {
|
|
104
|
+
if (this.claimedNames.has(name)) {
|
|
105
|
+
throw new SimSecretsManagerResourceExistsException(`The secret '${name}' already exists`);
|
|
106
|
+
}
|
|
78
107
|
const existing = this.secrets
|
|
79
108
|
.values()
|
|
80
109
|
.find((secret) => secret.name === name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-store.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0CAA0C,EAC1C,wCAAwC,EACxC,wCAAwC,EACxC,0CAA0C,GAC3C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAMrF;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IACtB,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-store.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,10 @@ export declare class SimSecretsManagerSecretValue {
|
|
|
24
24
|
* Read a value from request input where supplying one is optional.
|
|
25
25
|
*/
|
|
26
26
|
static optional(input: SimSecretsManagerSecretValueInput): SimSecretsManagerSecretValue | undefined;
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Read a value back from the bytes it was encrypted as.
|
|
29
|
+
*/
|
|
30
|
+
static fromBytes(bytes: Uint8Array): SimSecretsManagerSecretValue;
|
|
28
31
|
/**
|
|
29
32
|
* The text value, if this version holds text.
|
|
30
33
|
*/
|
|
@@ -37,11 +40,20 @@ export declare class SimSecretsManagerSecretValue {
|
|
|
37
40
|
*/
|
|
38
41
|
get secretBinary(): Uint8Array | undefined;
|
|
39
42
|
/**
|
|
40
|
-
*
|
|
43
|
+
* The value as the bytes it is encrypted as, marked with its kind.
|
|
44
|
+
*/
|
|
45
|
+
get bytes(): Uint8Array;
|
|
46
|
+
/**
|
|
47
|
+
* A digest of the value, standing in for the value itself where two of them
|
|
48
|
+
* have to be compared.
|
|
41
49
|
*
|
|
42
50
|
* This is what makes a retried write with the same client request token a
|
|
43
|
-
* no-op rather than a failure, as it is on real AWS.
|
|
51
|
+
* no-op rather than a failure, as it is on real AWS. Real Secrets Manager
|
|
52
|
+
* compares the two values; a stored version here holds only ciphertext, and
|
|
53
|
+
* decrypting it would need a `kms:Decrypt` that real AWS does not ask a
|
|
54
|
+
* writer for.
|
|
44
55
|
*/
|
|
45
|
-
|
|
56
|
+
get digest(): string;
|
|
57
|
+
private markedBytes;
|
|
46
58
|
}
|
|
47
59
|
//# sourceMappingURL=sim-secrets-manager-secret-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-value.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-value.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-value.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-value.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChD;AAaD;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,iCAAiC,GACvC,4BAA4B,CAU9B;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,iCAAiC,GACvC,4BAA4B,GAAG,SAAS,CAkB1C;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,4BAA4B,CAShE;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAMrC;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,UAAU,GAAG,SAAS,CAMzC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAMtB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
import { SimSecretsManagerInvalidParameterException } from "../error/sim-secrets-manager.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* The markers that tell the two kinds of value apart once a value is bytes.
|
|
5
|
+
*
|
|
6
|
+
* A value is encrypted as bytes, and what comes back out has to say which of
|
|
7
|
+
* SecretString and SecretBinary it was, since the two are different fields on
|
|
8
|
+
* the way out and a caller storing UTF-8 bytes as binary must not get text
|
|
9
|
+
* back.
|
|
10
|
+
*/
|
|
11
|
+
const textMarker = 0;
|
|
12
|
+
const binaryMarker = 1;
|
|
2
13
|
/**
|
|
3
14
|
* The value held by one version of a simulated secret.
|
|
4
15
|
*
|
|
@@ -38,11 +49,16 @@ export class SimSecretsManagerSecretValue {
|
|
|
38
49
|
}
|
|
39
50
|
return undefined;
|
|
40
51
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Read a value back from the bytes it was encrypted as.
|
|
54
|
+
*/
|
|
55
|
+
static fromBytes(bytes) {
|
|
56
|
+
const buffer = Buffer.from(bytes);
|
|
57
|
+
const content = buffer.subarray(1);
|
|
58
|
+
if (buffer.at(0) === textMarker) {
|
|
59
|
+
return new SimSecretsManagerSecretValue(content.toString("utf8"));
|
|
44
60
|
}
|
|
45
|
-
return
|
|
61
|
+
return new SimSecretsManagerSecretValue(Uint8Array.from(content));
|
|
46
62
|
}
|
|
47
63
|
/**
|
|
48
64
|
* The text value, if this version holds text.
|
|
@@ -66,16 +82,29 @@ export class SimSecretsManagerSecretValue {
|
|
|
66
82
|
return Uint8Array.from(this.content);
|
|
67
83
|
}
|
|
68
84
|
/**
|
|
69
|
-
*
|
|
85
|
+
* The value as the bytes it is encrypted as, marked with its kind.
|
|
86
|
+
*/
|
|
87
|
+
get bytes() {
|
|
88
|
+
if (typeof this.content === "string") {
|
|
89
|
+
return this.markedBytes(textMarker, Buffer.from(this.content, "utf8"));
|
|
90
|
+
}
|
|
91
|
+
return this.markedBytes(binaryMarker, Buffer.from(this.content));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A digest of the value, standing in for the value itself where two of them
|
|
95
|
+
* have to be compared.
|
|
70
96
|
*
|
|
71
97
|
* This is what makes a retried write with the same client request token a
|
|
72
|
-
* no-op rather than a failure, as it is on real AWS.
|
|
98
|
+
* no-op rather than a failure, as it is on real AWS. Real Secrets Manager
|
|
99
|
+
* compares the two values; a stored version here holds only ciphertext, and
|
|
100
|
+
* decrypting it would need a `kms:Decrypt` that real AWS does not ask a
|
|
101
|
+
* writer for.
|
|
73
102
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return
|
|
103
|
+
get digest() {
|
|
104
|
+
return createHash("sha256").update(this.bytes).digest("hex");
|
|
105
|
+
}
|
|
106
|
+
markedBytes(marker, content) {
|
|
107
|
+
return Uint8Array.from(Buffer.concat([Buffer.of(marker), content]));
|
|
79
108
|
}
|
|
80
109
|
}
|
|
81
110
|
//# sourceMappingURL=sim-secrets-manager-secret-value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-value.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AAUnG;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IACtB,OAAO,CAAsB;IAE9C,YAAoB,OAA4B;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAwC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,0CAA0C,CAClD,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAwC;QAExC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAE1D,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,IAAI,0CAA0C,CAClD,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,4BAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-value.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-value.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SimSecretsManagerEncryptedValue } from "./sim-secrets-manager-encrypted-value.js";
|
|
2
2
|
/**
|
|
3
3
|
* The staging labels Secrets Manager gives a meaning of its own.
|
|
4
4
|
*
|
|
@@ -12,7 +12,7 @@ export declare const SimSecretsManagerStagingLabel: {
|
|
|
12
12
|
export type SimSecretsManagerStagingLabel = (typeof SimSecretsManagerStagingLabel)[keyof typeof SimSecretsManagerStagingLabel];
|
|
13
13
|
interface SimSecretsManagerSecretVersionProperties {
|
|
14
14
|
readonly versionId: string;
|
|
15
|
-
readonly value:
|
|
15
|
+
readonly value: SimSecretsManagerEncryptedValue;
|
|
16
16
|
readonly createdDate: Date;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
@@ -24,7 +24,11 @@ interface SimSecretsManagerSecretVersionProperties {
|
|
|
24
24
|
*/
|
|
25
25
|
export declare class SimSecretsManagerSecretVersion {
|
|
26
26
|
readonly versionId: string;
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* The version's value, as it is stored: encrypted under a data key of the
|
|
29
|
+
* secret's KMS key. Reading it back is a KMS call.
|
|
30
|
+
*/
|
|
31
|
+
readonly value: SimSecretsManagerEncryptedValue;
|
|
28
32
|
readonly createdDate: Date;
|
|
29
33
|
private readonly labels;
|
|
30
34
|
constructor(properties: SimSecretsManagerSecretVersionProperties);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-version.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-version.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAEhG;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;aACxC,OAAO,EAAE,YAAY;aACrB,QAAQ,EAAE,aAAa;CACf,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAC;AAErF,UAAU,wCAAwC;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,8BAA8B;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,SAAgB,KAAK,EAAE,+BAA+B,CAAC;IAEvD,SAAgB,WAAW,EAAE,IAAI,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,YAAY,UAAU,EAAE,wCAAwC,EAI/D;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED;;;;;OAKG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/B;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5B;IAED;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/B;CACF"}
|
|
@@ -17,6 +17,10 @@ export const SimSecretsManagerStagingLabel = {
|
|
|
17
17
|
*/
|
|
18
18
|
export class SimSecretsManagerSecretVersion {
|
|
19
19
|
versionId;
|
|
20
|
+
/**
|
|
21
|
+
* The version's value, as it is stored: encrypted under a data key of the
|
|
22
|
+
* secret's KMS key. Reading it back is a KMS call.
|
|
23
|
+
*/
|
|
20
24
|
value;
|
|
21
25
|
createdDate;
|
|
22
26
|
labels = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-secrets-manager-secret-version.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-version.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,aAAa;CACf,CAAC;AAWX;;;;;;GAMG;AACH,MAAM,OAAO,8BAA8B;IACzB,SAAS,CAAS;
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-secret-version.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-secret-version.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,aAAa;CACf,CAAC;AAWX;;;;;;GAMG;AACH,MAAM,OAAO,8BAA8B;IACzB,SAAS,CAAS;IAElC;;;OAGG;IACa,KAAK,CAAkC;IAEvC,WAAW,CAAO;IAEjB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,YAAY,UAAoD;QAC9D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -27,12 +27,12 @@ export declare class SimSecretsManagerSecret {
|
|
|
27
27
|
readonly versions: SimSecretsManagerSecretVersions;
|
|
28
28
|
description: string | undefined;
|
|
29
29
|
/**
|
|
30
|
-
* The KMS key the secret
|
|
30
|
+
* The KMS key new versions of the secret are encrypted under, in any form
|
|
31
|
+
* KMS accepts. Undefined means the `aws/secretsmanager` managed key.
|
|
31
32
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* same, and the divergence is documented.
|
|
33
|
+
* Changing it applies to versions written afterwards. The versions already
|
|
34
|
+
* written keep the key they were made with, as they do on real AWS, so they
|
|
35
|
+
* stay readable.
|
|
36
36
|
*/
|
|
37
37
|
kmsKeyId: string | undefined;
|
|
38
38
|
tags: readonly SimSecretsManagerTag[];
|
|
@@ -13,12 +13,12 @@ export class SimSecretsManagerSecret {
|
|
|
13
13
|
versions = new SimSecretsManagerSecretVersions();
|
|
14
14
|
description;
|
|
15
15
|
/**
|
|
16
|
-
* The KMS key the secret
|
|
16
|
+
* The KMS key new versions of the secret are encrypted under, in any form
|
|
17
|
+
* KMS accepts. Undefined means the `aws/secretsmanager` managed key.
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* same, and the divergence is documented.
|
|
19
|
+
* Changing it applies to versions written afterwards. The versions already
|
|
20
|
+
* written keep the key they were made with, as they do on real AWS, so they
|
|
21
|
+
* stay readable.
|
|
22
22
|
*/
|
|
23
23
|
kmsKeyId;
|
|
24
24
|
tags;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SimSecretsManagerEncryptedValue } from "./sim-secrets-manager-encrypted-value.js";
|
|
2
|
+
import { SimSecretsManagerSecretValue } from "./sim-secrets-manager-secret-value.js";
|
|
3
|
+
/**
|
|
4
|
+
* Encrypts and decrypts a secret value under a plaintext data key.
|
|
5
|
+
*
|
|
6
|
+
* The encryption context is not bound in here. KMS binds it to the data key,
|
|
7
|
+
* so a decryption naming a different secret or version fails at the KMS call
|
|
8
|
+
* rather than at this cipher, which is where real Secrets Manager fails too.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimSecretsManagerValueCipher {
|
|
11
|
+
/**
|
|
12
|
+
* Encrypt a value under a data key.
|
|
13
|
+
*/
|
|
14
|
+
seal(value: SimSecretsManagerSecretValue, dataKey: Uint8Array, dataKeyCiphertext: Uint8Array): SimSecretsManagerEncryptedValue;
|
|
15
|
+
/**
|
|
16
|
+
* Decrypt a value with the data key KMS recovered for it.
|
|
17
|
+
*/
|
|
18
|
+
open(encrypted: SimSecretsManagerEncryptedValue, dataKey: Uint8Array): SimSecretsManagerSecretValue;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-secrets-manager-value-cipher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-value-cipher.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-value-cipher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAarF;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC;;OAEG;IACH,IAAI,CACF,KAAK,EAAE,4BAA4B,EACnC,OAAO,EAAE,UAAU,EACnB,iBAAiB,EAAE,UAAU,GAC5B,+BAA+B,CAgBjC;IAED;;OAEG;IACH,IAAI,CACF,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,UAAU,GAClB,4BAA4B,CAU9B;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
|
|
2
|
+
import { SimSecretsManagerEncryptedValue } from "./sim-secrets-manager-encrypted-value.js";
|
|
3
|
+
import { SimSecretsManagerSecretValue } from "./sim-secrets-manager-secret-value.js";
|
|
4
|
+
/**
|
|
5
|
+
* The cipher a data key encrypts a secret value with.
|
|
6
|
+
*
|
|
7
|
+
* This is the half of envelope encryption that does not happen inside KMS.
|
|
8
|
+
* KMS produces and later recovers the data key; the value itself is encrypted
|
|
9
|
+
* out here with AES-256-GCM, which is what the AWS Encryption SDK does with a
|
|
10
|
+
* data key too.
|
|
11
|
+
*/
|
|
12
|
+
const algorithm = "aes-256-gcm";
|
|
13
|
+
const ivLength = 12;
|
|
14
|
+
/**
|
|
15
|
+
* Encrypts and decrypts a secret value under a plaintext data key.
|
|
16
|
+
*
|
|
17
|
+
* The encryption context is not bound in here. KMS binds it to the data key,
|
|
18
|
+
* so a decryption naming a different secret or version fails at the KMS call
|
|
19
|
+
* rather than at this cipher, which is where real Secrets Manager fails too.
|
|
20
|
+
*/
|
|
21
|
+
export class SimSecretsManagerValueCipher {
|
|
22
|
+
/**
|
|
23
|
+
* Encrypt a value under a data key.
|
|
24
|
+
*/
|
|
25
|
+
seal(value, dataKey, dataKeyCiphertext) {
|
|
26
|
+
const iv = randomBytes(ivLength);
|
|
27
|
+
const cipher = createCipheriv(algorithm, dataKey, iv);
|
|
28
|
+
const ciphertext = Buffer.concat([
|
|
29
|
+
cipher.update(value.bytes),
|
|
30
|
+
cipher.final(),
|
|
31
|
+
]);
|
|
32
|
+
return new SimSecretsManagerEncryptedValue({
|
|
33
|
+
dataKeyCiphertext,
|
|
34
|
+
iv: Uint8Array.from(iv),
|
|
35
|
+
authTag: Uint8Array.from(cipher.getAuthTag()),
|
|
36
|
+
ciphertext: Uint8Array.from(ciphertext),
|
|
37
|
+
digest: value.digest,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Decrypt a value with the data key KMS recovered for it.
|
|
42
|
+
*/
|
|
43
|
+
open(encrypted, dataKey) {
|
|
44
|
+
const decipher = createDecipheriv(algorithm, dataKey, encrypted.iv);
|
|
45
|
+
decipher.setAuthTag(encrypted.authTag);
|
|
46
|
+
const plaintext = Buffer.concat([
|
|
47
|
+
decipher.update(encrypted.ciphertext),
|
|
48
|
+
decipher.final(),
|
|
49
|
+
]);
|
|
50
|
+
return SimSecretsManagerSecretValue.fromBytes(Uint8Array.from(plaintext));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sim-secrets-manager-value-cipher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-secrets-manager-value-cipher.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/secret/sim-secrets-manager-value-cipher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,OAAO,4BAA4B;IACvC;;OAEG;IACH,IAAI,CACF,KAAmC,EACnC,OAAmB,EACnB,iBAA6B;QAE7B,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,KAAK,EAAE;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,+BAA+B,CAAC;YACzC,iBAAiB;YACjB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CACF,SAA0C,EAC1C,OAAmB;QAEnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACpE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;YACrC,QAAQ,CAAC,KAAK,EAAE;SACjB,CAAC,CAAC;QAEH,OAAO,4BAA4B,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF"}
|