@kensio/yulin 0.38.0 → 0.40.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 +3 -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-scoped-service-registries.d.ts +31 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.js +31 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-registries.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +10 -21
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +22 -29
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +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 +5 -0
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +6 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +21 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +17 -0
- package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts +26 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js +26 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts +25 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js +34 -0
- package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js +13 -0
- package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts +7 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js +14 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts +24 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts +11 -2
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +24 -71
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +6 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +25 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +36 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts +32 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js +35 -0
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +36 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +53 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts +57 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +74 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +49 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +72 -0
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts +56 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js +95 -0
- package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +23 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +34 -0
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -0
- package/dist/service/kms/key/sim-kms-key-store.d.ts +8 -0
- package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-store.js +10 -0
- package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
- package/dist/service/kms/sim-kms.d.ts +15 -0
- package/dist/service/kms/sim-kms.d.ts.map +1 -1
- package/dist/service/kms/sim-kms.js +18 -0
- package/dist/service/kms/sim-kms.js.map +1 -1
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts +22 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js +47 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +24 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +38 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +54 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +82 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts +58 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js +122 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +24 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +31 -0
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts +29 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +47 -0
- package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/secret.command.d.ts +144 -0
- package/dist/service/secretsmanager/command/secret/secret.command.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/secret.command.js +2 -0
- package/dist/service/secretsmanager/command/secret/secret.command.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts +44 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js +61 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts +44 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js +61 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +48 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +62 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts +26 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js +38 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts +29 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js +55 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +46 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +67 -0
- package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts +6 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js +2 -0
- package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js.map +1 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +39 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +61 -0
- package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -0
- package/dist/service/secretsmanager/command/value/value.command.d.ts +47 -0
- package/dist/service/secretsmanager/command/value/value.command.d.ts.map +1 -0
- package/dist/service/secretsmanager/command/value/value.command.js +2 -0
- package/dist/service/secretsmanager/command/value/value.command.js.map +1 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +55 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +60 -0
- package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -0
- package/dist/service/secretsmanager/index.d.ts +7 -0
- package/dist/service/secretsmanager/index.d.ts.map +1 -0
- package/dist/service/secretsmanager/index.js +7 -0
- package/dist/service/secretsmanager/index.js.map +1 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts +19 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts.map +1 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js +57 -0
- package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts +37 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js +70 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts +53 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js +65 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts +40 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js +66 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts +31 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js +52 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts +35 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js +64 -0
- package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts +33 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js +60 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts +42 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js +64 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts +30 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js +32 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts +31 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js +35 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts +27 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js +48 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +23 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +50 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +53 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +92 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +47 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +81 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +56 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +62 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts +47 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js +83 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +75 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +86 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts +28 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js +43 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +42 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +60 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -0
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts +85 -0
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -0
- package/dist/service/secretsmanager/sim-secrets-manager.js +156 -0
- package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reads AWS::KMS::Alias CloudFormation properties into the shape the alias
|
|
4
|
+
* creator needs.
|
|
5
|
+
*
|
|
6
|
+
* Both properties are required, as they are on real CloudFormation: an alias
|
|
7
|
+
* with no name names nothing, and an alias with no target points at nothing.
|
|
8
|
+
*/
|
|
9
|
+
export class SimCfnKmsAliasProperties {
|
|
10
|
+
resource;
|
|
11
|
+
properties;
|
|
12
|
+
propertyParser = new SimCfnKmsPropertyParser({
|
|
13
|
+
resourceType: "AWS::KMS::Alias",
|
|
14
|
+
});
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.resource = properties.resource;
|
|
17
|
+
this.properties = properties.properties;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The alias name, including its `alias/` prefix.
|
|
21
|
+
*/
|
|
22
|
+
aliasName() {
|
|
23
|
+
return this.propertyParser.requiredString(this.resource, this.properties["AliasName"], "AliasName");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The key the alias points at, in any of the forms KMS accepts as a KeyId.
|
|
27
|
+
*
|
|
28
|
+
* A template usually gets here through `!Ref` on its AWS::KMS::Key, which
|
|
29
|
+
* resolves to that key's key ID.
|
|
30
|
+
*/
|
|
31
|
+
targetKeyId() {
|
|
32
|
+
return this.propertyParser.requiredString(this.resource, this.properties["TargetKeyId"], "TargetKeyId");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sim-cfn-kms-alias-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-alias-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/alias/sim-cfn-kms-alias-properties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAO5E;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,cAAc,GAAG,IAAI,uBAAuB,CAAC;QAC5D,YAAY,EAAE,iBAAiB;KAChC,CAAC,CAAC;IAEH,YAAY,UAA8C;QACxD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CACvC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC5B,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CACvC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAC9B,aAAa,CACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimKmsKey } from "../../key/sim-kms-key.js";
|
|
4
|
+
import type { SimKms } from "../../sim-kms.js";
|
|
5
|
+
interface SimCfnKmsKeyCreatorProperties {
|
|
6
|
+
readonly kms: SimKms;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated KMS keys from AWS::KMS::Key Resources.
|
|
10
|
+
*
|
|
11
|
+
* The key is created through the ordinary CreateKey command rather than
|
|
12
|
+
* constructed directly, so a key a template deployed is the same thing an SDK
|
|
13
|
+
* caller would have got: real key material, the same key policy handling, and
|
|
14
|
+
* the same refusal of key types this simulation does not model.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimCfnKmsKeyCreator {
|
|
17
|
+
private readonly kms;
|
|
18
|
+
constructor(properties: SimCfnKmsKeyCreatorProperties);
|
|
19
|
+
/**
|
|
20
|
+
* Create a key from an AWS::KMS::Key Resource.
|
|
21
|
+
*/
|
|
22
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimKmsKey>;
|
|
23
|
+
/**
|
|
24
|
+
* Apply `Enabled: false`, which asks for a key that is disabled the moment
|
|
25
|
+
* it exists.
|
|
26
|
+
*
|
|
27
|
+
* CreateKey has no input for that, as the real API has none either: real
|
|
28
|
+
* CloudFormation makes the key and then disables it. The key model is
|
|
29
|
+
* disabled directly rather than through DisableKey, because CloudFormation
|
|
30
|
+
* is acting as the key's creator here and has no caller identity of its own
|
|
31
|
+
* to authorize.
|
|
32
|
+
*/
|
|
33
|
+
private applyEnabled;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=sim-cfn-kms-key-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-key-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU,6BAA6B;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,SAAS,CAAC,CAyBpB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { SimCfnKmsKeyProperties } from "./sim-cfn-kms-key-properties.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates simulated KMS keys from AWS::KMS::Key Resources.
|
|
5
|
+
*
|
|
6
|
+
* The key is created through the ordinary CreateKey command rather than
|
|
7
|
+
* constructed directly, so a key a template deployed is the same thing an SDK
|
|
8
|
+
* caller would have got: real key material, the same key policy handling, and
|
|
9
|
+
* the same refusal of key types this simulation does not model.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfnKmsKeyCreator {
|
|
12
|
+
kms;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.kms = properties.kms;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a key from an AWS::KMS::Key Resource.
|
|
18
|
+
*/
|
|
19
|
+
async create(resource, properties) {
|
|
20
|
+
const keyProperties = new SimCfnKmsKeyProperties({ resource, properties });
|
|
21
|
+
const created = await this.kms.createKey({
|
|
22
|
+
input: {
|
|
23
|
+
Description: keyProperties.description(),
|
|
24
|
+
Policy: keyProperties.policy(),
|
|
25
|
+
KeySpec: keyProperties.keySpec(),
|
|
26
|
+
KeyUsage: keyProperties.keyUsage(),
|
|
27
|
+
Origin: keyProperties.origin(),
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
const keyId = created.KeyMetadata?.KeyId;
|
|
31
|
+
assertDefined(keyId, `sim KMS key ID after CloudFormation creation for ${resource.logicalId}`);
|
|
32
|
+
const key = this.kms.findKey(keyId);
|
|
33
|
+
assertDefined(key, `sim KMS key ${keyId} after CloudFormation creation`);
|
|
34
|
+
this.applyEnabled(key, keyProperties.enabled());
|
|
35
|
+
return key;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Apply `Enabled: false`, which asks for a key that is disabled the moment
|
|
39
|
+
* it exists.
|
|
40
|
+
*
|
|
41
|
+
* CreateKey has no input for that, as the real API has none either: real
|
|
42
|
+
* CloudFormation makes the key and then disables it. The key model is
|
|
43
|
+
* disabled directly rather than through DisableKey, because CloudFormation
|
|
44
|
+
* is acting as the key's creator here and has no caller identity of its own
|
|
45
|
+
* to authorize.
|
|
46
|
+
*/
|
|
47
|
+
applyEnabled(key, enabled) {
|
|
48
|
+
if (!enabled) {
|
|
49
|
+
key.disable();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sim-cfn-kms-key-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-key-creator.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAMzE;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAS;IAE7B,YAAY,UAAyC;QACnD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YACvC,KAAK,EAAE;gBACL,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE;gBAC9B,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;gBAClC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE;aAC/B;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QACzC,aAAa,CACX,KAAK,EACL,oDAAoD,QAAQ,CAAC,SAAS,EAAE,CACzE,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,EAAE,eAAe,KAAK,gCAAgC,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACK,YAAY,CAAC,GAAc,EAAE,OAAgB;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
interface SimCfnKmsKeyPropertiesProperties {
|
|
4
|
+
readonly resource: SimCfnResource;
|
|
5
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Reads AWS::KMS::Key CloudFormation properties into the shape the key creator
|
|
9
|
+
* needs.
|
|
10
|
+
*
|
|
11
|
+
* Keeping the property-shape rules here leaves the creator to do nothing but
|
|
12
|
+
* call CreateKey, and puts the refusals for unmodelled key behaviour in one
|
|
13
|
+
* place beside the properties they belong to.
|
|
14
|
+
*
|
|
15
|
+
* Those refusals run on construction rather than when a property is read, so
|
|
16
|
+
* a Resource asking for something unmodelled cannot get as far as creating a
|
|
17
|
+
* key that would then be wrong.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SimCfnKmsKeyProperties {
|
|
20
|
+
private readonly resource;
|
|
21
|
+
private readonly properties;
|
|
22
|
+
private readonly propertyParser;
|
|
23
|
+
constructor(properties: SimCfnKmsKeyPropertiesProperties);
|
|
24
|
+
/**
|
|
25
|
+
* The key Description.
|
|
26
|
+
*/
|
|
27
|
+
description(): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* The key policy, as the JSON document string CreateKey takes.
|
|
30
|
+
*
|
|
31
|
+
* Omitting it gets the default root-delegation policy KMS applies, which is
|
|
32
|
+
* the same thing CreateKey does with no Policy.
|
|
33
|
+
*/
|
|
34
|
+
policy(): string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* The requested key spec, passed through so CreateKey refuses the specs this
|
|
37
|
+
* simulation does not create.
|
|
38
|
+
*/
|
|
39
|
+
keySpec(): string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* The requested key usage, passed through to CreateKey in the same way.
|
|
42
|
+
*/
|
|
43
|
+
keyUsage(): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* The requested key material origin, passed through to CreateKey in the same
|
|
46
|
+
* way.
|
|
47
|
+
*/
|
|
48
|
+
origin(): string | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the deployed key is enabled. A key is enabled unless the template
|
|
51
|
+
* says otherwise, as on real CloudFormation.
|
|
52
|
+
*/
|
|
53
|
+
enabled(): boolean;
|
|
54
|
+
private string;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=sim-cfn-kms-key-properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-key-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAI1E,UAAU,gCAAgC;IACxC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE5B;IAEH,YAAY,UAAU,EAAE,gCAAgC,EAOvD;IAED;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;;;OAKG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS,CAM3B;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;;OAGG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;OAGG;IACH,OAAO,IAAI,OAAO,CAQjB;IAED,OAAO,CAAC,MAAM;CAMf"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
|
|
2
|
+
import { SimCfnKmsUnsimulatedKeyProperties } from "./sim-cfn-kms-unsimulated-key-properties.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reads AWS::KMS::Key CloudFormation properties into the shape the key creator
|
|
5
|
+
* needs.
|
|
6
|
+
*
|
|
7
|
+
* Keeping the property-shape rules here leaves the creator to do nothing but
|
|
8
|
+
* call CreateKey, and puts the refusals for unmodelled key behaviour in one
|
|
9
|
+
* place beside the properties they belong to.
|
|
10
|
+
*
|
|
11
|
+
* Those refusals run on construction rather than when a property is read, so
|
|
12
|
+
* a Resource asking for something unmodelled cannot get as far as creating a
|
|
13
|
+
* key that would then be wrong.
|
|
14
|
+
*/
|
|
15
|
+
export class SimCfnKmsKeyProperties {
|
|
16
|
+
resource;
|
|
17
|
+
properties;
|
|
18
|
+
propertyParser = new SimCfnKmsPropertyParser({
|
|
19
|
+
resourceType: "AWS::KMS::Key",
|
|
20
|
+
});
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.resource = properties.resource;
|
|
23
|
+
this.properties = properties.properties;
|
|
24
|
+
new SimCfnKmsUnsimulatedKeyProperties({
|
|
25
|
+
propertyParser: this.propertyParser,
|
|
26
|
+
}).require(this.resource, this.properties);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The key Description.
|
|
30
|
+
*/
|
|
31
|
+
description() {
|
|
32
|
+
return this.string(this.properties["Description"], "Description");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The key policy, as the JSON document string CreateKey takes.
|
|
36
|
+
*
|
|
37
|
+
* Omitting it gets the default root-delegation policy KMS applies, which is
|
|
38
|
+
* the same thing CreateKey does with no Policy.
|
|
39
|
+
*/
|
|
40
|
+
policy() {
|
|
41
|
+
return this.propertyParser.optionalPolicyJson(this.resource, this.properties["KeyPolicy"], "KeyPolicy");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The requested key spec, passed through so CreateKey refuses the specs this
|
|
45
|
+
* simulation does not create.
|
|
46
|
+
*/
|
|
47
|
+
keySpec() {
|
|
48
|
+
return this.string(this.properties["KeySpec"], "KeySpec");
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The requested key usage, passed through to CreateKey in the same way.
|
|
52
|
+
*/
|
|
53
|
+
keyUsage() {
|
|
54
|
+
return this.string(this.properties["KeyUsage"], "KeyUsage");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The requested key material origin, passed through to CreateKey in the same
|
|
58
|
+
* way.
|
|
59
|
+
*/
|
|
60
|
+
origin() {
|
|
61
|
+
return this.string(this.properties["Origin"], "Origin");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Whether the deployed key is enabled. A key is enabled unless the template
|
|
65
|
+
* says otherwise, as on real CloudFormation.
|
|
66
|
+
*/
|
|
67
|
+
enabled() {
|
|
68
|
+
return (this.propertyParser.optionalBoolean(this.resource, this.properties["Enabled"], "Enabled") ?? true);
|
|
69
|
+
}
|
|
70
|
+
string(value, name) {
|
|
71
|
+
return this.propertyParser.optionalString(this.resource, value, name);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=sim-cfn-kms-key-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-key-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-properties.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAOhG;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,sBAAsB;IAChB,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,cAAc,GAAG,IAAI,uBAAuB,CAAC;QAC5D,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;IAEH,YAAY,UAA4C;QACtD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAExC,IAAI,iCAAiC,CAAC;YACpC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC3C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC5B,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,eAAe,CACjC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,IAAI,IAAI,CACV,CAAC;IACJ,CAAC;IAEO,MAAM,CACZ,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
|
|
4
|
+
interface SimCfnKmsUnsimulatedKeyPropertiesProperties {
|
|
5
|
+
readonly propertyParser: SimCfnKmsPropertyParser;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Refuses AWS::KMS::Key properties that ask for behaviour simulated KMS does
|
|
9
|
+
* not model.
|
|
10
|
+
*
|
|
11
|
+
* Each of these changes what the key is, not merely how it is described, so
|
|
12
|
+
* quietly ignoring one would leave a template deploying a key that behaves
|
|
13
|
+
* differently here than it would on AWS: rotation that never happens, a
|
|
14
|
+
* multi-Region key whose replica cannot exist, or tags no policy can match.
|
|
15
|
+
* Refusing at deploy time makes that visible where it was declared.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimCfnKmsUnsimulatedKeyProperties {
|
|
18
|
+
private readonly propertyParser;
|
|
19
|
+
constructor(properties: SimCfnKmsUnsimulatedKeyPropertiesProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Refuse the Resource if it asks for something unmodelled.
|
|
22
|
+
*
|
|
23
|
+
* KeySpec, KeyUsage and Origin are not checked here: they go through to
|
|
24
|
+
* CreateKey, which already refuses the types this simulation does not
|
|
25
|
+
* create.
|
|
26
|
+
*/
|
|
27
|
+
require(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): void;
|
|
28
|
+
/**
|
|
29
|
+
* Automatic key rotation is not simulated.
|
|
30
|
+
*
|
|
31
|
+
* `EnableKeyRotation: false` is the AWS default and says nothing, so it is
|
|
32
|
+
* accepted.
|
|
33
|
+
*/
|
|
34
|
+
private requireNoRotation;
|
|
35
|
+
/**
|
|
36
|
+
* Multi-Region keys are not simulated. A simulated key belongs to one
|
|
37
|
+
* account and region, and a ciphertext produced under it cannot be decrypted
|
|
38
|
+
* elsewhere.
|
|
39
|
+
*/
|
|
40
|
+
private requireSingleRegion;
|
|
41
|
+
/**
|
|
42
|
+
* Tags are not simulated on KMS keys, so a template declaring them is
|
|
43
|
+
* refused rather than deploying a key whose tags nothing can read and no
|
|
44
|
+
* `aws:ResourceTag` condition can match.
|
|
45
|
+
*/
|
|
46
|
+
private requireNoTags;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=sim-cfn-kms-unsimulated-key-properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-unsimulated-key-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,UAAU,2CAA2C;IACnD,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;CAClD;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,YAAY,UAAU,EAAE,2CAA2C,EAElE;IAED;;;;;;OAMG;IACH,OAAO,CACL,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,IAAI,CAIN;IAED;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;;OAIG;IACH,OAAO,CAAC,aAAa;CActB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuses AWS::KMS::Key properties that ask for behaviour simulated KMS does
|
|
3
|
+
* not model.
|
|
4
|
+
*
|
|
5
|
+
* Each of these changes what the key is, not merely how it is described, so
|
|
6
|
+
* quietly ignoring one would leave a template deploying a key that behaves
|
|
7
|
+
* differently here than it would on AWS: rotation that never happens, a
|
|
8
|
+
* multi-Region key whose replica cannot exist, or tags no policy can match.
|
|
9
|
+
* Refusing at deploy time makes that visible where it was declared.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfnKmsUnsimulatedKeyProperties {
|
|
12
|
+
propertyParser;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.propertyParser = properties.propertyParser;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Refuse the Resource if it asks for something unmodelled.
|
|
18
|
+
*
|
|
19
|
+
* KeySpec, KeyUsage and Origin are not checked here: they go through to
|
|
20
|
+
* CreateKey, which already refuses the types this simulation does not
|
|
21
|
+
* create.
|
|
22
|
+
*/
|
|
23
|
+
require(resource, properties) {
|
|
24
|
+
this.requireNoRotation(resource, properties);
|
|
25
|
+
this.requireSingleRegion(resource, properties);
|
|
26
|
+
this.requireNoTags(resource, properties);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Automatic key rotation is not simulated.
|
|
30
|
+
*
|
|
31
|
+
* `EnableKeyRotation: false` is the AWS default and says nothing, so it is
|
|
32
|
+
* accepted.
|
|
33
|
+
*/
|
|
34
|
+
requireNoRotation(resource, properties) {
|
|
35
|
+
const enabled = this.propertyParser.optionalBoolean(resource, properties["EnableKeyRotation"], "EnableKeyRotation");
|
|
36
|
+
if (enabled === true) {
|
|
37
|
+
throw this.propertyParser.propertyError(resource, "EnableKeyRotation is not simulated: simulated KMS keys keep the " +
|
|
38
|
+
"same key material for their lifetime, so a rotated ciphertext " +
|
|
39
|
+
"would not be modelled");
|
|
40
|
+
}
|
|
41
|
+
if (properties["RotationPeriodInDays"] !== undefined) {
|
|
42
|
+
throw this.propertyParser.propertyError(resource, "RotationPeriodInDays is not simulated: simulated KMS does not " +
|
|
43
|
+
"rotate key material");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Multi-Region keys are not simulated. A simulated key belongs to one
|
|
48
|
+
* account and region, and a ciphertext produced under it cannot be decrypted
|
|
49
|
+
* elsewhere.
|
|
50
|
+
*/
|
|
51
|
+
requireSingleRegion(resource, properties) {
|
|
52
|
+
const multiRegion = this.propertyParser.optionalBoolean(resource, properties["MultiRegion"], "MultiRegion");
|
|
53
|
+
if (multiRegion === true) {
|
|
54
|
+
throw this.propertyParser.propertyError(resource, "MultiRegion is not simulated: a simulated key belongs to one " +
|
|
55
|
+
"account and region, and its ciphertext cannot be decrypted in " +
|
|
56
|
+
"another");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Tags are not simulated on KMS keys, so a template declaring them is
|
|
61
|
+
* refused rather than deploying a key whose tags nothing can read and no
|
|
62
|
+
* `aws:ResourceTag` condition can match.
|
|
63
|
+
*/
|
|
64
|
+
requireNoTags(resource, properties) {
|
|
65
|
+
const tags = properties["Tags"];
|
|
66
|
+
if (tags !== undefined) {
|
|
67
|
+
throw this.propertyParser.propertyError(resource, "Tags are not simulated on KMS keys: ListResourceTags and the " +
|
|
68
|
+
"aws:ResourceTag condition key would not see them");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=sim-cfn-kms-unsimulated-key-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-unsimulated-key-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,MAAM,OAAO,iCAAiC;IAC3B,cAAc,CAA0B;IAEzD,YAAY,UAAuD;QACjE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,QAAwB,EACxB,UAAqC;QAErC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACvB,QAAwB,EACxB,UAAqC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CACjD,QAAQ,EACR,UAAU,CAAC,mBAAmB,CAAC,EAC/B,mBAAmB,CACpB,CAAC;QAEF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,kEAAkE;gBAChE,gEAAgE;gBAChE,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,gEAAgE;gBAC9D,qBAAqB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,QAAwB,EACxB,UAAqC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CACrD,QAAQ,EACR,UAAU,CAAC,aAAa,CAAC,EACzB,aAAa,CACd,CAAC;QAEF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,+DAA+D;gBAC7D,gEAAgE;gBAChE,SAAS,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,aAAa,CACnB,QAAwB,EACxB,UAAqC;QAErC,MAAM,IAAI,GAAoC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,+DAA+D;gBAC7D,kDAAkD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValue } from "../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
interface SimCfnKmsPropertyParserProperties {
|
|
4
|
+
readonly resourceType: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Validates individual AWS::KMS::* CloudFormation property values, failing
|
|
8
|
+
* with a diagnostic naming the Resource type, the property and the logical ID.
|
|
9
|
+
*
|
|
10
|
+
* The Resource type is carried here because KMS creates two of them, and a
|
|
11
|
+
* message naming the wrong one would send a reader to the wrong template
|
|
12
|
+
* entry.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimCfnKmsPropertyParser {
|
|
15
|
+
private readonly resourceType;
|
|
16
|
+
constructor(properties: SimCfnKmsPropertyParserProperties);
|
|
17
|
+
/**
|
|
18
|
+
* Parse a property value that must be a string when present.
|
|
19
|
+
*/
|
|
20
|
+
optionalString(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Parse a property value that has to be there and has to be a string.
|
|
23
|
+
*/
|
|
24
|
+
requiredString(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Parse a property value that must be a boolean when present.
|
|
27
|
+
*
|
|
28
|
+
* CloudFormation carries template booleans as the strings "true" and "false"
|
|
29
|
+
* in places, so both forms are accepted, as CloudFormation itself accepts
|
|
30
|
+
* them.
|
|
31
|
+
*/
|
|
32
|
+
optionalBoolean(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): boolean | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Parse a policy document property, which CloudFormation carries as an
|
|
35
|
+
* object but which the KMS API takes as a JSON string.
|
|
36
|
+
*
|
|
37
|
+
* A string is passed through so a template that inlined the JSON itself
|
|
38
|
+
* still works, which is what CDK's `PolicyDocument.toJSON` output and a
|
|
39
|
+
* hand-written `!Sub` both end up producing.
|
|
40
|
+
*/
|
|
41
|
+
optionalPolicyJson(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Build the diagnostic error for a malformed property value.
|
|
44
|
+
*/
|
|
45
|
+
invalidPropertyError(resource: SimCfnResource, label: string, expected: string): TypeError;
|
|
46
|
+
/**
|
|
47
|
+
* Build the diagnostic error for a Resource this simulator refuses.
|
|
48
|
+
*/
|
|
49
|
+
propertyError(resource: SimCfnResource, reason: string): Error;
|
|
50
|
+
/**
|
|
51
|
+
* Narrow a template value to an object, refusing anything else.
|
|
52
|
+
*/
|
|
53
|
+
private record;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=sim-cfn-kms-property-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-property-parser.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-property-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,+DAA+D,CAAC;AAEvE,UAAU,iCAAiC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YAAY,UAAU,EAAE,iCAAiC,EAExD;IAED;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAUpB;IAED;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;IAED;;;;;;OAMG;IACH,eAAe,CACb,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,OAAO,GAAG,SAAS,CAcrB;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAUpB;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,SAAS,CAKX;IAED;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAI7D;IAED;;OAEG;IACH,OAAO,CAAC,MAAM;CAWf"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates individual AWS::KMS::* CloudFormation property values, failing
|
|
3
|
+
* with a diagnostic naming the Resource type, the property and the logical ID.
|
|
4
|
+
*
|
|
5
|
+
* The Resource type is carried here because KMS creates two of them, and a
|
|
6
|
+
* message naming the wrong one would send a reader to the wrong template
|
|
7
|
+
* entry.
|
|
8
|
+
*/
|
|
9
|
+
export class SimCfnKmsPropertyParser {
|
|
10
|
+
resourceType;
|
|
11
|
+
constructor(properties) {
|
|
12
|
+
this.resourceType = properties.resourceType;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parse a property value that must be a string when present.
|
|
16
|
+
*/
|
|
17
|
+
optionalString(resource, value, label) {
|
|
18
|
+
if (value === undefined) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
if (typeof value !== "string") {
|
|
22
|
+
throw this.invalidPropertyError(resource, label, "a string");
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse a property value that has to be there and has to be a string.
|
|
28
|
+
*/
|
|
29
|
+
requiredString(resource, value, label) {
|
|
30
|
+
const parsed = this.optionalString(resource, value, label);
|
|
31
|
+
if (parsed === undefined) {
|
|
32
|
+
throw this.invalidPropertyError(resource, label, "a string");
|
|
33
|
+
}
|
|
34
|
+
return parsed;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse a property value that must be a boolean when present.
|
|
38
|
+
*
|
|
39
|
+
* CloudFormation carries template booleans as the strings "true" and "false"
|
|
40
|
+
* in places, so both forms are accepted, as CloudFormation itself accepts
|
|
41
|
+
* them.
|
|
42
|
+
*/
|
|
43
|
+
optionalBoolean(resource, value, label) {
|
|
44
|
+
if (value === undefined) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (typeof value === "boolean") {
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
if (value === "true" || value === "false") {
|
|
51
|
+
return value === "true";
|
|
52
|
+
}
|
|
53
|
+
throw this.invalidPropertyError(resource, label, "a boolean");
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse a policy document property, which CloudFormation carries as an
|
|
57
|
+
* object but which the KMS API takes as a JSON string.
|
|
58
|
+
*
|
|
59
|
+
* A string is passed through so a template that inlined the JSON itself
|
|
60
|
+
* still works, which is what CDK's `PolicyDocument.toJSON` output and a
|
|
61
|
+
* hand-written `!Sub` both end up producing.
|
|
62
|
+
*/
|
|
63
|
+
optionalPolicyJson(resource, value, label) {
|
|
64
|
+
if (value === undefined) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
if (typeof value === "string") {
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
return JSON.stringify(this.record(resource, value, label));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the diagnostic error for a malformed property value.
|
|
74
|
+
*/
|
|
75
|
+
invalidPropertyError(resource, label, expected) {
|
|
76
|
+
return new TypeError(`Invalid ${this.resourceType} ${resource.logicalId}: ` +
|
|
77
|
+
`${label} must be ${expected}`);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build the diagnostic error for a Resource this simulator refuses.
|
|
81
|
+
*/
|
|
82
|
+
propertyError(resource, reason) {
|
|
83
|
+
return new Error(`Invalid ${this.resourceType} Resource ${resource.logicalId}: ${reason}`);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Narrow a template value to an object, refusing anything else.
|
|
87
|
+
*/
|
|
88
|
+
record(resource, value, label) {
|
|
89
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
90
|
+
throw this.invalidPropertyError(resource, label, "an object");
|
|
91
|
+
}
|
|
92
|
+
return value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=sim-cfn-kms-property-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-property-parser.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-property-parser.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,YAAY,CAAS;IAEtC,YAAY,UAA6C;QACvD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CACb,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,KAAK,KAAK,MAAM,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAwB,EACxB,KAAa,EACb,QAAgB;QAEhB,OAAO,IAAI,SAAS,CAClB,WAAW,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,IAAI;YACpD,GAAG,KAAK,YAAY,QAAQ,EAAE,CACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAwB,EAAE,MAAc;QACpD,OAAO,IAAI,KAAK,CACd,WAAW,IAAI,CAAC,YAAY,aAAa,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CACzE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CACZ,QAAwB,EACxB,KAA0B,EAC1B,KAAa;QAEb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
|
|
2
|
+
import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
|
|
3
|
+
import type { SimKms } from "../sim-kms.js";
|
|
4
|
+
interface SimKmsCfnResourceFactoryProperties {
|
|
5
|
+
readonly kms: SimKms;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* CloudFormation Resource factory for simulated KMS resources.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimKmsCfnResourceFactory implements SimCfnServiceResourceFactory {
|
|
11
|
+
private readonly keyCreator;
|
|
12
|
+
private readonly aliasCreator;
|
|
13
|
+
constructor(properties: SimKmsCfnResourceFactoryProperties);
|
|
14
|
+
/**
|
|
15
|
+
* Create a simulated KMS resource from a CloudFormation Resource.
|
|
16
|
+
*
|
|
17
|
+
* Grants and replica keys are not simulated, so their Resource types are
|
|
18
|
+
* reported as unsupported rather than quietly treated as deployed.
|
|
19
|
+
*/
|
|
20
|
+
create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=sim-cfn-kms-resource-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,4BAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD,YAAY,UAAU,EAAE,kCAAkC,EAGzD;IAED;;;;;OAKG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SimCfnKmsAliasCreator } from "./alias/sim-cfn-kms-alias-creator.js";
|
|
2
|
+
import { SimCfnKmsKeyCreator } from "./key/sim-cfn-kms-key-creator.js";
|
|
3
|
+
/**
|
|
4
|
+
* CloudFormation Resource factory for simulated KMS resources.
|
|
5
|
+
*/
|
|
6
|
+
export class SimKmsCfnResourceFactory {
|
|
7
|
+
keyCreator;
|
|
8
|
+
aliasCreator;
|
|
9
|
+
constructor(properties) {
|
|
10
|
+
this.keyCreator = new SimCfnKmsKeyCreator({ kms: properties.kms });
|
|
11
|
+
this.aliasCreator = new SimCfnKmsAliasCreator({ kms: properties.kms });
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create a simulated KMS resource from a CloudFormation Resource.
|
|
15
|
+
*
|
|
16
|
+
* Grants and replica keys are not simulated, so their Resource types are
|
|
17
|
+
* reported as unsupported rather than quietly treated as deployed.
|
|
18
|
+
*/
|
|
19
|
+
async create(resourceTypeName, resource, context) {
|
|
20
|
+
const properties = context.resolvedProperties ?? resource.properties;
|
|
21
|
+
switch (resourceTypeName) {
|
|
22
|
+
case "Key": {
|
|
23
|
+
return await this.keyCreator.create(resource, properties);
|
|
24
|
+
}
|
|
25
|
+
case "Alias": {
|
|
26
|
+
return await this.aliasCreator.create(resource, properties);
|
|
27
|
+
}
|
|
28
|
+
default: {
|
|
29
|
+
throw new Error(`Unsupported sim KMS CloudFormation Resource ${resourceTypeName}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sim-cfn-kms-resource-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-kms-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,UAAU,CAAsB;IAChC,YAAY,CAAwB;IAErD,YAAY,UAA8C;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|