@kensio/yulin 0.40.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 +2 -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 +6 -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 +23 -24
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +37 -24
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +10 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +12 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +17 -33
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +19 -33
- 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/authorize/sim-ssm-authorizer.d.ts +44 -0
- package/dist/service/ssm/command/authorize/sim-ssm-authorizer.d.ts.map +1 -0
- package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js +65 -0
- package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js.map +1 -0
- package/dist/service/ssm/command/parameter/parameter.command.d.ts +99 -0
- package/dist/service/ssm/command/parameter/parameter.command.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/parameter.command.js +2 -0
- package/dist/service/ssm/command/parameter/parameter.command.js.map +1 -0
- package/dist/service/ssm/command/parameter/query.command.d.ts +85 -0
- package/dist/service/ssm/command/parameter/query.command.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/query.command.js +2 -0
- package/dist/service/ssm/command/parameter/query.command.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.d.ts +38 -0
- package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.js +62 -0
- package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.d.ts +43 -0
- package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.js +63 -0
- package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts +39 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +70 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts +41 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js +60 -0
- package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.d.ts +5 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.js +22 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.d.ts +35 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.js +51 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.js.map +1 -0
- 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 +41 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js +60 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts +37 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js +60 -0
- package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts +34 -0
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js +51 -0
- package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts +19 -0
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts.map +1 -0
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js +47 -0
- package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js.map +1 -0
- package/dist/service/ssm/command/sim-ssm-command.types.d.ts +6 -0
- package/dist/service/ssm/command/sim-ssm-command.types.d.ts.map +1 -0
- package/dist/service/ssm/command/sim-ssm-command.types.js +2 -0
- package/dist/service/ssm/command/sim-ssm-command.types.js.map +1 -0
- package/dist/service/ssm/error/sim-ssm.error.d.ts +99 -0
- package/dist/service/ssm/error/sim-ssm.error.d.ts.map +1 -0
- package/dist/service/ssm/error/sim-ssm.error.js +114 -0
- package/dist/service/ssm/error/sim-ssm.error.js.map +1 -0
- package/dist/service/ssm/index.d.ts +12 -0
- package/dist/service/ssm/index.d.ts.map +1 -0
- package/dist/service/ssm/index.js +12 -0
- package/dist/service/ssm/index.js.map +1 -0
- 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-arn.d.ts +33 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js +34 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.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-name.d.ts +48 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-name.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-name.js +117 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-name.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-path.d.ts +36 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-path.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-path.js +56 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-path.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-selector.d.ts +34 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-selector.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-selector.js +63 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-selector.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-store.d.ts +46 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-store.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-store.js +66 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-store.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts +29 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.js +46 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-type.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts +30 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.js +54 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-value.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts +46 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.js +34 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-version.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts +72 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js +65 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter.d.ts +41 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter.d.ts.map +1 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter.js +57 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter.js.map +1 -0
- package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.d.ts +18 -0
- package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.d.ts.map +1 -0
- package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.js +52 -0
- package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.js.map +1 -0
- package/dist/service/ssm/sim-ssm.d.ts +90 -0
- package/dist/service/ssm/sim-ssm.d.ts.map +1 -0
- package/dist/service/ssm/sim-ssm.js +144 -0
- package/dist/service/ssm/sim-ssm.js.map +1 -0
- package/package.json +11 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
/**
|
|
3
|
+
* The alias of the AWS managed key Parameter Store encrypts with when a
|
|
4
|
+
* request 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 ssmDefaultKeyAlias = "alias/aws/ssm";
|
|
11
|
+
/**
|
|
12
|
+
* The service Parameter Store's KMS calls are made through, as
|
|
13
|
+
* `kms:ViaService` names it.
|
|
14
|
+
*
|
|
15
|
+
* Supplying it is what lets a caller read a `SecureString` under the
|
|
16
|
+
* `aws/ssm` managed key with no KMS permission of its own: that key's policy
|
|
17
|
+
* admits the Account's principals only when the request reached KMS through
|
|
18
|
+
* Systems Manager.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ssmKmsViaService = "ssm";
|
|
21
|
+
/**
|
|
22
|
+
* The narrow slice of simulated KMS that SecureString parameters need.
|
|
23
|
+
*
|
|
24
|
+
* Standard tier Parameter Store encrypts under the key directly rather than
|
|
25
|
+
* through a data key, so Encrypt and Decrypt are the whole of it.
|
|
26
|
+
* SimKms structurally implements this interface.
|
|
27
|
+
*/
|
|
28
|
+
export interface SimSsmKmsCrypto {
|
|
29
|
+
encrypt(command: {
|
|
30
|
+
input: {
|
|
31
|
+
KeyId?: string | undefined;
|
|
32
|
+
Plaintext?: Uint8Array | undefined;
|
|
33
|
+
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
34
|
+
};
|
|
35
|
+
}, options?: {
|
|
36
|
+
caller?: SimAwsCaller | undefined;
|
|
37
|
+
viaService?: string | undefined;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
CiphertextBlob?: Uint8Array | undefined;
|
|
40
|
+
KeyId?: string | undefined;
|
|
41
|
+
}>;
|
|
42
|
+
decrypt(command: {
|
|
43
|
+
input: {
|
|
44
|
+
CiphertextBlob?: Uint8Array | undefined;
|
|
45
|
+
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
46
|
+
};
|
|
47
|
+
}, options?: {
|
|
48
|
+
caller?: SimAwsCaller | undefined;
|
|
49
|
+
viaService?: string | undefined;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
Plaintext?: Uint8Array | undefined;
|
|
52
|
+
KeyId?: string | undefined;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sim-ssm-kms-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-kms-crypto.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-kms-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CACL,OAAO,EAAE;QACP,KAAK,EAAE;YACL,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC3B,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YACnC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;SAClE,CAAC;KACH,EACD,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,GACA,OAAO,CAAC;QACT,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;QACR,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,GACA,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,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The alias of the AWS managed key Parameter Store encrypts with when a
|
|
3
|
+
* request 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 ssmDefaultKeyAlias = "alias/aws/ssm";
|
|
10
|
+
/**
|
|
11
|
+
* The service Parameter Store's KMS calls are made through, as
|
|
12
|
+
* `kms:ViaService` names it.
|
|
13
|
+
*
|
|
14
|
+
* Supplying it is what lets a caller read a `SecureString` under the
|
|
15
|
+
* `aws/ssm` managed key with no KMS permission of its own: that key's policy
|
|
16
|
+
* admits the Account's principals only when the request reached KMS through
|
|
17
|
+
* Systems Manager.
|
|
18
|
+
*/
|
|
19
|
+
export const ssmKmsViaService = "ssm";
|
|
20
|
+
//# sourceMappingURL=sim-ssm-kms-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-kms-crypto.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-kms-crypto.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run a KMS call, reporting a refusal about the key the way Parameter Store
|
|
3
|
+
* reports it.
|
|
4
|
+
*
|
|
5
|
+
* Every key problem KMS raises becomes InvalidKeyId carrying the KMS message,
|
|
6
|
+
* which is what real Parameter Store does for a key that is missing, disabled
|
|
7
|
+
* or pending deletion. An access denial is not a KMS error and passes through
|
|
8
|
+
* untouched, so a missing `kms:Decrypt` still reads as a denial rather than a
|
|
9
|
+
* bad key.
|
|
10
|
+
*/
|
|
11
|
+
export declare function reportingKeyProblems<TResult>(call: () => Promise<TResult>): Promise<TResult>;
|
|
12
|
+
//# sourceMappingURL=sim-ssm-kms-key-problems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-kms-key-problems.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-kms-key-problems.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAChD,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SimKmsError } from "../../kms/error/sim-kms.error.js";
|
|
2
|
+
import { SimSsmInvalidKeyId } from "../error/sim-ssm.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Run a KMS call, reporting a refusal about the key the way Parameter Store
|
|
5
|
+
* reports it.
|
|
6
|
+
*
|
|
7
|
+
* Every key problem KMS raises becomes InvalidKeyId carrying the KMS message,
|
|
8
|
+
* which is what real Parameter Store does for a key that is missing, disabled
|
|
9
|
+
* or pending deletion. An access denial is not a KMS error and passes through
|
|
10
|
+
* untouched, so a missing `kms:Decrypt` still reads as a denial rather than a
|
|
11
|
+
* bad key.
|
|
12
|
+
*/
|
|
13
|
+
export async function reportingKeyProblems(call) {
|
|
14
|
+
try {
|
|
15
|
+
return await call();
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (error instanceof SimKmsError) {
|
|
19
|
+
throw new SimSsmInvalidKeyId(`The KMS key cannot be used for this parameter: ${error.message}`);
|
|
20
|
+
}
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=sim-ssm-kms-key-problems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-kms-key-problems.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-kms-key-problems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,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,IAAI,kBAAkB,CAC1B,kDAAkD,KAAK,CAAC,OAAO,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* The part of a parameter ARN that comes before the parameter's own name.
|
|
4
|
+
*
|
|
5
|
+
* It ends in a slash, and the name follows it with its own leading slash
|
|
6
|
+
* dropped, so `/myapp/prod/db-host` becomes `...:parameter/myapp/prod/db-host`
|
|
7
|
+
* rather than `...:parameter//myapp/prod/db-host`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ssmParameterArnPrefix(accountRegionScope: SimAwsAccountRegionScope): string;
|
|
10
|
+
interface SimSsmParameterArnProperties {
|
|
11
|
+
readonly resource: string;
|
|
12
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The ARN of one simulated parameter.
|
|
16
|
+
*
|
|
17
|
+
* The single detail worth getting right here is the leading slash. A
|
|
18
|
+
* hierarchical parameter name starts with one and its ARN does not repeat it,
|
|
19
|
+
* so an IAM policy written as `...:parameter//myapp/prod/db-host` matches
|
|
20
|
+
* nothing. Building the ARN in one place is what makes a policy that works
|
|
21
|
+
* here one that would work on real AWS.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SimSsmParameterArn {
|
|
24
|
+
/**
|
|
25
|
+
* The parameter name with its leading slash dropped, which is the part of
|
|
26
|
+
* the ARN after `parameter/`.
|
|
27
|
+
*/
|
|
28
|
+
readonly resource: string;
|
|
29
|
+
readonly value: string;
|
|
30
|
+
constructor(properties: SimSsmParameterArnProperties);
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=sim-ssm-parameter-arn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAIR;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,YAAY,UAAU,EAAE,4BAA4B,EAInD;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The part of a parameter ARN that comes before the parameter's own name.
|
|
3
|
+
*
|
|
4
|
+
* It ends in a slash, and the name follows it with its own leading slash
|
|
5
|
+
* dropped, so `/myapp/prod/db-host` becomes `...:parameter/myapp/prod/db-host`
|
|
6
|
+
* rather than `...:parameter//myapp/prod/db-host`.
|
|
7
|
+
*/
|
|
8
|
+
export function ssmParameterArnPrefix(accountRegionScope) {
|
|
9
|
+
const { regionName, accountId } = accountRegionScope;
|
|
10
|
+
return `arn:aws:ssm:${regionName}:${accountId}:parameter/`;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The ARN of one simulated parameter.
|
|
14
|
+
*
|
|
15
|
+
* The single detail worth getting right here is the leading slash. A
|
|
16
|
+
* hierarchical parameter name starts with one and its ARN does not repeat it,
|
|
17
|
+
* so an IAM policy written as `...:parameter//myapp/prod/db-host` matches
|
|
18
|
+
* nothing. Building the ARN in one place is what makes a policy that works
|
|
19
|
+
* here one that would work on real AWS.
|
|
20
|
+
*/
|
|
21
|
+
export class SimSsmParameterArn {
|
|
22
|
+
/**
|
|
23
|
+
* The parameter name with its leading slash dropped, which is the part of
|
|
24
|
+
* the ARN after `parameter/`.
|
|
25
|
+
*/
|
|
26
|
+
resource;
|
|
27
|
+
value;
|
|
28
|
+
constructor(properties) {
|
|
29
|
+
this.resource = properties.resource;
|
|
30
|
+
this.value =
|
|
31
|
+
ssmParameterArnPrefix(properties.accountRegionScope) + this.resource;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sim-ssm-parameter-arn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-arn.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-arn.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,kBAA4C;IAE5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;IAErD,OAAO,eAAe,UAAU,IAAI,SAAS,aAAa,CAAC;AAC7D,CAAC;AAOD;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;OAGG;IACa,QAAQ,CAAS;IAEjB,KAAK,CAAS;IAE9B,YAAY,UAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK;YACR,qBAAqB,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimSsmParameter } from "./sim-ssm-parameter.js";
|
|
3
|
+
import type { SimSsmKmsCrypto } from "./sim-ssm-kms-crypto.js";
|
|
4
|
+
import type { SimSsmParameterType } from "./sim-ssm-parameter-type.js";
|
|
5
|
+
import { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
|
|
6
|
+
import type { SimSsmParameterVersion } from "./sim-ssm-parameter-version.js";
|
|
7
|
+
interface SimSsmParameterEncryptionProperties {
|
|
8
|
+
readonly kms: SimSsmKmsCrypto;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* What a SecureString value is stored as, and which key protects it.
|
|
12
|
+
*/
|
|
13
|
+
export interface SimSsmEncryptedValue {
|
|
14
|
+
readonly value: SimSsmParameterValue;
|
|
15
|
+
readonly keyId: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Decides when a parameter value is encrypted and when it is decrypted.
|
|
19
|
+
*
|
|
20
|
+
* These rules are worth keeping apart from the KMS calls themselves, because
|
|
21
|
+
* they are what a caller actually trips over: a value stored in the clear
|
|
22
|
+
* because the type said so, and a read that gets a ciphertext back because it
|
|
23
|
+
* did not ask for decryption.
|
|
24
|
+
*/
|
|
25
|
+
export declare class SimSsmParameterEncryption {
|
|
26
|
+
private readonly kms;
|
|
27
|
+
constructor(properties: SimSsmParameterEncryptionProperties);
|
|
28
|
+
/**
|
|
29
|
+
* The stored form of a submitted value, encrypted if the type calls for it.
|
|
30
|
+
*/
|
|
31
|
+
stored(type: SimSsmParameterType, parameterArn: string, submitted: SimSsmParameterValue, keyId: string | undefined, caller: SimAwsCaller | undefined): Promise<SimSsmEncryptedValue>;
|
|
32
|
+
/**
|
|
33
|
+
* The value a read reports, decrypted only when it was asked for.
|
|
34
|
+
*
|
|
35
|
+
* `WithDecryption` on a parameter that is not encrypted is ignored rather
|
|
36
|
+
* than refused, as real Parameter Store ignores it.
|
|
37
|
+
*/
|
|
38
|
+
reported(parameter: SimSsmParameter, version: SimSsmParameterVersion, withDecryption: boolean | undefined, caller: SimAwsCaller | undefined): Promise<string>;
|
|
39
|
+
private refuseKeyIdWithoutSecureString;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=sim-ssm-parameter-encryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-encryption.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-encryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IAEzC,YAAY,UAAU,EAAE,mCAAmC,EAE1D;IAED;;OAEG;IACG,MAAM,CACV,IAAI,EAAE,mBAAmB,EACzB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAkB/B;IAED;;;;;OAKG;IACG,QAAQ,CACZ,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,CAUjB;IAED,OAAO,CAAC,8BAA8B;CAcvC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SimSsmValidationException } from "../error/sim-ssm.error.js";
|
|
2
|
+
import { SimSsmParameterKms } from "./sim-ssm-parameter-kms.js";
|
|
3
|
+
import { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
|
|
4
|
+
/**
|
|
5
|
+
* Decides when a parameter value is encrypted and when it is decrypted.
|
|
6
|
+
*
|
|
7
|
+
* These rules are worth keeping apart from the KMS calls themselves, because
|
|
8
|
+
* they are what a caller actually trips over: a value stored in the clear
|
|
9
|
+
* because the type said so, and a read that gets a ciphertext back because it
|
|
10
|
+
* did not ask for decryption.
|
|
11
|
+
*/
|
|
12
|
+
export class SimSsmParameterEncryption {
|
|
13
|
+
kms;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.kms = new SimSsmParameterKms(properties);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The stored form of a submitted value, encrypted if the type calls for it.
|
|
19
|
+
*/
|
|
20
|
+
async stored(type, parameterArn, submitted, keyId, caller) {
|
|
21
|
+
if (!type.isSecure) {
|
|
22
|
+
this.refuseKeyIdWithoutSecureString(type, keyId);
|
|
23
|
+
return { value: submitted, keyId: undefined };
|
|
24
|
+
}
|
|
25
|
+
const encrypted = await this.kms.encrypt(parameterArn, submitted.value, keyId, caller);
|
|
26
|
+
return {
|
|
27
|
+
value: SimSsmParameterValue.encrypted(encrypted.ciphertext),
|
|
28
|
+
keyId: encrypted.keyId,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The value a read reports, decrypted only when it was asked for.
|
|
33
|
+
*
|
|
34
|
+
* `WithDecryption` on a parameter that is not encrypted is ignored rather
|
|
35
|
+
* than refused, as real Parameter Store ignores it.
|
|
36
|
+
*/
|
|
37
|
+
async reported(parameter, version, withDecryption, caller) {
|
|
38
|
+
if (!parameter.type.isSecure || withDecryption !== true) {
|
|
39
|
+
return version.value.value;
|
|
40
|
+
}
|
|
41
|
+
return await this.kms.decrypt(parameter.arn.value, version.value.value, caller);
|
|
42
|
+
}
|
|
43
|
+
refuseKeyIdWithoutSecureString(type, keyId) {
|
|
44
|
+
if (keyId === undefined) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
throw new SimSsmValidationException(`KeyId applies to a SecureString parameter, and this one is a ` +
|
|
48
|
+
`${type.value} parameter. A value stored in the clear is not ` +
|
|
49
|
+
`encrypted with anything.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-ssm-parameter-encryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-encryption.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-encryption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAepE;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACnB,GAAG,CAAqB;IAEzC,YAAY,UAA+C;QACzD,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,IAAyB,EACzB,YAAoB,EACpB,SAA+B,EAC/B,KAAyB,EACzB,MAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEjD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACtC,YAAY,EACZ,SAAS,CAAC,KAAK,EACf,KAAK,EACL,MAAM,CACP,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;YAC3D,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,SAA0B,EAC1B,OAA+B,EAC/B,cAAmC,EACnC,MAAgC;QAEhC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,EACnB,OAAO,CAAC,KAAK,CAAC,KAAK,EACnB,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,8BAA8B,CACpC,IAAyB,EACzB,KAAyB;QAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,yBAAyB,CACjC,+DAA+D;YAC7D,GAAG,IAAI,CAAC,KAAK,iDAAiD;YAC9D,0BAA0B,CAC7B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import { type SimSsmKmsCrypto } from "./sim-ssm-kms-crypto.js";
|
|
3
|
+
/**
|
|
4
|
+
* What KMS produced for one parameter value.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimSsmParameterCiphertext {
|
|
7
|
+
readonly ciphertext: string;
|
|
8
|
+
readonly keyId: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
interface SimSsmParameterKmsProperties {
|
|
11
|
+
readonly kms: SimSsmKmsCrypto;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The KMS calls a SecureString parameter makes.
|
|
15
|
+
*
|
|
16
|
+
* The calls are made as the caller rather than as the service, which is the
|
|
17
|
+
* point: under a customer managed key a standard tier write needs
|
|
18
|
+
* `kms:Encrypt` on the key and a decrypting read needs `kms:Decrypt`, each on
|
|
19
|
+
* top of the SSM permission for the parameter itself.
|
|
20
|
+
*
|
|
21
|
+
* They are also made through the service, which is why the `aws/ssm` managed
|
|
22
|
+
* key needs no KMS permission at all: its policy admits the Account's
|
|
23
|
+
* principals when `kms:ViaService` names Systems Manager, and Parameter Store
|
|
24
|
+
* is what supplies that.
|
|
25
|
+
*
|
|
26
|
+
* Standard tier Parameter Store encrypts under the key directly rather than
|
|
27
|
+
* through a data key, so this is one Encrypt and one Decrypt and nothing more.
|
|
28
|
+
*/
|
|
29
|
+
export declare class SimSsmParameterKms {
|
|
30
|
+
private readonly kms;
|
|
31
|
+
constructor(properties: SimSsmParameterKmsProperties);
|
|
32
|
+
/**
|
|
33
|
+
* Encrypt a parameter value, bound to the ARN of the parameter holding it.
|
|
34
|
+
*/
|
|
35
|
+
encrypt(parameterArn: string, plaintext: string, keyId: string | undefined, caller: SimAwsCaller | undefined): Promise<SimSsmParameterCiphertext>;
|
|
36
|
+
/**
|
|
37
|
+
* Decrypt a parameter value, which needs the same binding it was made with.
|
|
38
|
+
*/
|
|
39
|
+
decrypt(parameterArn: string, ciphertext: string, caller: SimAwsCaller | undefined): Promise<string>;
|
|
40
|
+
private contextFor;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=sim-ssm-parameter-kms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-kms.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-kms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAYjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IAEtC,YAAY,UAAU,EAAE,4BAA4B,EAEnD;IAED;;OAEG;IACG,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAwBpC;IAED;;OAEG;IACG,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,CAoBjB;IAED,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { reportingKeyProblems } from "./sim-ssm-kms-key-problems.js";
|
|
3
|
+
import { ssmDefaultKeyAlias, ssmKmsViaService, } from "./sim-ssm-kms-crypto.js";
|
|
4
|
+
/**
|
|
5
|
+
* The encryption context key Parameter Store binds every SecureString value
|
|
6
|
+
* to, holding the ARN of the parameter being encrypted.
|
|
7
|
+
*
|
|
8
|
+
* Binding it means a ciphertext lifted out of one parameter cannot be
|
|
9
|
+
* decrypted as another, and it is what a `kms:EncryptionContext:PARAMETER_ARN`
|
|
10
|
+
* policy condition matches on real AWS.
|
|
11
|
+
*/
|
|
12
|
+
const parameterArnContextKey = "PARAMETER_ARN";
|
|
13
|
+
/**
|
|
14
|
+
* The KMS calls a SecureString parameter makes.
|
|
15
|
+
*
|
|
16
|
+
* The calls are made as the caller rather than as the service, which is the
|
|
17
|
+
* point: under a customer managed key a standard tier write needs
|
|
18
|
+
* `kms:Encrypt` on the key and a decrypting read needs `kms:Decrypt`, each on
|
|
19
|
+
* top of the SSM permission for the parameter itself.
|
|
20
|
+
*
|
|
21
|
+
* They are also made through the service, which is why the `aws/ssm` managed
|
|
22
|
+
* key needs no KMS permission at all: its policy admits the Account's
|
|
23
|
+
* principals when `kms:ViaService` names Systems Manager, and Parameter Store
|
|
24
|
+
* is what supplies that.
|
|
25
|
+
*
|
|
26
|
+
* Standard tier Parameter Store encrypts under the key directly rather than
|
|
27
|
+
* through a data key, so this is one Encrypt and one Decrypt and nothing more.
|
|
28
|
+
*/
|
|
29
|
+
export class SimSsmParameterKms {
|
|
30
|
+
kms;
|
|
31
|
+
constructor(properties) {
|
|
32
|
+
this.kms = properties.kms;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Encrypt a parameter value, bound to the ARN of the parameter holding it.
|
|
36
|
+
*/
|
|
37
|
+
async encrypt(parameterArn, plaintext, keyId, caller) {
|
|
38
|
+
const encrypted = await reportingKeyProblems(async () => await this.kms.encrypt({
|
|
39
|
+
input: {
|
|
40
|
+
KeyId: keyId ?? ssmDefaultKeyAlias,
|
|
41
|
+
Plaintext: Buffer.from(plaintext, "utf8"),
|
|
42
|
+
EncryptionContext: this.contextFor(parameterArn),
|
|
43
|
+
},
|
|
44
|
+
}, { caller, viaService: ssmKmsViaService }));
|
|
45
|
+
assertDefined(encrypted.CiphertextBlob, `Simulated KMS encrypted ${parameterArn} to nothing`);
|
|
46
|
+
return {
|
|
47
|
+
ciphertext: Buffer.from(encrypted.CiphertextBlob).toString("base64"),
|
|
48
|
+
keyId: encrypted.KeyId,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Decrypt a parameter value, which needs the same binding it was made with.
|
|
53
|
+
*/
|
|
54
|
+
async decrypt(parameterArn, ciphertext, caller) {
|
|
55
|
+
const decrypted = await reportingKeyProblems(async () => await this.kms.decrypt({
|
|
56
|
+
input: {
|
|
57
|
+
CiphertextBlob: Buffer.from(ciphertext, "base64"),
|
|
58
|
+
EncryptionContext: this.contextFor(parameterArn),
|
|
59
|
+
},
|
|
60
|
+
}, { caller, viaService: ssmKmsViaService }));
|
|
61
|
+
assertDefined(decrypted.Plaintext, `Simulated KMS decrypted ${parameterArn} to nothing`);
|
|
62
|
+
return Buffer.from(decrypted.Plaintext).toString("utf8");
|
|
63
|
+
}
|
|
64
|
+
contextFor(parameterArn) {
|
|
65
|
+
return { [parameterArnContextKey]: parameterArn };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sim-ssm-parameter-kms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-kms.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-kms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAc/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kBAAkB;IACZ,GAAG,CAAkB;IAEtC,YAAY,UAAwC;QAClD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,YAAoB,EACpB,SAAiB,EACjB,KAAyB,EACzB,MAAgC;QAEhC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,KAAK,IAAI,EAAE,CACT,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpB;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,IAAI,kBAAkB;gBAClC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;gBACzC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD;SACF,EACD,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,CACzC,CACJ,CAAC;QAEF,aAAa,CACX,SAAS,CAAC,cAAc,EACxB,2BAA2B,YAAY,aAAa,CACrD,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpE,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,YAAoB,EACpB,UAAkB,EAClB,MAAgC;QAEhC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,KAAK,IAAI,EAAE,CACT,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpB;YACE,KAAK,EAAE;gBACL,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACjD,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD;SACF,EACD,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,CACzC,CACJ,CAAC;QAEF,aAAa,CACX,SAAS,CAAC,SAAS,EACnB,2BAA2B,YAAY,aAAa,CACrD,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,YAAoB;QACrC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
interface SimSsmParameterNameProperties {
|
|
3
|
+
readonly name: string | undefined;
|
|
4
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The name of one simulated parameter, validated as real Parameter Store
|
|
8
|
+
* validates it.
|
|
9
|
+
*
|
|
10
|
+
* The rules are worth applying in one place because they are a common
|
|
11
|
+
* deploy-time failure rather than an obscure edge: a hierarchy missing its
|
|
12
|
+
* leading slash, a name under the reserved `/aws` prefix, or a hierarchy
|
|
13
|
+
* sixteen levels deep all fail at PutParameter on real AWS.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimSsmParameterName {
|
|
16
|
+
/**
|
|
17
|
+
* The name as Parameter Store stores and reports it, leading slash and all.
|
|
18
|
+
*/
|
|
19
|
+
readonly value: string;
|
|
20
|
+
/**
|
|
21
|
+
* The name with any leading slash dropped, which is how it appears in the
|
|
22
|
+
* parameter's ARN and how this simulation keys it.
|
|
23
|
+
*/
|
|
24
|
+
readonly resource: string;
|
|
25
|
+
constructor(properties: SimSsmParameterNameProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Normalize a name to the resource part of its ARN.
|
|
28
|
+
*
|
|
29
|
+
* A parameter put as `db-host` and one read as `/db-host` are the same
|
|
30
|
+
* parameter, because both name the same ARN. Keying on this form is what
|
|
31
|
+
* makes the two interchangeable.
|
|
32
|
+
*/
|
|
33
|
+
static resourceFor(name: string): string;
|
|
34
|
+
private static trimmed;
|
|
35
|
+
private requireAllowedCharacters;
|
|
36
|
+
/**
|
|
37
|
+
* Refuse a hierarchy that Parameter Store would refuse.
|
|
38
|
+
*
|
|
39
|
+
* The leading slash is the one people actually get wrong: a name written as
|
|
40
|
+
* `myapp/prod/db-host` looks fine and is rejected on real AWS, because a
|
|
41
|
+
* name containing a hierarchy has to be fully qualified.
|
|
42
|
+
*/
|
|
43
|
+
private requireWellFormedHierarchy;
|
|
44
|
+
private requireUnreservedPrefix;
|
|
45
|
+
private requireWithinArnLength;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=sim-ssm-parameter-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-name.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAsB1F,UAAU,6BAA6B;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,YAAY,UAAU,EAAE,6BAA6B,EAUpD;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvC;IAED,OAAO,CAAC,MAAM,CAAC,OAAO;IAoBtB,OAAO,CAAC,wBAAwB;IAYhC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,sBAAsB;CAgB/B"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SimSsmHierarchyLevelLimitExceededException, SimSsmParameterPatternMismatchException, SimSsmValidationException, } from "../error/sim-ssm.error.js";
|
|
2
|
+
import { ssmParameterArnPrefix } from "./sim-ssm-parameter-arn.js";
|
|
3
|
+
const allowedCharacters = /^[\w./-]+$/;
|
|
4
|
+
const maxHierarchyLevels = 15;
|
|
5
|
+
const reservedPrefixes = ["aws", "ssm"];
|
|
6
|
+
/**
|
|
7
|
+
* The longest a parameter name may be, counting the ARN that precedes it.
|
|
8
|
+
*
|
|
9
|
+
* Real Parameter Store reserves the rest of the 2048 character ARN for its own
|
|
10
|
+
* use, and counts the ARN prefix towards the 1011 characters left. That is why
|
|
11
|
+
* this limit needs the Account and Region: the same name is legal in one
|
|
12
|
+
* Region and too long in another.
|
|
13
|
+
*/
|
|
14
|
+
const maxArnLength = 1011;
|
|
15
|
+
/**
|
|
16
|
+
* The name of one simulated parameter, validated as real Parameter Store
|
|
17
|
+
* validates it.
|
|
18
|
+
*
|
|
19
|
+
* The rules are worth applying in one place because they are a common
|
|
20
|
+
* deploy-time failure rather than an obscure edge: a hierarchy missing its
|
|
21
|
+
* leading slash, a name under the reserved `/aws` prefix, or a hierarchy
|
|
22
|
+
* sixteen levels deep all fail at PutParameter on real AWS.
|
|
23
|
+
*/
|
|
24
|
+
export class SimSsmParameterName {
|
|
25
|
+
/**
|
|
26
|
+
* The name as Parameter Store stores and reports it, leading slash and all.
|
|
27
|
+
*/
|
|
28
|
+
value;
|
|
29
|
+
/**
|
|
30
|
+
* The name with any leading slash dropped, which is how it appears in the
|
|
31
|
+
* parameter's ARN and how this simulation keys it.
|
|
32
|
+
*/
|
|
33
|
+
resource;
|
|
34
|
+
constructor(properties) {
|
|
35
|
+
const name = SimSsmParameterName.trimmed(properties.name);
|
|
36
|
+
this.value = name;
|
|
37
|
+
this.resource = SimSsmParameterName.resourceFor(name);
|
|
38
|
+
this.requireAllowedCharacters(name);
|
|
39
|
+
this.requireWellFormedHierarchy(name);
|
|
40
|
+
this.requireUnreservedPrefix();
|
|
41
|
+
this.requireWithinArnLength(properties.accountRegionScope);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Normalize a name to the resource part of its ARN.
|
|
45
|
+
*
|
|
46
|
+
* A parameter put as `db-host` and one read as `/db-host` are the same
|
|
47
|
+
* parameter, because both name the same ARN. Keying on this form is what
|
|
48
|
+
* makes the two interchangeable.
|
|
49
|
+
*/
|
|
50
|
+
static resourceFor(name) {
|
|
51
|
+
return name.trim().replace(/^\//, "");
|
|
52
|
+
}
|
|
53
|
+
static trimmed(name) {
|
|
54
|
+
if (name === undefined || name.trim() === "") {
|
|
55
|
+
throw new SimSsmValidationException("A parameter name is required and cannot be empty");
|
|
56
|
+
}
|
|
57
|
+
// Real Parameter Store strips surrounding spaces and refuses inner ones.
|
|
58
|
+
const trimmed = name.trim();
|
|
59
|
+
if (trimmed.includes(" ")) {
|
|
60
|
+
throw new SimSsmValidationException(`Parameter name '${trimmed}' contains spaces, which Parameter Store ` +
|
|
61
|
+
`does not allow between characters`);
|
|
62
|
+
}
|
|
63
|
+
return trimmed;
|
|
64
|
+
}
|
|
65
|
+
requireAllowedCharacters(name) {
|
|
66
|
+
if (allowedCharacters.test(name)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
throw new SimSsmParameterPatternMismatchException(`Parameter name '${name}' contains characters Parameter Store does not ` +
|
|
70
|
+
`allow: only letters, digits, the characters _.- and the / hierarchy ` +
|
|
71
|
+
`separator are permitted`);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Refuse a hierarchy that Parameter Store would refuse.
|
|
75
|
+
*
|
|
76
|
+
* The leading slash is the one people actually get wrong: a name written as
|
|
77
|
+
* `myapp/prod/db-host` looks fine and is rejected on real AWS, because a
|
|
78
|
+
* name containing a hierarchy has to be fully qualified.
|
|
79
|
+
*/
|
|
80
|
+
requireWellFormedHierarchy(name) {
|
|
81
|
+
if (!name.includes("/")) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (!name.startsWith("/")) {
|
|
85
|
+
throw new SimSsmParameterPatternMismatchException(`Parameter name '${name}' is hierarchical, so it must start with a ` +
|
|
86
|
+
`forward slash: '/${name}'`);
|
|
87
|
+
}
|
|
88
|
+
const levels = this.resource.split("/");
|
|
89
|
+
if (levels.includes("")) {
|
|
90
|
+
throw new SimSsmParameterPatternMismatchException(`Parameter name '${name}' has an empty hierarchy level`);
|
|
91
|
+
}
|
|
92
|
+
if (levels.length > maxHierarchyLevels) {
|
|
93
|
+
throw new SimSsmHierarchyLevelLimitExceededException(`Parameter name '${name}' has ${String(levels.length)} hierarchy ` +
|
|
94
|
+
`levels; a hierarchy can have a maximum of ` +
|
|
95
|
+
`${String(maxHierarchyLevels)} levels`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
requireUnreservedPrefix() {
|
|
99
|
+
const lowerCased = this.resource.toLowerCase();
|
|
100
|
+
const reserved = reservedPrefixes.find((prefix) => lowerCased.startsWith(prefix));
|
|
101
|
+
if (reserved === undefined) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
throw new SimSsmParameterPatternMismatchException(`Parameter name '${this.value}' starts with '${reserved}', which ` +
|
|
105
|
+
`Parameter Store reserves for its own parameters`);
|
|
106
|
+
}
|
|
107
|
+
requireWithinArnLength(accountRegionScope) {
|
|
108
|
+
const arnLength = ssmParameterArnPrefix(accountRegionScope).length + this.resource.length;
|
|
109
|
+
if (arnLength <= maxArnLength) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
throw new SimSsmValidationException(`Parameter name '${this.value}' makes an ARN of ${String(arnLength)} ` +
|
|
113
|
+
`characters; Parameter Store allows ${String(maxArnLength)} ` +
|
|
114
|
+
`including the ARN prefix for this Account and Region`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=sim-ssm-parameter-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-ssm-parameter-name.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-name.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0CAA0C,EAC1C,uCAAuC,EACvC,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAO1B;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;OAEG;IACa,KAAK,CAAS;IAE9B;;;OAGG;IACa,QAAQ,CAAS;IAEjC,YAAY,UAAyC;QACnD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,IAAwB;QAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,yBAAyB,CACjC,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,OAAO,2CAA2C;gBACnE,mCAAmC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,wBAAwB,CAAC,IAAY;QAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,uCAAuC,CAC/C,mBAAmB,IAAI,iDAAiD;YACtE,sEAAsE;YACtE,yBAAyB,CAC5B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,0BAA0B,CAAC,IAAY;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,uCAAuC,CAC/C,mBAAmB,IAAI,6CAA6C;gBAClE,oBAAoB,IAAI,GAAG,CAC9B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,uCAAuC,CAC/C,mBAAmB,IAAI,gCAAgC,CACxD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACvC,MAAM,IAAI,0CAA0C,CAClD,mBAAmB,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa;gBAChE,4CAA4C;gBAC5C,GAAG,MAAM,CAAC,kBAAkB,CAAC,SAAS,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAC9B,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,uCAAuC,CAC/C,mBAAmB,IAAI,CAAC,KAAK,kBAAkB,QAAQ,WAAW;YAChE,iDAAiD,CACpD,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,kBAA4C;QAE5C,MAAM,SAAS,GACb,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE1E,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,IAAI,CAAC,KAAK,qBAAqB,MAAM,CAAC,SAAS,CAAC,GAAG;YACpE,sCAAsC,MAAM,CAAC,YAAY,CAAC,GAAG;YAC7D,sDAAsD,CACzD,CAAC;IACJ,CAAC;CACF"}
|