@kensio/yulin 1.20.16 → 1.20.17
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/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 +8 -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 +5 -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 +25 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +21 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +28 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +48 -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-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 +27 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +42 -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/distro/{sim-cfn-cf-distro-response-headers-policy.d.ts → sim-cfn-cf-distro-behavior-policies.d.ts} +8 -7
- package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.js → sim-cfn-cf-distro-behavior-policies.js} +11 -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 +50 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +10 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -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/update-distribution/update-distribution.handler.d.ts +2 -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-policies.d.ts +28 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +41 -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 +6 -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 +2 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +4 -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-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/sim-cf-distribution-configuration-state.d.ts +3 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +2 -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/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/sdk/sim-cloudfront-sdk-command-router.js +12 -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-commands.d.ts +8 -12
- package/dist/service/cloudfront/sim-cloudfront-commands.js +8 -17
- package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +43 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.js +53 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +13 -17
- package/dist/service/cloudfront/sim-cloudfront.js +22 -25
- 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 +33 -2
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +33 -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 +87 -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 +11 -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/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 +6 -4
- 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 +15 -9
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +20 -10
- 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/cloudformation/README.md +196 -11
- package/docs/services/cloudfront/README.md +230 -6
- 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 +20 -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 +7 -2
- package/docs/services/lambda/README.md +76 -2
- package/docs/services/logs/README.md +16 -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 +40 -16
- 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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimAwsPrincipal } from "./sim-aws-caller.js";
|
|
2
|
+
import { type SimAwsRunAsOwner } from "./sim-aws-run-as-context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Where a call that names no caller of its own looks for one first.
|
|
5
|
+
*
|
|
6
|
+
* A `SimAws.runAs` block is what sets an ambient caller today. Asking through
|
|
7
|
+
* this interface keeps the resolver clear of Node.js asynchronous context
|
|
8
|
+
* tracking, and leaves room for the other thing that will set one, a simulated
|
|
9
|
+
* Lambda invocation running under an execution role.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimAwsAmbientCaller {
|
|
12
|
+
/**
|
|
13
|
+
* The caller ambient where the call is being made, if there is one.
|
|
14
|
+
*/
|
|
15
|
+
currentCaller(): SimAwsPrincipal | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The ambient caller of the `runAs` block one simulation is inside.
|
|
19
|
+
*
|
|
20
|
+
* Only that simulation's own runs count. Each SimAws instance is its own
|
|
21
|
+
* simulated universe, so a `runAs` on one never decides what another observes.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simAwsRunAsAmbientCaller(owner: SimAwsRunAsOwner): SimAwsAmbientCaller;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { simAwsRunAsContext, } from "./sim-aws-run-as-context.js";
|
|
2
|
+
/**
|
|
3
|
+
* The ambient caller of the `runAs` block one simulation is inside.
|
|
4
|
+
*
|
|
5
|
+
* Only that simulation's own runs count. Each SimAws instance is its own
|
|
6
|
+
* simulated universe, so a `runAs` on one never decides what another observes.
|
|
7
|
+
*/
|
|
8
|
+
export function simAwsRunAsAmbientCaller(owner) {
|
|
9
|
+
return {
|
|
10
|
+
currentCaller: () => simAwsRunAsContext.currentCaller(owner),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SimAwsAmbientCaller } from "./sim-aws-ambient-caller.js";
|
|
1
2
|
import type { SimAwsCaller, SimAwsDefaultCaller, SimAwsPrincipal, SimCredentialCaller } from "./sim-aws-caller.js";
|
|
2
3
|
import type { SimIamCredentialIdentity } from "../../iam/credential/sim-aws-credentials.js";
|
|
3
4
|
export interface SimAwsCredentialIdentityResolver {
|
|
@@ -33,25 +34,35 @@ export interface SimAwsCallerResolverProperties {
|
|
|
33
34
|
* default caller keeps the Account root fallback.
|
|
34
35
|
*/
|
|
35
36
|
readonly defaultCaller?: SimAwsDefaultCaller | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Where a request naming no caller looks before the default.
|
|
39
|
+
*
|
|
40
|
+
* A `runAs` block says who is making the calls inside it, which is more
|
|
41
|
+
* specific than what a simulation holds for its unattributed calls
|
|
42
|
+
* generally, so it is consulted first.
|
|
43
|
+
*/
|
|
44
|
+
readonly ambientCaller?: SimAwsAmbientCaller | undefined;
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
47
|
* Resolves caller input at a simulated AWS operation boundary.
|
|
39
48
|
*
|
|
40
|
-
* An omitted caller resolves to the
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
49
|
+
* An omitted caller resolves to the ambient caller of the `runAs` block the
|
|
50
|
+
* call is inside, then to the simulation's default caller, and to the supplied
|
|
51
|
+
* operation default where there is neither. Explicit anonymity is preserved.
|
|
52
|
+
* Credential callers are authenticated before a resolved caller is returned,
|
|
53
|
+
* and a caller already resolved elsewhere is taken as it stands.
|
|
44
54
|
*/
|
|
45
55
|
export declare class SimAwsCallerResolver {
|
|
46
56
|
private readonly credentialIdentityResolver?;
|
|
47
57
|
private readonly defaultCaller?;
|
|
58
|
+
private readonly ambientCaller?;
|
|
48
59
|
constructor(properties?: SimAwsCallerResolverProperties);
|
|
49
60
|
/**
|
|
50
61
|
* Resolve and normalize a simulated AWS caller.
|
|
51
62
|
*
|
|
52
63
|
* The request's own caller is used where it has one. A request without one
|
|
53
|
-
* falls back to the
|
|
54
|
-
* default the call site supplies.
|
|
64
|
+
* falls back to the ambient `runAs` caller, then to the simulation's default
|
|
65
|
+
* caller, and then to the operation default the call site supplies.
|
|
55
66
|
*/
|
|
56
67
|
resolve(caller: SimAwsCaller | undefined, defaultPrincipal: SimAwsPrincipal): SimAwsResolvedCaller;
|
|
57
68
|
private normalized;
|
|
@@ -2,27 +2,30 @@ import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Resolves caller input at a simulated AWS operation boundary.
|
|
4
4
|
*
|
|
5
|
-
* An omitted caller resolves to the
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* An omitted caller resolves to the ambient caller of the `runAs` block the
|
|
6
|
+
* call is inside, then to the simulation's default caller, and to the supplied
|
|
7
|
+
* operation default where there is neither. Explicit anonymity is preserved.
|
|
8
|
+
* Credential callers are authenticated before a resolved caller is returned,
|
|
9
|
+
* and a caller already resolved elsewhere is taken as it stands.
|
|
9
10
|
*/
|
|
10
11
|
export class SimAwsCallerResolver {
|
|
11
12
|
credentialIdentityResolver;
|
|
12
13
|
defaultCaller;
|
|
14
|
+
ambientCaller;
|
|
13
15
|
constructor(properties = {}) {
|
|
14
16
|
this.credentialIdentityResolver = properties.credentialIdentityResolver;
|
|
15
17
|
this.defaultCaller = properties.defaultCaller;
|
|
18
|
+
this.ambientCaller = properties.ambientCaller;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* Resolve and normalize a simulated AWS caller.
|
|
19
22
|
*
|
|
20
23
|
* The request's own caller is used where it has one. A request without one
|
|
21
|
-
* falls back to the
|
|
22
|
-
* default the call site supplies.
|
|
24
|
+
* falls back to the ambient `runAs` caller, then to the simulation's default
|
|
25
|
+
* caller, and then to the operation default the call site supplies.
|
|
23
26
|
*/
|
|
24
27
|
resolve(caller, defaultPrincipal) {
|
|
25
|
-
const stated = caller ?? this.defaultCaller;
|
|
28
|
+
const stated = caller ?? this.ambientCaller?.currentCaller() ?? this.defaultCaller;
|
|
26
29
|
if (stated?.kind === "resolved") {
|
|
27
30
|
return this.normalized(stated.principal, stated.identityPolicyPrincipal);
|
|
28
31
|
}
|
|
@@ -35,28 +38,20 @@ export class SimAwsCallerResolver {
|
|
|
35
38
|
return this.normalized(principal, principal);
|
|
36
39
|
}
|
|
37
40
|
normalized(principal, identityPolicyPrincipal) {
|
|
38
|
-
|
|
39
|
-
const identityPolicyArn = identityPolicyPrincipal.kind === "arn"
|
|
40
|
-
? identityPolicyPrincipal.arn
|
|
41
|
-
: undefined;
|
|
42
|
-
return {
|
|
43
|
-
principal,
|
|
44
|
-
identityPolicyPrincipal,
|
|
45
|
-
arn: principal.arn,
|
|
46
|
-
identityPolicyArn,
|
|
47
|
-
accountId: this.accountId(principal.arn),
|
|
48
|
-
};
|
|
49
|
-
}
|
|
41
|
+
const both = { principal, identityPolicyPrincipal };
|
|
50
42
|
if (principal.kind === "service") {
|
|
51
|
-
return {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
};
|
|
43
|
+
return { ...both, service: principal.service };
|
|
44
|
+
}
|
|
45
|
+
if (principal.kind !== "arn") {
|
|
46
|
+
return both;
|
|
56
47
|
}
|
|
57
48
|
return {
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
...both,
|
|
50
|
+
arn: principal.arn,
|
|
51
|
+
identityPolicyArn: identityPolicyPrincipal.kind === "arn"
|
|
52
|
+
? identityPolicyPrincipal.arn
|
|
53
|
+
: undefined,
|
|
54
|
+
accountId: this.accountId(principal.arn),
|
|
60
55
|
};
|
|
61
56
|
}
|
|
62
57
|
/**
|
|
@@ -2,6 +2,7 @@ import type { BackgroundCompleter, BackgroundScheduler } from "../../../util/bac
|
|
|
2
2
|
import type { SimAwsAccountRegionContainer } from "../sim-aws-account-region-scope.js";
|
|
3
3
|
import type { SimAws } from "../sim-aws.js";
|
|
4
4
|
import type { SimAwsDefaultCaller } from "../caller/sim-aws-caller.js";
|
|
5
|
+
import type { SimAwsAmbientCaller } from "../caller/sim-aws-ambient-caller.js";
|
|
5
6
|
import { SimCloudFormation } from "../../cloudformation/index.js";
|
|
6
7
|
import { SimCloudWatch } from "../../cloudwatch/index.js";
|
|
7
8
|
import { SimCognitoIdentityProvider } from "../../cognito/index.js";
|
|
@@ -35,6 +36,10 @@ interface SimAwsAccountRegionServiceBuilderProperties {
|
|
|
35
36
|
* The caller this simulation attributes a request naming none to.
|
|
36
37
|
*/
|
|
37
38
|
readonly defaultCaller?: SimAwsDefaultCaller | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Where a request naming no caller looks before the default.
|
|
41
|
+
*/
|
|
42
|
+
readonly ambientCaller?: SimAwsAmbientCaller | undefined;
|
|
38
43
|
}
|
|
39
44
|
/**
|
|
40
45
|
* Builder for simulated AWS services scoped to one Account and Region.
|
|
@@ -67,6 +72,7 @@ export declare class SimAwsAccountRegionServiceBuilder {
|
|
|
67
72
|
private readonly accountServices;
|
|
68
73
|
private readonly messageLog;
|
|
69
74
|
private readonly defaultCaller?;
|
|
75
|
+
private readonly ambientCaller?;
|
|
70
76
|
constructor(properties: SimAwsAccountRegionServiceBuilderProperties);
|
|
71
77
|
/** Create simulated ACM for an Account Region scope. */
|
|
72
78
|
/** Create simulated CloudFormation for an Account Region scope. */
|
|
@@ -56,6 +56,7 @@ export class SimAwsAccountRegionServiceBuilder {
|
|
|
56
56
|
accountServices;
|
|
57
57
|
messageLog;
|
|
58
58
|
defaultCaller;
|
|
59
|
+
ambientCaller;
|
|
59
60
|
constructor(properties) {
|
|
60
61
|
this.simAws = properties.simAws;
|
|
61
62
|
this.background = properties.background;
|
|
@@ -65,6 +66,7 @@ export class SimAwsAccountRegionServiceBuilder {
|
|
|
65
66
|
this.accountServices = properties.accountServices;
|
|
66
67
|
this.messageLog = properties.messageLog;
|
|
67
68
|
this.defaultCaller = properties.defaultCaller;
|
|
69
|
+
this.ambientCaller = properties.ambientCaller;
|
|
68
70
|
}
|
|
69
71
|
/** Create simulated ACM for an Account Region scope. */
|
|
70
72
|
/** Create simulated CloudFormation for an Account Region scope. */
|
|
@@ -272,6 +274,7 @@ export class SimAwsAccountRegionServiceBuilder {
|
|
|
272
274
|
background: this.background,
|
|
273
275
|
iamResolver: this.iamRegistry,
|
|
274
276
|
defaultCaller: this.defaultCaller,
|
|
277
|
+
ambientCaller: this.ambientCaller,
|
|
275
278
|
});
|
|
276
279
|
}
|
|
277
280
|
/**
|
|
@@ -2,6 +2,7 @@ import type { BackgroundCompleter, BackgroundScheduler } from "../../../util/bac
|
|
|
2
2
|
import type { SimAwsAccountRegionContainer } from "../sim-aws-account-region-scope.js";
|
|
3
3
|
import type { SimAws } from "../sim-aws.js";
|
|
4
4
|
import type { SimAwsDefaultCaller } from "../caller/sim-aws-caller.js";
|
|
5
|
+
import type { SimAwsAmbientCaller } from "../caller/sim-aws-ambient-caller.js";
|
|
5
6
|
import type { SimAcmRegistry } from "../../acm/registry/sim-acm-registry.js";
|
|
6
7
|
import type { SimCloudFrontRegistry } from "../../cloudfront/registry/sim-cloud-front-registry.js";
|
|
7
8
|
import { SimCloudFront } from "../../cloudfront/sim-cloudfront.js";
|
|
@@ -30,6 +31,10 @@ interface SimAwsAccountServiceCacheProperties {
|
|
|
30
31
|
* The caller this simulation attributes a request naming none to.
|
|
31
32
|
*/
|
|
32
33
|
readonly defaultCaller?: SimAwsDefaultCaller | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Where a request naming no caller looks before the default.
|
|
36
|
+
*/
|
|
37
|
+
readonly ambientCaller?: SimAwsAmbientCaller | undefined;
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
35
40
|
* Account-level cache for simulated AWS service instances.
|
|
@@ -61,6 +66,7 @@ export declare class SimAwsAccountServiceCache {
|
|
|
61
66
|
private readonly accessKeyRegistry;
|
|
62
67
|
private readonly scpResolver;
|
|
63
68
|
private readonly defaultCaller?;
|
|
69
|
+
private readonly ambientCaller?;
|
|
64
70
|
private readonly route53Registry;
|
|
65
71
|
private readonly kmsRegistry;
|
|
66
72
|
private readonly serviceHosts;
|
|
@@ -39,6 +39,7 @@ export class SimAwsAccountServiceCache {
|
|
|
39
39
|
accessKeyRegistry;
|
|
40
40
|
scpResolver;
|
|
41
41
|
defaultCaller;
|
|
42
|
+
ambientCaller;
|
|
42
43
|
route53Registry;
|
|
43
44
|
kmsRegistry;
|
|
44
45
|
serviceHosts;
|
|
@@ -59,6 +60,7 @@ export class SimAwsAccountServiceCache {
|
|
|
59
60
|
this.iamRegistry = properties.iamRegistry;
|
|
60
61
|
this.scpResolver = properties.scpResolver;
|
|
61
62
|
this.defaultCaller = properties.defaultCaller;
|
|
63
|
+
this.ambientCaller = properties.ambientCaller;
|
|
62
64
|
this.accessKeyRegistry = properties.accessKeyRegistry;
|
|
63
65
|
this.route53Registry = properties.route53Registry;
|
|
64
66
|
this.kmsRegistry = properties.kmsRegistry;
|
|
@@ -117,8 +119,10 @@ export class SimAwsAccountServiceCache {
|
|
|
117
119
|
// the Account, so IAM asks simulated Organizations about it.
|
|
118
120
|
scpResolver: this.scpResolver,
|
|
119
121
|
// Who a request naming no caller comes from is decided for the
|
|
120
|
-
// whole simulation. Every Account in it applies the same default
|
|
122
|
+
// whole simulation. Every Account in it applies the same default,
|
|
123
|
+
// and answers to the same run-as block ahead of it.
|
|
121
124
|
defaultCaller: this.defaultCaller,
|
|
125
|
+
ambientCaller: this.ambientCaller,
|
|
122
126
|
// Access keys are indexed simulation-wide as they are issued, so a
|
|
123
127
|
// signed request naming only a key id can be traced to this Account.
|
|
124
128
|
credentialRegistry: new SimIamCredentialRegistry({
|
|
@@ -82,8 +82,10 @@ export class SimAwsRegisteredServiceBuilder {
|
|
|
82
82
|
* nothing but that URI, and the function need not be in this scope.
|
|
83
83
|
*/
|
|
84
84
|
createEcr(scope) {
|
|
85
|
+
const { accountRegionScope, iam } = this.scoped(scope);
|
|
85
86
|
return new SimEcr({
|
|
86
|
-
accountRegionScope
|
|
87
|
+
accountRegionScope,
|
|
88
|
+
iam,
|
|
87
89
|
registry: this.registries.ecr,
|
|
88
90
|
});
|
|
89
91
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { simAwsRunAsAmbientCaller } from "../caller/sim-aws-ambient-caller.js";
|
|
1
2
|
import { SimCloudFrontRegistry } from "../../cloudfront/registry/sim-cloud-front-registry.js";
|
|
2
3
|
import { SimIamRegistry } from "../../iam/registry/sim-iam-registry.js";
|
|
3
4
|
import { SimOrganizations } from "../../organizations/index.js";
|
|
@@ -88,6 +89,10 @@ export class SimAwsServiceFactory {
|
|
|
88
89
|
registeredServices;
|
|
89
90
|
selfContainedServices;
|
|
90
91
|
constructor(properties) {
|
|
92
|
+
// Where a request naming no caller of its own looks before the default.
|
|
93
|
+
// Keyed on the SimAws instance, so a run-as on one simulation decides
|
|
94
|
+
// nothing in another.
|
|
95
|
+
const ambientCaller = simAwsRunAsAmbientCaller(properties.simAws);
|
|
91
96
|
this.accountServices = new SimAwsAccountServiceCache({
|
|
92
97
|
simAws: properties.simAws,
|
|
93
98
|
background: properties.background,
|
|
@@ -107,13 +112,16 @@ export class SimAwsServiceFactory {
|
|
|
107
112
|
// Simulated IAM applies this wherever a request names no caller of its
|
|
108
113
|
// own, in place of the Account root it would otherwise be decided as.
|
|
109
114
|
defaultCaller: properties.defaultCaller,
|
|
115
|
+
ambientCaller,
|
|
110
116
|
});
|
|
111
117
|
this.accountRegionServices = new SimAwsAccountRegionServiceBuilder({
|
|
112
118
|
simAws: properties.simAws,
|
|
113
119
|
background: properties.background,
|
|
114
120
|
// STS reports and evaluates the same default. An unattributed
|
|
115
|
-
// GetCallerIdentity answers with the principal everything else uses
|
|
121
|
+
// GetCallerIdentity answers with the principal everything else uses,
|
|
122
|
+
// the ambient run-as caller included.
|
|
116
123
|
defaultCaller: properties.defaultCaller,
|
|
124
|
+
ambientCaller,
|
|
117
125
|
registries: this.registries,
|
|
118
126
|
iamRegistry: this.iamRegistry,
|
|
119
127
|
lambdaUrlRegistry: this.lambdaUrlRegistry,
|
|
@@ -8,6 +8,7 @@ import type { SimCreateStackCommand, SimCreateStackCommandOutput } from "./creat
|
|
|
8
8
|
import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
|
|
9
9
|
import type { SimCfnBinding } from "../../bind/sim-cfn-binding.js";
|
|
10
10
|
import type { SimCfnExports } from "../../export/sim-cfn-exports.js";
|
|
11
|
+
import type { SimCfnResourceOrder } from "../../stack/deploy/sim-cfn-resource-order.js";
|
|
11
12
|
interface CreateStackCommandHandlerProperties {
|
|
12
13
|
readonly simAws: SimAws;
|
|
13
14
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
@@ -17,6 +18,8 @@ interface CreateStackCommandHandlerProperties {
|
|
|
17
18
|
readonly bindings?: readonly SimCfnBinding[] | undefined;
|
|
18
19
|
/** The principal the Stack's Resources are created as. */
|
|
19
20
|
readonly caller?: SimAwsCaller | undefined;
|
|
21
|
+
/** The order Resources with no dependency between them are started in. */
|
|
22
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
20
23
|
readonly exports?: SimCfnExports | undefined;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
@@ -32,6 +35,7 @@ export declare class CreateStackCommandHandler implements CommandHandler<SimCrea
|
|
|
32
35
|
private readonly cdkOutContext;
|
|
33
36
|
private readonly bindings;
|
|
34
37
|
private readonly caller;
|
|
38
|
+
private readonly resourceOrder;
|
|
35
39
|
private readonly exports;
|
|
36
40
|
constructor(properties: CreateStackCommandHandlerProperties);
|
|
37
41
|
/**
|
|
@@ -17,9 +17,10 @@ export class CreateStackCommandHandler {
|
|
|
17
17
|
cdkOutContext;
|
|
18
18
|
bindings;
|
|
19
19
|
caller;
|
|
20
|
+
resourceOrder;
|
|
20
21
|
exports;
|
|
21
22
|
constructor(properties) {
|
|
22
|
-
const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, caller, exports, } = properties;
|
|
23
|
+
const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, caller, resourceOrder, exports, } = properties;
|
|
23
24
|
this.simAws = simAws;
|
|
24
25
|
this.accountRegionScope = accountRegionScope;
|
|
25
26
|
this.stacks = stacks;
|
|
@@ -27,6 +28,7 @@ export class CreateStackCommandHandler {
|
|
|
27
28
|
this.cdkOutContext = cdkOutContext;
|
|
28
29
|
this.bindings = bindings;
|
|
29
30
|
this.caller = caller;
|
|
31
|
+
this.resourceOrder = resourceOrder;
|
|
30
32
|
this.exports = exports;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
@@ -63,6 +65,7 @@ export class CreateStackCommandHandler {
|
|
|
63
65
|
cdkOutContext: this.cdkOutContext,
|
|
64
66
|
bindings: this.bindings,
|
|
65
67
|
caller: this.caller,
|
|
68
|
+
resourceOrder: this.resourceOrder,
|
|
66
69
|
exports: this.exports,
|
|
67
70
|
});
|
|
68
71
|
this.stacks.set(stack.stackName, stack);
|
|
@@ -27,7 +27,7 @@ export class SimCfnCdkOutDeployer {
|
|
|
27
27
|
}
|
|
28
28
|
async deployStack(stack, plan, deployed) {
|
|
29
29
|
const { simAws, accountRegionScope } = this.scope;
|
|
30
|
-
const { transform, caller, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
|
|
30
|
+
const { transform, caller, resourceOrder, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
|
|
31
31
|
return await simAws
|
|
32
32
|
.accountRegionScope(accountRegionScope.accountId, stack.regionName)
|
|
33
33
|
.cloudFormation()
|
|
@@ -36,6 +36,7 @@ export class SimCfnCdkOutDeployer {
|
|
|
36
36
|
stackName: stack.stackName,
|
|
37
37
|
...options,
|
|
38
38
|
caller: caller ?? plan.caller,
|
|
39
|
+
resourceOrder: resourceOrder ?? plan.resourceOrder,
|
|
39
40
|
transform: cdkOutBoundTransform(transform, deployed),
|
|
40
41
|
});
|
|
41
42
|
}
|
|
@@ -2,6 +2,7 @@ import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
|
2
2
|
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
3
3
|
import { type SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
|
|
4
4
|
import { type SimCfnCdkOutStackOptionsByName } from "./sim-cfn-cdk-out-stack-options.js";
|
|
5
|
+
import type { SimCfnResourceOrder } from "../stack/deploy/sim-cfn-resource-order.js";
|
|
5
6
|
export interface SimCloudFormationDeployCdkOutProperties {
|
|
6
7
|
/** The `cdk.out` directory to deploy, holding a `manifest.json`. */
|
|
7
8
|
readonly directoryPath: string;
|
|
@@ -23,8 +24,15 @@ export interface SimCloudFormationDeployCdkOutProperties {
|
|
|
23
24
|
*/
|
|
24
25
|
readonly caller?: SimAwsCaller | undefined;
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* The order every Stack in the assembly creates Resources with no dependency
|
|
28
|
+
* between them in, which one named in `stackOptions` overrides for its own
|
|
29
|
+
* Stack. `reversed` deploys each Stack the other way round from the one its
|
|
30
|
+
* template is written in.
|
|
31
|
+
*/
|
|
32
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Bindings, parameters, a caller, a Resource order and a transform for
|
|
35
|
+
* individual Stacks, keyed the same way `stackNames` names them.
|
|
28
36
|
*/
|
|
29
37
|
readonly stackOptions?: SimCfnCdkOutStackOptionsByName | undefined;
|
|
30
38
|
}
|
|
@@ -35,6 +43,7 @@ export interface SimCfnCdkOutPlannedStack extends SimCdkAssemblyStack {
|
|
|
35
43
|
export interface SimCfnCdkOutPlan {
|
|
36
44
|
readonly stacks: readonly SimCfnCdkOutPlannedStack[];
|
|
37
45
|
readonly caller?: SimAwsCaller | undefined;
|
|
46
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
38
47
|
readonly stackOptions?: SimCfnCdkOutStackOptionsByName | undefined;
|
|
39
48
|
}
|
|
40
49
|
/**
|
|
@@ -10,7 +10,7 @@ import { assertCdkOutOptionsAreDeployed, } from "./sim-cfn-cdk-out-stack-options
|
|
|
10
10
|
* an assembly that cannot be deployed says so before any Stack is created.
|
|
11
11
|
*/
|
|
12
12
|
export async function planCdkOutDeployment(properties) {
|
|
13
|
-
const { directoryPath, stackNames, caller, stackOptions } = cdkOutDeployment(properties.request);
|
|
13
|
+
const { directoryPath, stackNames, caller, resourceOrder, stackOptions } = cdkOutDeployment(properties.request);
|
|
14
14
|
const selected = selectCdkAssemblyStacks({
|
|
15
15
|
stacks: await loadCdkAssemblyStacks(directoryPath),
|
|
16
16
|
stackNames,
|
|
@@ -23,6 +23,7 @@ export async function planCdkOutDeployment(properties) {
|
|
|
23
23
|
regionName: stack.regionName ?? properties.defaultRegionName,
|
|
24
24
|
})),
|
|
25
25
|
caller,
|
|
26
|
+
resourceOrder,
|
|
26
27
|
stackOptions,
|
|
27
28
|
};
|
|
28
29
|
}
|
|
@@ -4,6 +4,7 @@ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
|
4
4
|
import type { SimCfnDeployedStack } from "../stack/sim-cfn-deployed-stack.type.js";
|
|
5
5
|
import type { CfnTemplateBodyRecord } from "../template/sim-cfn-template.js";
|
|
6
6
|
import type { SimCfnTemplateFileTransform } from "./sim-cfn-template-file-transform.js";
|
|
7
|
+
import type { SimCfnResourceOrder } from "../stack/deploy/sim-cfn-resource-order.js";
|
|
7
8
|
/**
|
|
8
9
|
* Adapts one Stack's parsed template, with the Stacks the same call has already
|
|
9
10
|
* deployed to hand.
|
|
@@ -33,6 +34,11 @@ export interface SimCfnCdkOutStackOptions {
|
|
|
33
34
|
* application Stack deployed by another is what this is for.
|
|
34
35
|
*/
|
|
35
36
|
readonly caller?: SimAwsCaller | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The order this Stack creates Resources with no dependency between them in,
|
|
39
|
+
* where the assembly's own order is not the right one for it.
|
|
40
|
+
*/
|
|
41
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
36
42
|
readonly transform?: SimCfnCdkOutTemplateTransform | undefined;
|
|
37
43
|
}
|
|
38
44
|
export type SimCfnCdkOutStackOptionsByName = Record<string, SimCfnCdkOutStackOptions>;
|
|
@@ -9,6 +9,7 @@ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
|
9
9
|
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
10
10
|
import type { BackgroundCompleter, BackgroundScheduler } from "../../../util/background/background.js";
|
|
11
11
|
import type { SimCfnExports } from "../export/sim-cfn-exports.js";
|
|
12
|
+
import type { SimCfnResourceOrder } from "../stack/deploy/sim-cfn-resource-order.js";
|
|
12
13
|
export interface SimCloudFormationCreateStackProperties {
|
|
13
14
|
readonly stackName?: SimCloudFormationStackName | string;
|
|
14
15
|
readonly template: CfnTemplateBodyRecord;
|
|
@@ -23,6 +24,16 @@ export interface SimCloudFormationCreateStackProperties {
|
|
|
23
24
|
* policy denying an Account's root principal then denies.
|
|
24
25
|
*/
|
|
25
26
|
readonly caller?: SimAwsCaller | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The order Resources with no dependency between them are created in.
|
|
29
|
+
*
|
|
30
|
+
* CloudFormation is free to create them either way round, and the template's
|
|
31
|
+
* own order is what a deployment does by default. `reversed` starts each
|
|
32
|
+
* dependency batch from its last Resource, so a Stack that only deploys in
|
|
33
|
+
* the order its template happens to be written fails here rather than in the
|
|
34
|
+
* account. Declared dependencies and `DependsOn` are honoured either way.
|
|
35
|
+
*/
|
|
36
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
26
37
|
/**
|
|
27
38
|
* The synthesized CDK template file this in-memory template stands in for.
|
|
28
39
|
*
|
|
@@ -59,6 +59,7 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
59
59
|
parameters: properties.parameters,
|
|
60
60
|
bindings: properties.bindings,
|
|
61
61
|
caller: properties.caller,
|
|
62
|
+
resourceOrder: properties.resourceOrder,
|
|
62
63
|
cdkOutContext: await cdkOutContextForTemplatePath(properties.templatePath),
|
|
63
64
|
});
|
|
64
65
|
}
|
|
@@ -102,33 +103,34 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
102
103
|
this.watches.stopAll();
|
|
103
104
|
}
|
|
104
105
|
async deployTemplateWithContext(properties) {
|
|
105
|
-
await this.createStackWithContext(
|
|
106
|
-
input: {
|
|
107
|
-
StackName: properties.stackName,
|
|
108
|
-
TemplateBody: jsonStringify(properties.template),
|
|
109
|
-
Parameters: Object.entries(properties.parameters ?? {}).map(([parameterKey, parameterValue]) => ({
|
|
110
|
-
ParameterKey: parameterKey,
|
|
111
|
-
ParameterValue: parameterValue,
|
|
112
|
-
})),
|
|
113
|
-
},
|
|
114
|
-
}, properties.cdkOutContext, properties.bindings, properties.caller);
|
|
106
|
+
await this.createStackWithContext(properties);
|
|
115
107
|
const stack = this.stacks.get(properties.stackName);
|
|
116
108
|
assertDefined(stack, `Sim CloudFormation Stack named ${properties.stackName}`);
|
|
117
109
|
await stack.waitForDeployComplete();
|
|
118
110
|
return stack;
|
|
119
111
|
}
|
|
120
|
-
async createStackWithContext(
|
|
112
|
+
async createStackWithContext(deployment) {
|
|
121
113
|
const handler = new CreateStackCommandHandler({
|
|
122
114
|
simAws: this.simAws,
|
|
123
115
|
accountRegionScope: this.accountRegionScope,
|
|
124
116
|
stacks: this.stacks,
|
|
125
117
|
background: this.background,
|
|
126
|
-
cdkOutContext,
|
|
127
|
-
bindings,
|
|
128
|
-
caller,
|
|
118
|
+
cdkOutContext: deployment.cdkOutContext,
|
|
119
|
+
bindings: deployment.bindings,
|
|
120
|
+
caller: deployment.caller,
|
|
121
|
+
resourceOrder: deployment.resourceOrder,
|
|
129
122
|
exports: this.exports,
|
|
130
123
|
});
|
|
131
|
-
return await handler.handle(
|
|
124
|
+
return await handler.handle({
|
|
125
|
+
input: {
|
|
126
|
+
StackName: deployment.stackName,
|
|
127
|
+
TemplateBody: jsonStringify(deployment.template),
|
|
128
|
+
Parameters: Object.entries(deployment.parameters ?? {}).map(([parameterKey, parameterValue]) => ({
|
|
129
|
+
ParameterKey: parameterKey,
|
|
130
|
+
ParameterValue: parameterValue,
|
|
131
|
+
})),
|
|
132
|
+
},
|
|
133
|
+
});
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
136
|
/**
|
|
@@ -5,6 +5,7 @@ import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
|
|
|
5
5
|
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
6
6
|
import type { SimCfnTemplateFileWatchOptions } from "../watch/sim-cfn-template-watch.type.js";
|
|
7
7
|
import { type SimCfnTemplateFileTransform } from "./sim-cfn-template-file-transform.js";
|
|
8
|
+
import type { SimCfnResourceOrder } from "../stack/deploy/sim-cfn-resource-order.js";
|
|
8
9
|
export interface SimCloudFormationDeployTemplateFileProperties {
|
|
9
10
|
readonly templatePath: string;
|
|
10
11
|
readonly stackName?: SimCloudFormationStackName | string | undefined;
|
|
@@ -19,6 +20,16 @@ export interface SimCloudFormationDeployTemplateFileProperties {
|
|
|
19
20
|
* policy denying an Account's root principal then denies.
|
|
20
21
|
*/
|
|
21
22
|
readonly caller?: SimAwsCaller | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The order Resources with no dependency between them are created in.
|
|
25
|
+
*
|
|
26
|
+
* CloudFormation is free to create them either way round, and the template's
|
|
27
|
+
* own order is what a deployment does by default. `reversed` starts each
|
|
28
|
+
* dependency batch from its last Resource, so a Stack that only deploys in
|
|
29
|
+
* the order its template happens to be written fails here rather than in the
|
|
30
|
+
* account. Declared dependencies and `DependsOn` are honoured either way.
|
|
31
|
+
*/
|
|
32
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
22
33
|
/**
|
|
23
34
|
* Adapt the parsed template before it is deployed, and again every time a
|
|
24
35
|
* watched file changes.
|
|
@@ -53,6 +64,7 @@ export interface SimCfnLoadedTemplateFile {
|
|
|
53
64
|
readonly parameters?: Record<string, string> | undefined;
|
|
54
65
|
readonly bindings?: readonly SimCfnBinding[] | undefined;
|
|
55
66
|
readonly caller?: SimAwsCaller | undefined;
|
|
67
|
+
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
56
68
|
readonly cdkOutContext?: SimCdkOutContext | undefined;
|
|
57
69
|
}
|
|
58
70
|
/**
|
|
@@ -16,7 +16,7 @@ export class SimCfnTemplateFileLoader {
|
|
|
16
16
|
*/
|
|
17
17
|
async load(properties) {
|
|
18
18
|
const deployment = simCfnTemplateFileDeployment(properties);
|
|
19
|
-
const { templatePath, parameters, bindings, caller } = deployment;
|
|
19
|
+
const { templatePath, parameters, bindings, caller, resourceOrder } = deployment;
|
|
20
20
|
const stackName = deployment.stackName ?? stackNameFromTemplatePath(templatePath);
|
|
21
21
|
// The template is named to a `yulin watch` supervisor, so re-synthing a
|
|
22
22
|
// stack restarts the process that deployed it. Nothing happens outside
|
|
@@ -32,6 +32,7 @@ export class SimCfnTemplateFileLoader {
|
|
|
32
32
|
parameters,
|
|
33
33
|
bindings,
|
|
34
34
|
caller,
|
|
35
|
+
resourceOrder,
|
|
35
36
|
cdkOutContext,
|
|
36
37
|
};
|
|
37
38
|
}
|
package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCloudFrontCachePolicy } from "../../../../cloudfront/cache-policy/sim-cf-cache-policy.js";
|
|
3
|
+
import type { SimCfnResourceValueAdapter } from "../sim-cfn-resource-value-adapter.js";
|
|
4
|
+
interface SimCloudFrontCachePolicyCfnProperties {
|
|
5
|
+
readonly policy: SimCloudFrontCachePolicy;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* CloudFormation-facing behavior for an AWS::CloudFront::CachePolicy Resource.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimCloudFrontCachePolicyCfn implements SimCfnResourceValueAdapter {
|
|
11
|
+
private readonly policy;
|
|
12
|
+
constructor(properties: SimCloudFrontCachePolicyCfnProperties);
|
|
13
|
+
/**
|
|
14
|
+
* CloudFormation Ref for AWS::CloudFront::CachePolicy returns the policy ID,
|
|
15
|
+
* which is what a Cache Behavior's CachePolicyId wants.
|
|
16
|
+
*/
|
|
17
|
+
refValue(): SimCfnTemplateValue;
|
|
18
|
+
/**
|
|
19
|
+
* CloudFormation attributes for AWS::CloudFront::CachePolicy.
|
|
20
|
+
*/
|
|
21
|
+
attributeValue(attributeName: string): SimCfnTemplateValue;
|
|
22
|
+
}
|
|
23
|
+
export {};
|