@kensio/yulin 1.20.16 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
- package/dist/service/athena/engine/sim-athena-shims.js +2 -0
- package/dist/service/aws/caller/sim-aws-ambient-caller.d.ts +23 -0
- package/dist/service/aws/caller/sim-aws-ambient-caller.js +12 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +17 -6
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +21 -26
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -1
- package/dist/service/aws/factory/sim-aws-registered-service-builder.js +3 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +9 -1
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +6 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +11 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +17 -15
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +12 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +16 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
- package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.d.ts +29 -12
- package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.js +51 -20
- package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.d.ts +19 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.js +6 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +7 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +9 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +4 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +2 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +6 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +16 -0
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.d.ts +37 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.js +50 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +35 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +49 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +33 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +132 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +8 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +13 -0
- package/dist/service/cloudfront/cff/sim-cf-function-commands.d.ts +52 -0
- package/dist/service/cloudfront/cff/sim-cf-function-commands.js +51 -0
- package/dist/service/cloudfront/cff/sim-cff-configuration.d.ts +41 -0
- package/dist/service/cloudfront/cff/sim-cff-configuration.js +34 -0
- package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
- package/dist/service/cloudfront/cff/sim-cff-stage.d.ts +23 -0
- package/dist/service/cloudfront/cff/sim-cff-stage.js +30 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +6 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +6 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +28 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +71 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.d.ts +24 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.js +32 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
- package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.d.ts → sim-cfn-cf-distro-behavior-policies.d.ts} +9 -7
- package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.js → sim-cfn-cf-distro-behavior-policies.js} +12 -37
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +8 -7
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.d.ts +23 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +35 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +22 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +2 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +4 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +7 -1
- package/dist/service/cloudfront/command/function/sim-cf-describe-function.d.ts +22 -0
- package/dist/service/cloudfront/command/function/sim-cf-describe-function.js +32 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-access.d.ts +48 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-access.js +48 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-command.types.d.ts +97 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-command.types.js +10 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-lookup.d.ts +12 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-lookup.js +21 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-summary.d.ts +11 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-summary.js +30 -0
- package/dist/service/cloudfront/command/function/sim-cf-get-function.d.ts +23 -0
- package/dist/service/cloudfront/command/function/sim-cf-get-function.js +33 -0
- package/dist/service/cloudfront/command/function/sim-cf-list-functions.d.ts +22 -0
- package/dist/service/cloudfront/command/function/sim-cf-list-functions.js +38 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +4 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.d.ts +18 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.js +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +44 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts +2 -2
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +9 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts +0 -10
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +0 -19
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +4 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +8 -2
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +5 -5
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +4 -4
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +7 -3
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +4 -0
- package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +25 -0
- package/dist/service/cloudfront/index.d.ts +2 -0
- package/dist/service/cloudfront/index.js +1 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
- package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +2 -10
- package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.js +2 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
- package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +24 -0
- package/dist/service/cloudfront/sim-cf-authorize.d.ts +16 -0
- package/dist/service/cloudfront/sim-cf-authorize.js +19 -0
- package/dist/service/cloudfront/sim-cf-etag.d.ts +7 -0
- package/dist/service/cloudfront/sim-cf-etag.js +10 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +20 -12
- package/dist/service/cloudfront/sim-cloudfront-commands.js +20 -17
- package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
- package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +60 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.js +75 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -44
- package/dist/service/cloudfront/sim-cloudfront.js +37 -58
- package/dist/service/ecr/authorize/sim-ecr-authorizer.d.ts +31 -0
- package/dist/service/ecr/authorize/sim-ecr-authorizer.js +38 -0
- package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.d.ts +11 -2
- package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.js +11 -2
- package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.d.ts +4 -2
- package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.js +8 -9
- package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.d.ts +7 -0
- package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.js +9 -0
- package/dist/service/ecr/sim-ecr.d.ts +7 -0
- package/dist/service/ecr/sim-ecr.js +16 -4
- package/dist/service/ecs/command/authorize/sim-ecs-authorizer.d.ts +12 -0
- package/dist/service/ecs/command/authorize/sim-ecs-authorizer.js +21 -0
- package/dist/service/ecs/command/register-task-definition/register-task-definition.handler.js +1 -0
- package/dist/service/ecs/sim-ecs-service-principal.d.ts +8 -0
- package/dist/service/ecs/sim-ecs-service-principal.js +8 -0
- package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.d.ts +12 -0
- package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.js +21 -0
- package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.d.ts +13 -0
- package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.js +9 -0
- package/dist/service/eventbridge/command/target/sim-event-bridge-put-targets.js +1 -0
- package/dist/service/firehose/command/authorize/sim-firehose-authorizer.d.ts +12 -0
- package/dist/service/firehose/command/authorize/sim-firehose-authorizer.js +20 -0
- package/dist/service/firehose/command/sim-firehose-delivery-stream-access.d.ts +4 -0
- package/dist/service/firehose/command/sim-firehose-delivery-stream-access.js +6 -0
- package/dist/service/firehose/command/stream/sim-firehose-create-delivery-stream.js +3 -1
- package/dist/service/firehose/sim-firehose-service-principal.d.ts +8 -0
- package/dist/service/firehose/sim-firehose-service-principal.js +8 -0
- package/dist/service/firehose/source/sim-firehose-source.d.ts +5 -0
- package/dist/service/firehose/source/sim-firehose-source.js +5 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js +2 -2
- package/dist/service/glue/cfn/sim-cfn-glue-generated-name.d.ts +10 -0
- package/dist/service/glue/cfn/sim-cfn-glue-generated-name.js +25 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js +2 -3
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +34 -2
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +34 -2
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +4 -3
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +9 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +14 -5
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +16 -12
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +5 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +9 -71
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +2 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +89 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-input.js +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +11 -3
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +20 -8
- package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +29 -8
- package/dist/service/iam/authorize/match/sim-iam-principal-match.js +38 -13
- package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.d.ts +74 -0
- package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.js +92 -0
- package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +14 -5
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js +6 -4
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +3 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js +2 -1
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +1 -1
- package/dist/service/iam/authorize/sim-iam-wildcard.js +39 -4
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +2 -1
- package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.d.ts +16 -0
- package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.js +36 -0
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +9 -8
- package/dist/service/iam/cfn/sim-cfn-iam-optional-string.d.ts +17 -0
- package/dist/service/iam/cfn/sim-cfn-iam-optional-string.js +17 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +4 -8
- package/dist/service/iam/command/policy/create-policy/create-policy-input-resolver.js +2 -0
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +5 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +5 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.js +4 -1
- package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
- package/dist/service/iam/error/sim-iam.error.js +13 -0
- package/dist/service/iam/index.d.ts +1 -0
- package/dist/service/iam/policy/sim-iam-policy-document-of-size.d.ts +18 -0
- package/dist/service/iam/policy/sim-iam-policy-document-of-size.js +41 -0
- package/dist/service/iam/role/sim-iam-deploy-role.d.ts +56 -0
- package/dist/service/iam/role/sim-iam-deploy-role.js +50 -0
- package/dist/service/iam/role/sim-iam-role-with-policy.factory.d.ts +3 -1
- package/dist/service/iam/sim-iam-account-parts.d.ts +8 -0
- package/dist/service/iam/sim-iam-account-parts.js +1 -0
- package/dist/service/iam/sim-iam.d.ts +12 -2
- package/dist/service/iam/sim-iam.js +12 -0
- package/dist/service/iam/validate/size/sim-iam-policy-document-size.d.ts +57 -0
- package/dist/service/iam/validate/size/sim-iam-policy-document-size.js +71 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +3 -1
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js +4 -1
- package/dist/service/kms/command/sim-kms-request-options.d.ts +15 -0
- package/dist/service/kms/key/sim-kms-key-policy.d.ts +5 -4
- package/dist/service/kms/key/sim-kms-key-policy.js +4 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.d.ts +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.js +4 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.d.ts +10 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.js +25 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +1 -1
- package/dist/service/lambda/command/create-function/create-function-authorizer.d.ts +9 -2
- package/dist/service/lambda/command/create-function/create-function-authorizer.js +16 -2
- package/dist/service/lambda/command/create-function/create-function.handler.js +1 -1
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.d.ts +7 -2
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +14 -2
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration.handler.js +1 -1
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -1
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +25 -1
- package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.d.ts +13 -0
- package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.js +18 -0
- package/dist/service/lambda/sim-lambda-service-principal.d.ts +7 -0
- package/dist/service/lambda/sim-lambda-service-principal.js +7 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.d.ts +46 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.js +49 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +6 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +6 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +6 -0
- package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.d.ts +9 -2
- package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.js +34 -5
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +1 -1
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +4 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +9 -4
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
- package/dist/service/logs/sim-logs-commands.d.ts +3 -0
- package/dist/service/logs/sim-logs-commands.js +4 -0
- package/dist/service/logs/sim-logs.js +6 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -2
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +4 -3
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.d.ts +12 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.js +22 -0
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +1 -1
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +10 -1
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +19 -1
- package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +8 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +9 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-update-schedule.js +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.d.ts +15 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.js +22 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +4 -10
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +13 -31
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.d.ts +17 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.js +30 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +6 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +8 -3
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-queue-resource-policies.d.ts +1 -1
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.d.ts +16 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.js +23 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +2 -4
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +5 -5
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +11 -12
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +4 -4
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts +17 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js +20 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +13 -8
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +13 -8
- package/dist/service/ssm/parameter/sim-ssm-parameter-name.js +3 -12
- package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.d.ts +41 -0
- package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.js +64 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-create.d.ts +5 -2
- package/dist/service/stepfunctions/command/machine/sim-state-machine-create.js +6 -2
- package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.d.ts +26 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.js +29 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.d.ts +7 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.js +12 -3
- package/dist/service/stepfunctions/command/machine/sim-state-machine-update.d.ts +19 -0
- package/dist/service/stepfunctions/command/machine/{sim-state-machine-writes.js → sim-state-machine-update.js} +3 -14
- package/dist/service/stepfunctions/sim-step-functions.d.ts +8 -2
- package/dist/service/stepfunctions/sim-step-functions.js +26 -9
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts +5 -0
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js +1 -0
- package/dist/service/sts/sim-sts.d.ts +9 -0
- package/dist/service/sts/sim-sts.js +4 -0
- package/dist/util/memo/bounded-memo.d.ts +36 -0
- package/dist/util/memo/bounded-memo.js +58 -0
- package/docs/sdk/README.md +3 -1
- package/docs/services/athena/README.md +7 -1
- package/docs/services/cloudformation/README.md +197 -11
- package/docs/services/cloudfront/README.md +1116 -14
- package/docs/services/cloudwatch/README.md +6 -4
- package/docs/services/cognito/README.md +8 -7
- package/docs/services/dynamodb/README.md +6 -5
- package/docs/services/ecs/README.md +23 -9
- package/docs/services/elbv2/README.md +6 -2
- package/docs/services/eventbridge/README.md +9 -1
- package/docs/services/firehose/README.md +9 -3
- package/docs/services/glue/README.md +6 -0
- package/docs/services/iam/README.md +322 -27
- package/docs/services/kinesis/README.md +3 -2
- package/docs/services/kms/README.md +11 -2
- package/docs/services/lambda/README.md +76 -2
- package/docs/services/logs/README.md +22 -2
- package/docs/services/s3/README.md +7 -2
- package/docs/services/scheduler/README.md +12 -4
- package/docs/services/secretsmanager/README.md +6 -3
- package/docs/services/ses/README.md +3 -1
- package/docs/services/sns/README.md +5 -5
- package/docs/services/sqs/README.md +5 -5
- package/docs/services/ssm/README.md +35 -18
- package/docs/services/stepfunctions/README.md +11 -2
- package/docs/services/wafv2/README.md +5 -3
- package/package.json +1 -1
- package/dist/service/stepfunctions/command/machine/sim-state-machine-writes.d.ts +0 -25
|
@@ -22,10 +22,15 @@ import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
|
|
|
22
22
|
export class SimLogs extends SimLogsDeliveryOperations {
|
|
23
23
|
commands;
|
|
24
24
|
#sdkRouter = new SimLogsSdkCommandRouter(this);
|
|
25
|
-
#cfnFactory
|
|
25
|
+
#cfnFactory;
|
|
26
26
|
constructor(properties = {}) {
|
|
27
27
|
super();
|
|
28
28
|
this.commands = new SimLogsCommands(properties);
|
|
29
|
+
this.#cfnFactory = new SimLogsCfnResourceFactory({
|
|
30
|
+
logs: this,
|
|
31
|
+
authorizer: this.commands.authorizer,
|
|
32
|
+
accountRegionScope: this.commands.accountRegionScope,
|
|
33
|
+
});
|
|
29
34
|
}
|
|
30
35
|
/**
|
|
31
36
|
* Find a log group by name.
|
|
@@ -22,8 +22,8 @@ export declare class SimCfnS3BucketCreator {
|
|
|
22
22
|
*/
|
|
23
23
|
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimS3Bucket>;
|
|
24
24
|
/**
|
|
25
|
-
* A Resource without a BucketName
|
|
26
|
-
* the
|
|
25
|
+
* A Resource without a BucketName gets the name CloudFormation generates for
|
|
26
|
+
* it, from the stack name and the logical ID.
|
|
27
27
|
*/
|
|
28
28
|
private bucketNameForResource;
|
|
29
29
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { validateS3BucketName } from "../../bucket/validate/validate-s3-bucket-name.js";
|
|
2
|
+
import { simCfnS3BucketGeneratedName } from "./sim-cfn-s3-bucket-generated-name.js";
|
|
2
3
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
4
|
import { SimCfnS3BucketConfigurator } from "./sim-cfn-s3-bucket-configurator.js";
|
|
4
5
|
import { SimCfnS3BucketPropertyRules } from "./sim-cfn-s3-bucket-property-rules.js";
|
|
@@ -39,14 +40,14 @@ export class SimCfnS3BucketCreator {
|
|
|
39
40
|
return bucket;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
|
-
* A Resource without a BucketName
|
|
43
|
-
* the
|
|
43
|
+
* A Resource without a BucketName gets the name CloudFormation generates for
|
|
44
|
+
* it, from the stack name and the logical ID.
|
|
44
45
|
*/
|
|
45
46
|
bucketNameForResource(resource, properties) {
|
|
46
47
|
const bucketName = properties["BucketName"];
|
|
47
48
|
if (typeof bucketName === "string") {
|
|
48
49
|
return bucketName;
|
|
49
50
|
}
|
|
50
|
-
return resource
|
|
51
|
+
return simCfnS3BucketGeneratedName(resource);
|
|
51
52
|
}
|
|
52
53
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
/**
|
|
3
|
+
* The name CloudFormation gives a Bucket whose template does not name it.
|
|
4
|
+
*
|
|
5
|
+
* Sixty-three characters is short for a name made of a stack name and a logical
|
|
6
|
+
* ID, so `SimCfnGeneratedResourceName` usually has to trim one. It is lower
|
|
7
|
+
* cased afterwards because a bucket name is lowercase and a stack name and a
|
|
8
|
+
* logical ID are usually not. Every character left is one a bucket name allows.
|
|
9
|
+
* A logical ID is alphanumeric, a stack name adds only hyphens, and the tail is
|
|
10
|
+
* hex.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simCfnS3BucketGeneratedName(resource: SimCfnResource): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
|
|
2
|
+
/**
|
|
3
|
+
* The longest name S3 accepts, which `validateS3BucketName` applies in full.
|
|
4
|
+
*/
|
|
5
|
+
const maximumNameLength = 63;
|
|
6
|
+
/**
|
|
7
|
+
* The name CloudFormation gives a Bucket whose template does not name it.
|
|
8
|
+
*
|
|
9
|
+
* Sixty-three characters is short for a name made of a stack name and a logical
|
|
10
|
+
* ID, so `SimCfnGeneratedResourceName` usually has to trim one. It is lower
|
|
11
|
+
* cased afterwards because a bucket name is lowercase and a stack name and a
|
|
12
|
+
* logical ID are usually not. Every character left is one a bucket name allows.
|
|
13
|
+
* A logical ID is alphanumeric, a stack name adds only hyphens, and the tail is
|
|
14
|
+
* hex.
|
|
15
|
+
*/
|
|
16
|
+
export function simCfnS3BucketGeneratedName(resource) {
|
|
17
|
+
return new SimCfnGeneratedResourceName({
|
|
18
|
+
stackName: resource.stackName,
|
|
19
|
+
logicalId: resource.logicalId,
|
|
20
|
+
maximumLength: maximumNameLength,
|
|
21
|
+
}).value.toLowerCase();
|
|
22
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-
|
|
1
|
+
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-input.js";
|
|
2
2
|
import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
3
3
|
/**
|
|
4
4
|
* The resource policies sim IAM should evaluate for a request against a Bucket.
|
|
@@ -16,12 +16,21 @@ interface SimSchedulerAuthorizerProperties {
|
|
|
16
16
|
* This is the caller's own authorization to manage schedules, and is a separate
|
|
17
17
|
* question from whether a schedule's execution role may invoke its target. The
|
|
18
18
|
* second is asked when the schedule fires, against the role rather than the
|
|
19
|
-
* caller
|
|
19
|
+
* caller.
|
|
20
|
+
*
|
|
21
|
+
* A third question is asked here, about the same execution role. A schedule
|
|
22
|
+
* keeps the `Target.RoleArn` it is given and fires as it later, so the caller
|
|
23
|
+
* writing it needs `iam:PassRole` on that Role.
|
|
20
24
|
*/
|
|
21
25
|
export declare class SimSchedulerAuthorizer {
|
|
22
26
|
private readonly iam;
|
|
23
27
|
private readonly callerIdentifier;
|
|
28
|
+
private readonly passRole;
|
|
24
29
|
constructor(properties: SimSchedulerAuthorizerProperties);
|
|
30
|
+
/**
|
|
31
|
+
* Ensure the caller may hand Scheduler a schedule's execution role.
|
|
32
|
+
*/
|
|
33
|
+
authorizePassRole(roleArn: string | undefined, options?: SimSchedulerRequestOptions): void;
|
|
25
34
|
/**
|
|
26
35
|
* Ensure the caller may perform an action on a resource, named by its ARN.
|
|
27
36
|
*
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { SimIamPassRoleAuthorizer, simIamPassRoleDenialMessage, } from "../../../iam/authorize/pass-role/sim-iam-pass-role-authorizer.js";
|
|
1
2
|
import { SimIamCallerIdentifier } from "../../../iam/error/sim-iam-caller-identifier.js";
|
|
3
|
+
import { simSchedulerServicePrincipal } from "../../delivery/sim-scheduler-delivery.js";
|
|
2
4
|
import { SimSchedulerAccessDeniedException } from "../../error/sim-scheduler.error.js";
|
|
3
5
|
/**
|
|
4
6
|
* The resource an action with no resource type authorizes against.
|
|
@@ -19,13 +21,29 @@ const noResource = "*";
|
|
|
19
21
|
* This is the caller's own authorization to manage schedules, and is a separate
|
|
20
22
|
* question from whether a schedule's execution role may invoke its target. The
|
|
21
23
|
* second is asked when the schedule fires, against the role rather than the
|
|
22
|
-
* caller
|
|
24
|
+
* caller.
|
|
25
|
+
*
|
|
26
|
+
* A third question is asked here, about the same execution role. A schedule
|
|
27
|
+
* keeps the `Target.RoleArn` it is given and fires as it later, so the caller
|
|
28
|
+
* writing it needs `iam:PassRole` on that Role.
|
|
23
29
|
*/
|
|
24
30
|
export class SimSchedulerAuthorizer {
|
|
25
31
|
iam;
|
|
26
32
|
callerIdentifier = new SimIamCallerIdentifier();
|
|
33
|
+
passRole;
|
|
27
34
|
constructor(properties) {
|
|
28
35
|
this.iam = properties.iam;
|
|
36
|
+
this.passRole = new SimIamPassRoleAuthorizer({
|
|
37
|
+
iam: properties.iam,
|
|
38
|
+
passedToService: simSchedulerServicePrincipal,
|
|
39
|
+
denied: (denial) => new SimSchedulerAccessDeniedException(simIamPassRoleDenialMessage(denial)),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Ensure the caller may hand Scheduler a schedule's execution role.
|
|
44
|
+
*/
|
|
45
|
+
authorizePassRole(roleArn, options) {
|
|
46
|
+
this.passRole.authorize(roleArn, options?.caller);
|
|
29
47
|
}
|
|
30
48
|
/**
|
|
31
49
|
* Ensure the caller may perform an action on a resource, named by its ARN.
|
|
@@ -26,6 +26,7 @@ export class SimSchedulerCreateSchedule {
|
|
|
26
26
|
const input = command.input;
|
|
27
27
|
const requested = this.access.requested(input);
|
|
28
28
|
this.access.authorize("scheduler:CreateSchedule", requested, options);
|
|
29
|
+
this.access.authorizePassRole(input, options);
|
|
29
30
|
this.access.requireGroup(requested.groupName);
|
|
30
31
|
if (this.schedules.find(requested.groupName, requested.name.value) !==
|
|
31
32
|
undefined) {
|
|
@@ -5,6 +5,7 @@ import type { SimSchedulerSchedule } from "../../schedule/sim-scheduler-schedule
|
|
|
5
5
|
import type { SimSchedulerScheduleStore } from "../../schedule/sim-scheduler-schedule-store.js";
|
|
6
6
|
import type { SimSchedulerAuthorizer } from "../authorize/sim-scheduler-authorizer.js";
|
|
7
7
|
import type { SimSchedulerRequestOptions } from "../sim-scheduler-request-options.js";
|
|
8
|
+
import type { SimSchedulerScheduleInput } from "./schedule.command.js";
|
|
8
9
|
/**
|
|
9
10
|
* Which schedule a request names, in which group.
|
|
10
11
|
*/
|
|
@@ -44,6 +45,13 @@ export declare class SimSchedulerScheduleAccess {
|
|
|
44
45
|
* exist.
|
|
45
46
|
*/
|
|
46
47
|
authorize(action: string, requested: SimSchedulerRequestedSchedule, options?: SimSchedulerRequestOptions): void;
|
|
48
|
+
/**
|
|
49
|
+
* Ensure the caller may hand Scheduler the execution role a request names.
|
|
50
|
+
*
|
|
51
|
+
* A schedule fires as its `Target.RoleArn` long after the request that wrote
|
|
52
|
+
* it, so writing one is a hand-over of that Role.
|
|
53
|
+
*/
|
|
54
|
+
authorizePassRole(input: SimSchedulerScheduleInput, options?: SimSchedulerRequestOptions): void;
|
|
47
55
|
/**
|
|
48
56
|
* Ensure the group a request names is there, which AWS requires of every
|
|
49
57
|
* request naming one.
|
|
@@ -34,6 +34,15 @@ export class SimSchedulerScheduleAccess {
|
|
|
34
34
|
authorize(action, requested, options) {
|
|
35
35
|
this.authorizer.authorizeResource(action, this.arnFor(requested), options);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Ensure the caller may hand Scheduler the execution role a request names.
|
|
39
|
+
*
|
|
40
|
+
* A schedule fires as its `Target.RoleArn` long after the request that wrote
|
|
41
|
+
* it, so writing one is a hand-over of that Role.
|
|
42
|
+
*/
|
|
43
|
+
authorizePassRole(input, options) {
|
|
44
|
+
this.authorizer.authorizePassRole(input.Target?.RoleArn, options);
|
|
45
|
+
}
|
|
37
46
|
/**
|
|
38
47
|
* Ensure the group a request names is there, which AWS requires of every
|
|
39
48
|
* request naming one.
|
|
@@ -27,6 +27,7 @@ export class SimSchedulerUpdateSchedule {
|
|
|
27
27
|
const input = command.input;
|
|
28
28
|
const existing = this.access.require("scheduler:UpdateSchedule", input, options);
|
|
29
29
|
const requested = this.access.requested(input);
|
|
30
|
+
this.access.authorizePassRole(input, options);
|
|
30
31
|
// The creation date survives a replacement, because AWS does not consider
|
|
31
32
|
// an updated schedule to be a new one.
|
|
32
33
|
const schedule = this.writer.write(input, requested, existing.creationDate);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
/**
|
|
3
|
+
* The name CloudFormation gives a secret whose template does not name it.
|
|
4
|
+
*
|
|
5
|
+
* Five hundred and twelve characters is long enough that a stack name and a
|
|
6
|
+
* logical ID rarely reach it, so `SimCfnGeneratedResourceName` seldom has to
|
|
7
|
+
* trim one. The case is left alone, since Secrets Manager keeps a name as it
|
|
8
|
+
* was given, and every character a stack name or a logical ID is made of is one
|
|
9
|
+
* a secret name allows.
|
|
10
|
+
*
|
|
11
|
+
* Real Secrets Manager appends six random characters of its own to a secret's
|
|
12
|
+
* ARN whatever the name is. A template reading the ARN back reads it off the
|
|
13
|
+
* Resource either way.
|
|
14
|
+
*/
|
|
15
|
+
export declare function simCfnSecretsManagerGeneratedName(resource: SimCfnResource): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
|
|
2
|
+
import { maximumSimSecretsManagerNameLength } from "../../secret/sim-secrets-manager-secret-name.js";
|
|
3
|
+
/**
|
|
4
|
+
* The name CloudFormation gives a secret whose template does not name it.
|
|
5
|
+
*
|
|
6
|
+
* Five hundred and twelve characters is long enough that a stack name and a
|
|
7
|
+
* logical ID rarely reach it, so `SimCfnGeneratedResourceName` seldom has to
|
|
8
|
+
* trim one. The case is left alone, since Secrets Manager keeps a name as it
|
|
9
|
+
* was given, and every character a stack name or a logical ID is made of is one
|
|
10
|
+
* a secret name allows.
|
|
11
|
+
*
|
|
12
|
+
* Real Secrets Manager appends six random characters of its own to a secret's
|
|
13
|
+
* ARN whatever the name is. A template reading the ARN back reads it off the
|
|
14
|
+
* Resource either way.
|
|
15
|
+
*/
|
|
16
|
+
export function simCfnSecretsManagerGeneratedName(resource) {
|
|
17
|
+
return new SimCfnGeneratedResourceName({
|
|
18
|
+
stackName: resource.stackName,
|
|
19
|
+
logicalId: resource.logicalId,
|
|
20
|
+
maximumLength: maximumSimSecretsManagerNameLength,
|
|
21
|
+
}).value;
|
|
22
|
+
}
|
package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ interface SimCfnSecretsManagerSecretPropertiesProperties {
|
|
|
10
10
|
* the secret creator needs.
|
|
11
11
|
*
|
|
12
12
|
* Keeping the property-shape rules here leaves the creator to do nothing but
|
|
13
|
-
* call CreateSecret
|
|
14
|
-
*
|
|
13
|
+
* call CreateSecret. Which of the two value properties wins is its own
|
|
14
|
+
* decision, and lives in `simCfnSecretsManagerSecretValue`.
|
|
15
15
|
*/
|
|
16
16
|
export declare class SimCfnSecretsManagerSecretProperties {
|
|
17
17
|
private readonly resource;
|
|
@@ -22,11 +22,8 @@ export declare class SimCfnSecretsManagerSecretProperties {
|
|
|
22
22
|
/**
|
|
23
23
|
* The secret name.
|
|
24
24
|
*
|
|
25
|
-
* An unnamed secret is named after
|
|
26
|
-
* names
|
|
27
|
-
* name and appends its own random characters, so a template relying on the
|
|
28
|
-
* exact generated name would be relying on something it cannot predict
|
|
29
|
-
* anyway.
|
|
25
|
+
* An unnamed secret is named after the stack and the logical ID, as
|
|
26
|
+
* CloudFormation names one.
|
|
30
27
|
*/
|
|
31
28
|
name(): string;
|
|
32
29
|
/**
|
|
@@ -43,11 +40,8 @@ export declare class SimCfnSecretsManagerSecretProperties {
|
|
|
43
40
|
tags(): readonly SimSecretsManagerTag[] | undefined;
|
|
44
41
|
/**
|
|
45
42
|
* The value the secret's first version holds.
|
|
46
|
-
*
|
|
47
|
-
* Either the template supplies one or it asks for one to be generated.
|
|
48
43
|
*/
|
|
49
44
|
secretString(): string;
|
|
50
45
|
private string;
|
|
51
|
-
private propertyError;
|
|
52
46
|
}
|
|
53
47
|
export {};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { SimCfnSecretsManagerPropertyParser } from "../sim-cfn-secrets-manager-property-parser.js";
|
|
2
2
|
import { SimCfnSecretsManagerGenerateSecretStringParser } from "./sim-cfn-secrets-manager-generate-secret-string-parser.js";
|
|
3
|
+
import { simCfnSecretsManagerGeneratedName } from "./sim-cfn-secrets-manager-generated-name.js";
|
|
4
|
+
import { simCfnSecretsManagerSecretValue } from "./sim-cfn-secrets-manager-secret-value.js";
|
|
3
5
|
/**
|
|
4
6
|
* Reads AWS::SecretsManager::Secret CloudFormation properties into the shape
|
|
5
7
|
* the secret creator needs.
|
|
6
8
|
*
|
|
7
9
|
* Keeping the property-shape rules here leaves the creator to do nothing but
|
|
8
|
-
* call CreateSecret
|
|
9
|
-
*
|
|
10
|
+
* call CreateSecret. Which of the two value properties wins is its own
|
|
11
|
+
* decision, and lives in `simCfnSecretsManagerSecretValue`.
|
|
10
12
|
*/
|
|
11
13
|
export class SimCfnSecretsManagerSecretProperties {
|
|
12
14
|
resource;
|
|
@@ -20,14 +22,12 @@ export class SimCfnSecretsManagerSecretProperties {
|
|
|
20
22
|
/**
|
|
21
23
|
* The secret name.
|
|
22
24
|
*
|
|
23
|
-
* An unnamed secret is named after
|
|
24
|
-
* names
|
|
25
|
-
* name and appends its own random characters, so a template relying on the
|
|
26
|
-
* exact generated name would be relying on something it cannot predict
|
|
27
|
-
* anyway.
|
|
25
|
+
* An unnamed secret is named after the stack and the logical ID, as
|
|
26
|
+
* CloudFormation names one.
|
|
28
27
|
*/
|
|
29
28
|
name() {
|
|
30
|
-
return (this.string(this.properties["Name"], "Name") ??
|
|
29
|
+
return (this.string(this.properties["Name"], "Name") ??
|
|
30
|
+
simCfnSecretsManagerGeneratedName(this.resource));
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* The secret Description.
|
|
@@ -49,33 +49,15 @@ export class SimCfnSecretsManagerSecretProperties {
|
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* The value the secret's first version holds.
|
|
52
|
-
*
|
|
53
|
-
* Either the template supplies one or it asks for one to be generated.
|
|
54
52
|
*/
|
|
55
53
|
secretString() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"Secrets Manager generates");
|
|
62
|
-
}
|
|
63
|
-
if (supplied !== undefined) {
|
|
64
|
-
return supplied;
|
|
65
|
-
}
|
|
66
|
-
if (generated !== undefined) {
|
|
67
|
-
return generated.generate();
|
|
68
|
-
}
|
|
69
|
-
throw this.propertyError("either SecretString or GenerateSecretString is required. Real " +
|
|
70
|
-
"CloudFormation creates an empty secret when both are omitted, " +
|
|
71
|
-
"which simulated Secrets Manager does not model, so it refuses the " +
|
|
72
|
-
"Resource rather than creating a secret that has no value to read");
|
|
54
|
+
return simCfnSecretsManagerSecretValue({
|
|
55
|
+
resource: this.resource,
|
|
56
|
+
supplied: this.string(this.properties["SecretString"], "SecretString"),
|
|
57
|
+
generated: this.generateParser.parse(this.resource, this.properties["GenerateSecretString"]),
|
|
58
|
+
});
|
|
73
59
|
}
|
|
74
60
|
string(value, name) {
|
|
75
61
|
return this.propertyParser.optionalString(this.resource, value, name);
|
|
76
62
|
}
|
|
77
|
-
propertyError(reason) {
|
|
78
|
-
return new Error(`Invalid AWS::SecretsManager::Secret Resource ` +
|
|
79
|
-
`${this.resource.logicalId}: ${reason}`);
|
|
80
|
-
}
|
|
81
63
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimSecretsManagerGeneratedSecretString } from "../../secret/generate/sim-secrets-manager-generated-secret-string.js";
|
|
3
|
+
interface SimCfnSecretsManagerSecretValueProperties {
|
|
4
|
+
readonly resource: SimCfnResource;
|
|
5
|
+
readonly supplied: string | undefined;
|
|
6
|
+
readonly generated: SimSecretsManagerGeneratedSecretString | undefined;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The value a secret's first version holds.
|
|
10
|
+
*
|
|
11
|
+
* A template supplies a value or asks for one to be generated, never both and
|
|
12
|
+
* never neither. Real CloudFormation creates an empty secret where both are
|
|
13
|
+
* omitted, which simulated Secrets Manager has no model for, and a secret with
|
|
14
|
+
* no value to read is worse to be handed than a refusal.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simCfnSecretsManagerSecretValue(properties: SimCfnSecretsManagerSecretValueProperties): string;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The value a secret's first version holds.
|
|
3
|
+
*
|
|
4
|
+
* A template supplies a value or asks for one to be generated, never both and
|
|
5
|
+
* never neither. Real CloudFormation creates an empty secret where both are
|
|
6
|
+
* omitted, which simulated Secrets Manager has no model for, and a secret with
|
|
7
|
+
* no value to read is worse to be handed than a refusal.
|
|
8
|
+
*/
|
|
9
|
+
export function simCfnSecretsManagerSecretValue(properties) {
|
|
10
|
+
const { resource, supplied, generated } = properties;
|
|
11
|
+
if (supplied !== undefined && generated !== undefined) {
|
|
12
|
+
throw refusal(resource, "SecretString and GenerateSecretString cannot both be declared: " +
|
|
13
|
+
"a secret either holds the value the template supplies or one " +
|
|
14
|
+
"Secrets Manager generates");
|
|
15
|
+
}
|
|
16
|
+
if (supplied !== undefined) {
|
|
17
|
+
return supplied;
|
|
18
|
+
}
|
|
19
|
+
if (generated !== undefined) {
|
|
20
|
+
return generated.generate();
|
|
21
|
+
}
|
|
22
|
+
throw refusal(resource, "either SecretString or GenerateSecretString is required. Real " +
|
|
23
|
+
"CloudFormation creates an empty secret when both are omitted, " +
|
|
24
|
+
"which simulated Secrets Manager does not model, so it refuses the " +
|
|
25
|
+
"Resource rather than creating a secret that has no value to read");
|
|
26
|
+
}
|
|
27
|
+
function refusal(resource, reason) {
|
|
28
|
+
return new Error(`Invalid AWS::SecretsManager::Secret Resource ` +
|
|
29
|
+
`${resource.logicalId}: ${reason}`);
|
|
30
|
+
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The longest name Secrets Manager accepts for a secret.
|
|
3
|
+
*
|
|
4
|
+
* https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html
|
|
5
|
+
*/
|
|
6
|
+
export declare const maximumSimSecretsManagerNameLength = 512;
|
|
1
7
|
/**
|
|
2
8
|
* The name of one simulated secret, validated as real Secrets Manager does.
|
|
3
9
|
*
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { SimSecretsManagerInvalidParameterException } from "../error/sim-secrets-manager.error.js";
|
|
2
2
|
import { secretArnSuffixPattern } from "./sim-secrets-manager-secret-arn.js";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* The longest name Secrets Manager accepts for a secret.
|
|
5
|
+
*
|
|
6
|
+
* https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html
|
|
7
|
+
*/
|
|
8
|
+
export const maximumSimSecretsManagerNameLength = 512;
|
|
4
9
|
const allowedCharacters = /^[\w+=./@-]+$/;
|
|
5
10
|
/**
|
|
6
11
|
* The name of one simulated secret, validated as real Secrets Manager does.
|
|
@@ -18,8 +23,8 @@ export class SimSecretsManagerSecretName {
|
|
|
18
23
|
if (name === undefined || name === "") {
|
|
19
24
|
throw new SimSecretsManagerInvalidParameterException("Name is required to create a secret");
|
|
20
25
|
}
|
|
21
|
-
if (name.length >
|
|
22
|
-
throw new SimSecretsManagerInvalidParameterException(`Secret name '${name}' is longer than the ${String(
|
|
26
|
+
if (name.length > maximumSimSecretsManagerNameLength) {
|
|
27
|
+
throw new SimSecretsManagerInvalidParameterException(`Secret name '${name}' is longer than the ${String(maximumSimSecretsManagerNameLength)} characters Secrets Manager allows`);
|
|
23
28
|
}
|
|
24
29
|
if (!allowedCharacters.test(name)) {
|
|
25
30
|
throw new SimSecretsManagerInvalidParameterException(`Secret name '${name}' contains characters Secrets Manager does not allow: ` +
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-
|
|
1
|
+
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-input.js";
|
|
2
2
|
import type { SimSnsTopic } from "../../topic/sim-sns-topic.js";
|
|
3
3
|
/**
|
|
4
4
|
* The resource policies sim IAM should evaluate for a request against a topic.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-
|
|
1
|
+
import type { SimIamResourcePolicyInput } from "../../../iam/authorize/context/sim-iam-auth-z-input.js";
|
|
2
2
|
import type { SimSqsQueue } from "../../queue/sim-sqs-queue.js";
|
|
3
3
|
/**
|
|
4
4
|
* The resource policies sim IAM should evaluate for a request against a queue.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
/**
|
|
3
|
+
* The name CloudFormation gives a parameter whose template does not name it.
|
|
4
|
+
*
|
|
5
|
+
* How much room a name has depends on the Account and Region, since the ARN
|
|
6
|
+
* prefix comes out of the same allowance. There is enough of it that a stack
|
|
7
|
+
* name and a logical ID rarely reach the limit, so
|
|
8
|
+
* `SimCfnGeneratedResourceName` seldom has to trim one.
|
|
9
|
+
*
|
|
10
|
+
* The name carries no leading slash and so sits at the top of the hierarchy,
|
|
11
|
+
* where real CloudFormation puts a parameter it names itself. The case is left
|
|
12
|
+
* alone, since Parameter Store keeps a name as it was given, and every
|
|
13
|
+
* character a stack name or a logical ID is made of is one a parameter name
|
|
14
|
+
* allows.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simCfnSsmGeneratedParameterName(resource: SimCfnResource): string;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
|
|
2
|
+
import { maximumSimSsmParameterNameLength } from "../../parameter/sim-ssm-parameter-arn.js";
|
|
3
|
+
/**
|
|
4
|
+
* The name CloudFormation gives a parameter whose template does not name it.
|
|
5
|
+
*
|
|
6
|
+
* How much room a name has depends on the Account and Region, since the ARN
|
|
7
|
+
* prefix comes out of the same allowance. There is enough of it that a stack
|
|
8
|
+
* name and a logical ID rarely reach the limit, so
|
|
9
|
+
* `SimCfnGeneratedResourceName` seldom has to trim one.
|
|
10
|
+
*
|
|
11
|
+
* The name carries no leading slash and so sits at the top of the hierarchy,
|
|
12
|
+
* where real CloudFormation puts a parameter it names itself. The case is left
|
|
13
|
+
* alone, since Parameter Store keeps a name as it was given, and every
|
|
14
|
+
* character a stack name or a logical ID is made of is one a parameter name
|
|
15
|
+
* allows.
|
|
16
|
+
*/
|
|
17
|
+
export function simCfnSsmGeneratedParameterName(resource) {
|
|
18
|
+
return new SimCfnGeneratedResourceName({
|
|
19
|
+
stackName: resource.stackName,
|
|
20
|
+
logicalId: resource.logicalId,
|
|
21
|
+
maximumLength: maximumSimSsmParameterNameLength(resource.accountRegionScope),
|
|
22
|
+
}).value;
|
|
23
|
+
}
|
|
@@ -23,10 +23,8 @@ export declare class SimCfnSsmParameterProperties {
|
|
|
23
23
|
/**
|
|
24
24
|
* The parameter name.
|
|
25
25
|
*
|
|
26
|
-
* An unnamed parameter is named after
|
|
27
|
-
* names
|
|
28
|
-
* the stack name and its own random characters, which a template could not
|
|
29
|
-
* predict anyway.
|
|
26
|
+
* An unnamed parameter is named after the stack and the logical ID, as
|
|
27
|
+
* CloudFormation names one.
|
|
30
28
|
*/
|
|
31
29
|
name(): string;
|
|
32
30
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { simCfnSsmGeneratedParameterName } from "./sim-cfn-ssm-generated-parameter-name.js";
|
|
1
2
|
/**
|
|
2
3
|
* Reads AWS::SSM::Parameter CloudFormation properties into the shape
|
|
3
4
|
* PutParameter takes.
|
|
@@ -19,13 +20,12 @@ export class SimCfnSsmParameterProperties {
|
|
|
19
20
|
/**
|
|
20
21
|
* The parameter name.
|
|
21
22
|
*
|
|
22
|
-
* An unnamed parameter is named after
|
|
23
|
-
* names
|
|
24
|
-
* the stack name and its own random characters, which a template could not
|
|
25
|
-
* predict anyway.
|
|
23
|
+
* An unnamed parameter is named after the stack and the logical ID, as
|
|
24
|
+
* CloudFormation names one.
|
|
26
25
|
*/
|
|
27
26
|
name() {
|
|
28
|
-
return (this.string(this.properties["Name"], "Name") ??
|
|
27
|
+
return (this.string(this.properties["Name"], "Name") ??
|
|
28
|
+
simCfnSsmGeneratedParameterName(this.resource));
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* The parameter type.
|
|
@@ -12,12 +12,16 @@ export declare const ssmDefaultKeyAlias = "alias/aws/ssm";
|
|
|
12
12
|
* The service Parameter Store's KMS calls are made through, as
|
|
13
13
|
* `kms:ViaService` names it.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* The `aws/ssm` managed key's policy admits the Account's principals only when
|
|
16
|
+
* the request reached KMS through Systems Manager, so a request that does not
|
|
17
|
+
* supply this reaches the key at all only where the key policy names the
|
|
18
|
+
* caller.
|
|
19
19
|
*/
|
|
20
20
|
export declare const ssmKmsViaService = "ssm";
|
|
21
|
+
interface SimSsmKmsOptions {
|
|
22
|
+
readonly caller?: SimAwsCaller | undefined;
|
|
23
|
+
readonly viaService?: string | undefined;
|
|
24
|
+
}
|
|
21
25
|
/**
|
|
22
26
|
* The narrow slice of simulated KMS that SecureString parameters need.
|
|
23
27
|
*
|
|
@@ -32,10 +36,7 @@ export interface SimSsmKmsCrypto {
|
|
|
32
36
|
Plaintext?: Uint8Array | undefined;
|
|
33
37
|
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
34
38
|
};
|
|
35
|
-
}, options?: {
|
|
36
|
-
caller?: SimAwsCaller | undefined;
|
|
37
|
-
viaService?: string | undefined;
|
|
38
|
-
}): Promise<{
|
|
39
|
+
}, options?: SimSsmKmsOptions): Promise<{
|
|
39
40
|
CiphertextBlob?: Uint8Array | undefined;
|
|
40
41
|
KeyId?: string | undefined;
|
|
41
42
|
}>;
|
|
@@ -44,11 +45,9 @@ export interface SimSsmKmsCrypto {
|
|
|
44
45
|
CiphertextBlob?: Uint8Array | undefined;
|
|
45
46
|
EncryptionContext?: Readonly<Record<string, string>> | undefined;
|
|
46
47
|
};
|
|
47
|
-
}, options?: {
|
|
48
|
-
caller?: SimAwsCaller | undefined;
|
|
49
|
-
viaService?: string | undefined;
|
|
50
|
-
}): Promise<{
|
|
48
|
+
}, options?: SimSsmKmsOptions): Promise<{
|
|
51
49
|
Plaintext?: Uint8Array | undefined;
|
|
52
50
|
KeyId?: string | undefined;
|
|
53
51
|
}>;
|
|
54
52
|
}
|
|
53
|
+
export {};
|
|
@@ -11,9 +11,9 @@ export const ssmDefaultKeyAlias = "alias/aws/ssm";
|
|
|
11
11
|
* The service Parameter Store's KMS calls are made through, as
|
|
12
12
|
* `kms:ViaService` names it.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* The `aws/ssm` managed key's policy admits the Account's principals only when
|
|
15
|
+
* the request reached KMS through Systems Manager, so a request that does not
|
|
16
|
+
* supply this reaches the key at all only where the key policy names the
|
|
17
|
+
* caller.
|
|
18
18
|
*/
|
|
19
19
|
export const ssmKmsViaService = "ssm";
|