@kensio/yulin 1.20.15 → 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/README.md +13 -0
- package/dist/sdk/module/sim-sdk-module-client-interceptor.d.ts +5 -0
- package/dist/sdk/module/sim-sdk-module-client-interceptor.js +14 -0
- package/dist/sdk/module/sim-sdk-static-client-factory.d.ts +26 -0
- package/dist/sdk/module/sim-sdk-static-client-factory.js +59 -0
- package/dist/sdk/send-patch.d.ts +8 -0
- package/dist/sdk/send-patch.js +11 -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 +39 -6
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +32 -30
- package/dist/service/aws/caller/sim-aws-caller.d.ts +9 -0
- package/dist/service/aws/caller/sim-aws-resolved-caller.d.ts +19 -0
- package/dist/service/aws/caller/sim-aws-resolved-caller.js +26 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +12 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +6 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +12 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +9 -0
- package/dist/service/aws/factory/sim-aws-registered-service-builder.js +3 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +5 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js +14 -0
- package/dist/service/aws/sim-aws-properties.d.ts +15 -0
- package/dist/service/aws/sim-aws.js +2 -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 +36 -7
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +22 -11
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +10 -71
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +7 -2
- 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 +21 -3
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +34 -10
- 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 +21 -5
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js +7 -3
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +5 -2
- package/dist/service/iam/authorize/sim-iam-authorizer.js +3 -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 +11 -0
- package/dist/service/iam/role/sim-iam-role-with-policy.factory.js +4 -2
- package/dist/service/iam/sim-iam-account-parts.d.ts +16 -0
- package/dist/service/iam/sim-iam-account-parts.js +2 -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/auth-z/assume-role-auth-z-coordinator.d.ts +9 -2
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -2
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +10 -4
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +8 -7
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +2 -2
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -2
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +14 -11
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +10 -1
- package/dist/service/sts/command/assume-role/assume-role.handler.js +6 -2
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts +10 -1
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js +5 -1
- package/dist/service/sts/service-role/sim-service-role.js +5 -1
- package/dist/service/sts/sim-sts.d.ts +18 -1
- package/dist/service/sts/sim-sts.js +8 -0
- package/dist/util/memo/bounded-memo.d.ts +36 -0
- package/dist/util/memo/bounded-memo.js +58 -0
- package/docs/README.md +54 -0
- package/docs/ai-skill/README.md +69 -0
- package/docs/cli/README.md +284 -0
- package/docs/factories/README.md +140 -0
- package/docs/lint/README.md +176 -0
- package/docs/non-aws-dependencies/README.md +261 -0
- package/docs/sdk/README.md +274 -0
- package/docs/serve/README.md +1126 -0
- package/docs/services/acm/README.md +823 -0
- package/docs/services/apigateway/README.md +1919 -0
- package/docs/services/apigatewayv2/README.md +2678 -0
- package/docs/services/athena/README.md +1044 -0
- package/docs/services/bedrock/README.md +350 -0
- package/docs/services/cloudformation/README.md +3625 -0
- package/docs/services/cloudfront/README.md +3098 -0
- package/docs/services/cloudwatch/README.md +422 -0
- package/docs/services/cognito/README.md +4924 -0
- package/docs/services/dynamodb/README.md +3785 -0
- package/docs/services/ecr/README.md +302 -0
- package/docs/services/ecs/README.md +2021 -0
- package/docs/services/elbv2/README.md +1901 -0
- package/docs/services/eventbridge/README.md +1118 -0
- package/docs/services/firehose/README.md +811 -0
- package/docs/services/glue/README.md +507 -0
- package/docs/services/iam/README.md +1578 -0
- package/docs/services/kinesis/README.md +455 -0
- package/docs/services/kms/README.md +664 -0
- package/docs/services/lambda/README.md +3719 -0
- package/docs/services/logs/README.md +882 -0
- package/docs/services/organizations/README.md +574 -0
- package/docs/services/personalize/README.md +835 -0
- package/docs/services/rekognition/README.md +1070 -0
- package/docs/services/route53/README.md +1783 -0
- package/docs/services/s3/README.md +3029 -0
- package/docs/services/scheduler/README.md +814 -0
- package/docs/services/secretsmanager/README.md +670 -0
- package/docs/services/ses/README.md +1013 -0
- package/docs/services/sns/README.md +1904 -0
- package/docs/services/sqs/README.md +1185 -0
- package/docs/services/ssm/README.md +1096 -0
- package/docs/services/stepfunctions/README.md +1341 -0
- package/docs/services/sts/README.md +245 -0
- package/docs/services/wafv2/README.md +1380 -0
- package/docs/terraform/README.md +248 -0
- package/docs/time/README.md +284 -0
- package/llms.txt +59 -0
- package/package.json +7 -4
- package/dist/service/stepfunctions/command/machine/sim-state-machine-writes.d.ts +0 -25
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimCloudFrontFunction } from "./sim-cloudfront-function.js";
|
|
2
|
+
/**
|
|
3
|
+
* The two stages a CloudFront Function can be read from.
|
|
4
|
+
*
|
|
5
|
+
* A Function is created into DEVELOPMENT and reaches LIVE once it is
|
|
6
|
+
* published. LIVE is the copy a Distribution runs.
|
|
7
|
+
*/
|
|
8
|
+
export type SimCloudFrontFunctionStage = "DEVELOPMENT" | "LIVE";
|
|
9
|
+
/**
|
|
10
|
+
* Read the stage a request asked for.
|
|
11
|
+
*
|
|
12
|
+
* CloudFront defaults an omitted `Stage` to DEVELOPMENT, the copy a Function
|
|
13
|
+
* is created into, and refuses a value that names neither stage.
|
|
14
|
+
*/
|
|
15
|
+
export declare function simCffRequestedStage(stage: string | undefined): SimCloudFrontFunctionStage;
|
|
16
|
+
/**
|
|
17
|
+
* Whether a Function can be read from a stage.
|
|
18
|
+
*
|
|
19
|
+
* Every Function is in DEVELOPMENT from the moment it is created. It reaches
|
|
20
|
+
* LIVE once it is published, so a Function still waiting to publish answers to
|
|
21
|
+
* DEVELOPMENT alone.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simCffInStage(cloudFrontFunction: SimCloudFrontFunction, stage: SimCloudFrontFunctionStage): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimCloudFrontInvalidArgument } from "../error/sim-cloudfront.error.js";
|
|
2
|
+
const simCffStages = new Set([
|
|
3
|
+
"DEVELOPMENT",
|
|
4
|
+
"LIVE",
|
|
5
|
+
]);
|
|
6
|
+
/**
|
|
7
|
+
* Read the stage a request asked for.
|
|
8
|
+
*
|
|
9
|
+
* CloudFront defaults an omitted `Stage` to DEVELOPMENT, the copy a Function
|
|
10
|
+
* is created into, and refuses a value that names neither stage.
|
|
11
|
+
*/
|
|
12
|
+
export function simCffRequestedStage(stage) {
|
|
13
|
+
if (stage === undefined) {
|
|
14
|
+
return "DEVELOPMENT";
|
|
15
|
+
}
|
|
16
|
+
if (!simCffStages.has(stage)) {
|
|
17
|
+
throw new SimCloudFrontInvalidArgument(`CloudFront Function stage ${stage} is neither DEVELOPMENT nor LIVE`);
|
|
18
|
+
}
|
|
19
|
+
return stage;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether a Function can be read from a stage.
|
|
23
|
+
*
|
|
24
|
+
* Every Function is in DEVELOPMENT from the moment it is created. It reaches
|
|
25
|
+
* LIVE once it is published, so a Function still waiting to publish answers to
|
|
26
|
+
* DEVELOPMENT alone.
|
|
27
|
+
*/
|
|
28
|
+
export function simCffInStage(cloudFrontFunction, stage) {
|
|
29
|
+
return stage === "DEVELOPMENT" || cloudFrontFunction.status !== "UNPUBLISHED";
|
|
30
|
+
}
|
|
@@ -4,9 +4,10 @@ import type { Brand } from "../../../util/brand.type.js";
|
|
|
4
4
|
import type { SimArn } from "../../aws/arn.js";
|
|
5
5
|
import { type SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
6
6
|
import type { SimCloudFrontKeyValueStore } from "../key-value-store/sim-cf-key-value-store.js";
|
|
7
|
+
import { SimCffConfiguration, type SimCffConfigurationProperties } from "./sim-cff-configuration.js";
|
|
7
8
|
export type SimCloudFrontFunctionName = Brand<string, "SimCloudFrontFunctionName">;
|
|
8
9
|
export type CloudFrontFunctionStatus = "UNPUBLISHED" | "UNASSOCIATED" | "ASSOCIATED";
|
|
9
|
-
interface SimCloudFrontFunctionProperties {
|
|
10
|
+
interface SimCloudFrontFunctionProperties extends SimCffConfigurationProperties {
|
|
10
11
|
name: SimCloudFrontFunctionName | string;
|
|
11
12
|
status?: CloudFrontFunctionStatus;
|
|
12
13
|
readonly accountId?: SimAwsAccountId;
|
|
@@ -22,6 +23,10 @@ export declare class SimCloudFrontFunction {
|
|
|
22
23
|
#private;
|
|
23
24
|
readonly name: SimCloudFrontFunctionName;
|
|
24
25
|
readonly accountId: SimAwsAccountId;
|
|
26
|
+
/**
|
|
27
|
+
* What this Function was created with, which every read of it reports.
|
|
28
|
+
*/
|
|
29
|
+
readonly config: SimCffConfiguration;
|
|
25
30
|
private readonly handlerFunction;
|
|
26
31
|
private readonly eventAdapter;
|
|
27
32
|
private readonly associatedKeyValueStore;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SimCffEventAdapter } from "./adapter/sim-cff-event-adapter.js";
|
|
2
2
|
import { makeSimAwsAccountId, } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import { SimCffConfiguration, } from "./sim-cff-configuration.js";
|
|
3
4
|
import { cffCloudFrontModule } from "./kvs/cff-cloudfront-module.js";
|
|
4
5
|
import { simCffCloudFrontGlobal } from "./kvs/sim-cff-cloudfront-global.js";
|
|
5
6
|
export const defaultCffHandler = (event) => {
|
|
@@ -14,6 +15,10 @@ export const defaultCffHandler = (event) => {
|
|
|
14
15
|
export class SimCloudFrontFunction {
|
|
15
16
|
name;
|
|
16
17
|
accountId;
|
|
18
|
+
/**
|
|
19
|
+
* What this Function was created with, which every read of it reports.
|
|
20
|
+
*/
|
|
21
|
+
config;
|
|
17
22
|
#status;
|
|
18
23
|
handlerFunction;
|
|
19
24
|
eventAdapter;
|
|
@@ -23,6 +28,7 @@ export class SimCloudFrontFunction {
|
|
|
23
28
|
this.name = name;
|
|
24
29
|
this.#status = status;
|
|
25
30
|
this.accountId = accountId;
|
|
31
|
+
this.config = new SimCffConfiguration(properties);
|
|
26
32
|
this.handlerFunction = handlerFunction;
|
|
27
33
|
this.eventAdapter = eventAdapter;
|
|
28
34
|
this.associatedKeyValueStore = properties.keyValueStore;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import { SimCloudFrontCachePolicy } from "../../cache-policy/sim-cf-cache-policy.js";
|
|
4
|
+
/**
|
|
5
|
+
* Reads an AWS::CloudFront::CachePolicy Resource into a simulated policy.
|
|
6
|
+
*
|
|
7
|
+
* `Name` and `Comment` are what the policy carries. The cache key sections and
|
|
8
|
+
* the TTLs are read past: what they configure is a cache this simulation has
|
|
9
|
+
* yet to grow. A Resource missing its `Name` is refused, as CloudFormation
|
|
10
|
+
* refuses one.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfnCfCachePolicyConfig {
|
|
13
|
+
private readonly resource;
|
|
14
|
+
private readonly properties;
|
|
15
|
+
constructor(properties: {
|
|
16
|
+
readonly resource: SimCfnResource;
|
|
17
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Build the simulated policy this Resource describes.
|
|
21
|
+
*/
|
|
22
|
+
build(): SimCloudFrontCachePolicy;
|
|
23
|
+
/**
|
|
24
|
+
* Refuse this Resource, saying which part of it could not be read.
|
|
25
|
+
*/
|
|
26
|
+
private refuse;
|
|
27
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isRecord } from "../../../../util/type-guard/record.js";
|
|
2
|
+
import { SimCloudFrontCachePolicy } from "../../cache-policy/sim-cf-cache-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reads an AWS::CloudFront::CachePolicy Resource into a simulated policy.
|
|
5
|
+
*
|
|
6
|
+
* `Name` and `Comment` are what the policy carries. The cache key sections and
|
|
7
|
+
* the TTLs are read past: what they configure is a cache this simulation has
|
|
8
|
+
* yet to grow. A Resource missing its `Name` is refused, as CloudFormation
|
|
9
|
+
* refuses one.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfnCfCachePolicyConfig {
|
|
12
|
+
resource;
|
|
13
|
+
properties;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.resource = properties.resource;
|
|
16
|
+
this.properties = properties.properties;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Build the simulated policy this Resource describes.
|
|
20
|
+
*/
|
|
21
|
+
build() {
|
|
22
|
+
const config = this.properties["CachePolicyConfig"];
|
|
23
|
+
if (!isRecord(config)) {
|
|
24
|
+
return this.refuse("CachePolicyConfig must be an object");
|
|
25
|
+
}
|
|
26
|
+
const name = config["Name"];
|
|
27
|
+
if (typeof name !== "string") {
|
|
28
|
+
return this.refuse("CachePolicyConfig needs a string Name");
|
|
29
|
+
}
|
|
30
|
+
const comment = config["Comment"];
|
|
31
|
+
return new SimCloudFrontCachePolicy({
|
|
32
|
+
name,
|
|
33
|
+
...(typeof comment === "string" && { comment }),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Refuse this Resource, saying which part of it could not be read.
|
|
38
|
+
*/
|
|
39
|
+
refuse(detail) {
|
|
40
|
+
throw new Error(`Invalid AWS::CloudFront::CachePolicy ${this.resource.logicalId}: ${detail}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimCloudFront } from "../../sim-cloudfront.js";
|
|
4
|
+
import type { SimCloudFrontCachePolicy } from "../../cache-policy/sim-cf-cache-policy.js";
|
|
5
|
+
interface SimCfnCfCachePolicyCreatorProperties {
|
|
6
|
+
readonly cloudFront: SimCloudFront;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated cache policies from AWS::CloudFront::CachePolicy
|
|
10
|
+
* Resources.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfnCfCachePolicyCreator {
|
|
13
|
+
private readonly cloudFront;
|
|
14
|
+
constructor(properties: SimCfnCfCachePolicyCreatorProperties);
|
|
15
|
+
/**
|
|
16
|
+
* Create and store the policy one Resource describes.
|
|
17
|
+
*/
|
|
18
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): SimCloudFrontCachePolicy;
|
|
19
|
+
/**
|
|
20
|
+
* Remove a policy created from a Resource.
|
|
21
|
+
*/
|
|
22
|
+
delete(resource: SimCfnResource): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SimCfnCfCachePolicyConfig } from "./sim-cfn-cf-cache-policy-config.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates simulated cache policies from AWS::CloudFront::CachePolicy
|
|
4
|
+
* Resources.
|
|
5
|
+
*/
|
|
6
|
+
export class SimCfnCfCachePolicyCreator {
|
|
7
|
+
cloudFront;
|
|
8
|
+
constructor(properties) {
|
|
9
|
+
this.cloudFront = properties.cloudFront;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create and store the policy one Resource describes.
|
|
13
|
+
*/
|
|
14
|
+
create(resource, properties) {
|
|
15
|
+
const policy = new SimCfnCfCachePolicyConfig({
|
|
16
|
+
resource,
|
|
17
|
+
properties,
|
|
18
|
+
}).build();
|
|
19
|
+
this.cloudFront.addCachePolicy(policy);
|
|
20
|
+
return policy;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Remove a policy created from a Resource.
|
|
24
|
+
*/
|
|
25
|
+
delete(resource) {
|
|
26
|
+
const policy = resource.simResource;
|
|
27
|
+
if (policy === undefined) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.cloudFront.removeCachePolicy(policy.id);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -2,8 +2,8 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
|
|
|
2
2
|
import type { SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
3
3
|
import type { SimCloudFront } from "../../sim-cloudfront.js";
|
|
4
4
|
/**
|
|
5
|
-
* The DistributionConfig to deploy, without a
|
|
6
|
-
* a
|
|
5
|
+
* The DistributionConfig to deploy, without a policy ID naming a response
|
|
6
|
+
* headers policy or a cache policy this simulation does not hold.
|
|
7
7
|
*
|
|
8
8
|
* `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
|
|
9
9
|
* a Distribution deployed from a template is the one place that refusal costs
|
|
@@ -14,10 +14,11 @@ import type { SimCloudFront } from "../../sim-cloudfront.js";
|
|
|
14
14
|
* make with it. That is the same reason an absent `WebACLId` is left out here.
|
|
15
15
|
*
|
|
16
16
|
* So the property is left off that Behavior and recorded on
|
|
17
|
-
* `stack.ignoredProperties`. The Behavior deploys and
|
|
18
|
-
*
|
|
17
|
+
* `stack.ignoredProperties`. The Behavior deploys, and a test that cares reads
|
|
18
|
+
* the record. CloudFront's managed policies count as held, so a Behavior
|
|
19
|
+
* naming one keeps it.
|
|
19
20
|
*
|
|
20
|
-
* One Behavior losing
|
|
21
|
-
*
|
|
21
|
+
* One Behavior losing a policy leaves the others holding theirs, and a
|
|
22
|
+
* Behavior losing one kind of policy keeps the other.
|
|
22
23
|
*/
|
|
23
|
-
export declare function
|
|
24
|
+
export declare function simCfnCfDistroWithHeldBehaviorPolicies(resource: SimCfnResource, distributionConfig: SimCloudFrontDistributionConfig, cloudFront: SimCloudFront): SimCloudFrontDistributionConfig;
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { normalizeSimCfList } from "../../command/create-distribution/sim-cf-normalize-list.js";
|
|
2
|
+
import { SimCfnCfDistroPolicyDrops } from "./sim-cfn-cf-distro-policy-drops.js";
|
|
2
3
|
/**
|
|
3
4
|
* The path a dropped policy on the default Behavior is recorded under.
|
|
4
5
|
*/
|
|
5
6
|
const defaultBehaviorPath = "DistributionConfig.DefaultCacheBehavior";
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
class SimCfnCfDistroPolicyDrops {
|
|
11
|
-
resource;
|
|
12
|
-
cloudFront;
|
|
13
|
-
count = 0;
|
|
14
|
-
constructor(resource, cloudFront) {
|
|
15
|
-
this.resource = resource;
|
|
16
|
-
this.cloudFront = cloudFront;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* One Behavior, keeping a policy that is here and dropping one that is not.
|
|
20
|
-
*/
|
|
21
|
-
heldPolicy(behavior, behaviorPath) {
|
|
22
|
-
const policyId = behavior.ResponseHeadersPolicyId;
|
|
23
|
-
if (policyId === undefined ||
|
|
24
|
-
this.cloudFront.getResponseHeadersPolicyById(policyId) !== undefined) {
|
|
25
|
-
return behavior;
|
|
26
|
-
}
|
|
27
|
-
this.count += 1;
|
|
28
|
-
this.resource.ignoreProperty(`${behaviorPath}.ResponseHeadersPolicyId`, `response headers policy ${policyId} is not held by this simulation, ` +
|
|
29
|
-
`so the Behavior is deployed without one and serves every response ` +
|
|
30
|
-
`without the headers that policy would have set`);
|
|
31
|
-
return { ...behavior, ResponseHeadersPolicyId: undefined };
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* The DistributionConfig to deploy, without a `ResponseHeadersPolicyId` naming
|
|
36
|
-
* a response headers policy this simulation does not hold.
|
|
8
|
+
* The DistributionConfig to deploy, without a policy ID naming a response
|
|
9
|
+
* headers policy or a cache policy this simulation does not hold.
|
|
37
10
|
*
|
|
38
11
|
* `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
|
|
39
12
|
* a Distribution deployed from a template is the one place that refusal costs
|
|
@@ -44,13 +17,14 @@ class SimCfnCfDistroPolicyDrops {
|
|
|
44
17
|
* make with it. That is the same reason an absent `WebACLId` is left out here.
|
|
45
18
|
*
|
|
46
19
|
* So the property is left off that Behavior and recorded on
|
|
47
|
-
* `stack.ignoredProperties`. The Behavior deploys and
|
|
48
|
-
*
|
|
20
|
+
* `stack.ignoredProperties`. The Behavior deploys, and a test that cares reads
|
|
21
|
+
* the record. CloudFront's managed policies count as held, so a Behavior
|
|
22
|
+
* naming one keeps it.
|
|
49
23
|
*
|
|
50
|
-
* One Behavior losing
|
|
51
|
-
*
|
|
24
|
+
* One Behavior losing a policy leaves the others holding theirs, and a
|
|
25
|
+
* Behavior losing one kind of policy keeps the other.
|
|
52
26
|
*/
|
|
53
|
-
export function
|
|
27
|
+
export function simCfnCfDistroWithHeldBehaviorPolicies(resource, distributionConfig, cloudFront) {
|
|
54
28
|
const drops = new SimCfnCfDistroPolicyDrops(resource, cloudFront);
|
|
55
29
|
const defaultCacheBehavior = distroDefaultBehavior(drops, distributionConfig);
|
|
56
30
|
const cacheBehaviors = distroCacheBehaviors(drops, distributionConfig);
|
|
@@ -71,7 +45,7 @@ function distroDefaultBehavior(drops, distributionConfig) {
|
|
|
71
45
|
if (behavior === undefined) {
|
|
72
46
|
return undefined;
|
|
73
47
|
}
|
|
74
|
-
return drops.
|
|
48
|
+
return drops.heldPolicies(behavior, defaultBehaviorPath);
|
|
75
49
|
}
|
|
76
50
|
/**
|
|
77
51
|
* Every path-based cache Behavior, each without a policy that is not here.
|
|
@@ -88,6 +62,6 @@ function distroCacheBehaviors(drops, distributionConfig) {
|
|
|
88
62
|
}
|
|
89
63
|
return {
|
|
90
64
|
...behaviors,
|
|
91
|
-
Items: items.map((behavior, index) => drops.
|
|
65
|
+
Items: items.map((behavior, index) => drops.heldPolicies(behavior, `DistributionConfig.CacheBehaviors.${behavior.PathPattern ?? String(index)}`)),
|
|
92
66
|
};
|
|
93
67
|
}
|
|
@@ -10,11 +10,12 @@ interface SimCfnCfDistroCreatorProperties {
|
|
|
10
10
|
*
|
|
11
11
|
* A `WebACLId` naming a web ACL this simulation does not hold is left out and
|
|
12
12
|
* recorded, and so are a Lambda@Edge association it cannot run and a
|
|
13
|
-
* `ResponseHeadersPolicyId` naming a policy it does not
|
|
14
|
-
* Resource of its own for any of
|
|
15
|
-
* Distribution itself, and refusing one would take the
|
|
16
|
-
* something that was never the point of the template.
|
|
17
|
-
* server and a suite of tests make requests to has to
|
|
13
|
+
* `ResponseHeadersPolicyId` or `CachePolicyId` naming a policy it does not
|
|
14
|
+
* hold. CloudFront has no Resource of its own for any of them, so all of them
|
|
15
|
+
* live on the Distribution itself, and refusing one would take the
|
|
16
|
+
* Distribution down over something that was never the point of the template.
|
|
17
|
+
* The site a local dev server and a suite of tests make requests to has to
|
|
18
|
+
* survive that.
|
|
18
19
|
*/
|
|
19
20
|
export declare class SimCfnCfDistroCreator {
|
|
20
21
|
private readonly cloudFront;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertDefined, assertNotNull, } from "../../../../util/type-guard/defined.js";
|
|
2
2
|
import { SimCfnCfDistroConfigValidator } from "./sim-cfn-cf-distro-config-validator.js";
|
|
3
3
|
import { simCfnCfDistroWithRunnableEdgeAssociations } from "./sim-cfn-cf-distro-edge-associations.js";
|
|
4
|
-
import {
|
|
4
|
+
import { simCfnCfDistroWithHeldBehaviorPolicies } from "./sim-cfn-cf-distro-behavior-policies.js";
|
|
5
5
|
import { simCfnCfDistroWithoutAbsentWebAcl } from "./sim-cfn-cf-distro-web-acl.js";
|
|
6
6
|
import { simCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
7
7
|
/**
|
|
@@ -9,11 +9,12 @@ import { simCfnResourceCallerOptions } from "../../../cloudformation/resource/ca
|
|
|
9
9
|
*
|
|
10
10
|
* A `WebACLId` naming a web ACL this simulation does not hold is left out and
|
|
11
11
|
* recorded, and so are a Lambda@Edge association it cannot run and a
|
|
12
|
-
* `ResponseHeadersPolicyId` naming a policy it does not
|
|
13
|
-
* Resource of its own for any of
|
|
14
|
-
* Distribution itself, and refusing one would take the
|
|
15
|
-
* something that was never the point of the template.
|
|
16
|
-
* server and a suite of tests make requests to has to
|
|
12
|
+
* `ResponseHeadersPolicyId` or `CachePolicyId` naming a policy it does not
|
|
13
|
+
* hold. CloudFront has no Resource of its own for any of them, so all of them
|
|
14
|
+
* live on the Distribution itself, and refusing one would take the
|
|
15
|
+
* Distribution down over something that was never the point of the template.
|
|
16
|
+
* The site a local dev server and a suite of tests make requests to has to
|
|
17
|
+
* survive that.
|
|
17
18
|
*/
|
|
18
19
|
export class SimCfnCfDistroCreator {
|
|
19
20
|
cloudFront;
|
|
@@ -49,5 +50,5 @@ export class SimCfnCfDistroCreator {
|
|
|
49
50
|
* act on, each recorded on the Resource.
|
|
50
51
|
*/
|
|
51
52
|
function deployableConfig(resource, distributionConfig, simAws, cloudFront) {
|
|
52
|
-
return simCfnCfDistroWithoutAbsentWebAcl(resource,
|
|
53
|
+
return simCfnCfDistroWithoutAbsentWebAcl(resource, simCfnCfDistroWithHeldBehaviorPolicies(resource, simCfnCfDistroWithRunnableEdgeAssociations(resource, distributionConfig, simAws), cloudFront), simAws);
|
|
53
54
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCloudFrontCacheBehaviorConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
3
|
+
import type { SimCloudFront } from "../../sim-cloudfront.js";
|
|
4
|
+
/**
|
|
5
|
+
* Takes a policy ID naming a policy this simulation does not hold off the
|
|
6
|
+
* Behavior that named it, and records each one on the Resource.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimCfnCfDistroPolicyDrops {
|
|
9
|
+
private readonly resource;
|
|
10
|
+
private readonly cloudFront;
|
|
11
|
+
count: number;
|
|
12
|
+
constructor(resource: SimCfnResource, cloudFront: SimCloudFront);
|
|
13
|
+
/**
|
|
14
|
+
* One Behavior, keeping the policies that are here and dropping those that
|
|
15
|
+
* are not.
|
|
16
|
+
*/
|
|
17
|
+
heldPolicies(behavior: SimCloudFrontCacheBehaviorConfig, behaviorPath: string): SimCloudFrontCacheBehaviorConfig;
|
|
18
|
+
/**
|
|
19
|
+
* One policy property of one Behavior, dropped where the ID names nothing
|
|
20
|
+
* this simulation holds.
|
|
21
|
+
*/
|
|
22
|
+
private heldPolicy;
|
|
23
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes a policy ID naming a policy this simulation does not hold off the
|
|
3
|
+
* Behavior that named it, and records each one on the Resource.
|
|
4
|
+
*/
|
|
5
|
+
export class SimCfnCfDistroPolicyDrops {
|
|
6
|
+
resource;
|
|
7
|
+
cloudFront;
|
|
8
|
+
count = 0;
|
|
9
|
+
constructor(resource, cloudFront) {
|
|
10
|
+
this.resource = resource;
|
|
11
|
+
this.cloudFront = cloudFront;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* One Behavior, keeping the policies that are here and dropping those that
|
|
15
|
+
* are not.
|
|
16
|
+
*/
|
|
17
|
+
heldPolicies(behavior, behaviorPath) {
|
|
18
|
+
const withHeaders = this.heldPolicy(behavior, behaviorPath, "ResponseHeadersPolicyId", (policyId) => this.cloudFront.getResponseHeadersPolicyById(policyId) !== undefined, headersPolicyDropReason);
|
|
19
|
+
return this.heldPolicy(withHeaders, behaviorPath, "CachePolicyId", (policyId) => this.cloudFront.getCachePolicyById(policyId) !== undefined, cachePolicyDropReason);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* One policy property of one Behavior, dropped where the ID names nothing
|
|
23
|
+
* this simulation holds.
|
|
24
|
+
*/
|
|
25
|
+
heldPolicy(behavior, behaviorPath, property, held, reason) {
|
|
26
|
+
// oxlint-disable-next-line security/detect-object-injection
|
|
27
|
+
const policyId = behavior[property];
|
|
28
|
+
if (policyId === undefined || held(policyId)) {
|
|
29
|
+
return behavior;
|
|
30
|
+
}
|
|
31
|
+
this.count += 1;
|
|
32
|
+
this.resource.ignoreProperty(`${behaviorPath}.${property}`, reason(policyId));
|
|
33
|
+
return { ...behavior, [property]: undefined };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* What a Behavior loses along with a response headers policy.
|
|
38
|
+
*/
|
|
39
|
+
function headersPolicyDropReason(policyId) {
|
|
40
|
+
return (`response headers policy ${policyId} is not held by this simulation, so ` +
|
|
41
|
+
`the Behavior is deployed without one and serves every response without ` +
|
|
42
|
+
`the headers that policy would have set`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* What a Behavior loses along with a cache policy.
|
|
46
|
+
*/
|
|
47
|
+
function cachePolicyDropReason(policyId) {
|
|
48
|
+
return (`cache policy ${policyId} is not held by this simulation, so the ` +
|
|
49
|
+
`Behavior is deployed without one and reports no CachePolicyId`);
|
|
50
|
+
}
|
|
@@ -9,6 +9,7 @@ export declare class SimCloudFrontCloudFormationResourceFactory implements SimCf
|
|
|
9
9
|
private readonly functionCreator;
|
|
10
10
|
private readonly distroDeleter;
|
|
11
11
|
private readonly responseHeadersPolicyCreator;
|
|
12
|
+
private readonly cachePolicyCreator;
|
|
12
13
|
private readonly originAccessControlCreator;
|
|
13
14
|
private readonly keyValueStoreCreator;
|
|
14
15
|
constructor(cloudFront: SimCloudFront);
|
|
@@ -3,6 +3,7 @@ import { SimCfnCfDistroCreator } from "./distro/sim-cfn-cf-distro-creator.js";
|
|
|
3
3
|
import { SimCfnCffCreator } from "./cff/sim-cfn-cff-creator.js";
|
|
4
4
|
import { SimCfnCfDistroDeleter } from "./distro/sim-cfn-cf-distro-deleter.js";
|
|
5
5
|
import { SimCfnCfResponseHeadersPolicyCreator } from "./response-headers-policy/sim-cfn-cf-rh-policy-creator.js";
|
|
6
|
+
import { SimCfnCfCachePolicyCreator } from "./cache-policy/sim-cfn-cf-cache-policy-creator.js";
|
|
6
7
|
import { SimCfnCfOriginAccessControlCreator } from "./origin-access-control/sim-cfn-cf-oac-creator.js";
|
|
7
8
|
import { SimCfnCfKeyValueStoreCreator } from "./key-value-store/sim-cfn-cf-kvs-creator.js";
|
|
8
9
|
/**
|
|
@@ -13,6 +14,7 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
13
14
|
functionCreator;
|
|
14
15
|
distroDeleter;
|
|
15
16
|
responseHeadersPolicyCreator;
|
|
17
|
+
cachePolicyCreator;
|
|
16
18
|
originAccessControlCreator;
|
|
17
19
|
keyValueStoreCreator;
|
|
18
20
|
constructor(cloudFront) {
|
|
@@ -21,6 +23,7 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
21
23
|
this.distroDeleter = new SimCfnCfDistroDeleter({ cloudFront });
|
|
22
24
|
this.responseHeadersPolicyCreator =
|
|
23
25
|
new SimCfnCfResponseHeadersPolicyCreator({ cloudFront });
|
|
26
|
+
this.cachePolicyCreator = new SimCfnCfCachePolicyCreator({ cloudFront });
|
|
24
27
|
this.originAccessControlCreator = new SimCfnCfOriginAccessControlCreator({
|
|
25
28
|
cloudFront,
|
|
26
29
|
});
|
|
@@ -43,6 +46,9 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
43
46
|
case "ResponseHeadersPolicy": {
|
|
44
47
|
return this.responseHeadersPolicyCreator.create(resource, properties);
|
|
45
48
|
}
|
|
49
|
+
case "CachePolicy": {
|
|
50
|
+
return this.cachePolicyCreator.create(resource, properties);
|
|
51
|
+
}
|
|
46
52
|
case "OriginAccessControl": {
|
|
47
53
|
return this.originAccessControlCreator.create(resource, properties);
|
|
48
54
|
}
|
|
@@ -73,6 +79,10 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
73
79
|
this.responseHeadersPolicyCreator.delete(resource);
|
|
74
80
|
return;
|
|
75
81
|
}
|
|
82
|
+
case "CachePolicy": {
|
|
83
|
+
this.cachePolicyCreator.delete(resource);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
76
86
|
case "OriginAccessControl": {
|
|
77
87
|
this.originAccessControlCreator.delete(resource);
|
|
78
88
|
return;
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts
CHANGED
|
@@ -144,6 +144,7 @@ export interface SimCloudFrontDefaultCacheBehaviorConfig {
|
|
|
144
144
|
readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
|
|
145
145
|
readonly LambdaFunctionAssociations?: SimCloudFrontLambdaFunctionAssociations | undefined;
|
|
146
146
|
readonly ResponseHeadersPolicyId?: string | undefined;
|
|
147
|
+
readonly CachePolicyId?: string | undefined;
|
|
147
148
|
}
|
|
148
149
|
/**
|
|
149
150
|
* Minimal structural sim CloudFront cache behavior config.
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { SimCloudFrontS3OriginResolver } from "../../origin/s3/sim-cloudfro
|
|
|
7
7
|
import type { SimCfCustomOriginDispatcher } from "../../origin/custom/sim-cf-custom-origin-dispatcher.js";
|
|
8
8
|
import type { SimCloudFrontOriginAccessControlRegistry } from "../../origin-access-control/sim-cf-origin-access-control-registry.js";
|
|
9
9
|
import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
10
|
+
import type { SimCloudFrontCachePolicyRegistry } from "../../cache-policy/sim-cf-cache-policy-registry.js";
|
|
10
11
|
import type { SimCfWebAclResolver } from "../../web-acl/sim-cf-web-acl.js";
|
|
11
12
|
import type { BackgroundScheduler } from "../../../../util/background/background.js";
|
|
12
13
|
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
@@ -21,6 +22,7 @@ interface CreateDistributionCommandHandlerProperties {
|
|
|
21
22
|
readonly customOriginDispatcher?: SimCfCustomOriginDispatcher | undefined;
|
|
22
23
|
readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
|
|
23
24
|
readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
|
|
25
|
+
readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
|
|
24
26
|
readonly webAclResolver?: SimCfWebAclResolver | undefined;
|
|
25
27
|
readonly iam?: SimIamInterServiceAuthZ;
|
|
26
28
|
readonly acmRegistry?: SimAcmRegistry | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
2
|
import { SimCloudFrontFunction, } from "../../cff/sim-cloudfront-function.js";
|
|
3
|
-
import { CffUint8ArrayFunctionCodeExtractor } from "../../cff/function-code-input/cff-function-code-input.js";
|
|
3
|
+
import { cffFunctionCodeSource, CffUint8ArrayFunctionCodeExtractor, } from "../../cff/function-code-input/cff-function-code-input.js";
|
|
4
4
|
import { cffCloudFrontModule } from "../../cff/kvs/cff-cloudfront-module.js";
|
|
5
5
|
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
6
6
|
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
@@ -50,6 +50,12 @@ export class CreateFunctionCommandHandler {
|
|
|
50
50
|
accountId: this.accountId,
|
|
51
51
|
handlerFunction,
|
|
52
52
|
keyValueStore,
|
|
53
|
+
// The config a Function was created with is what every read of it
|
|
54
|
+
// reports, so it is kept rather than only acted on here.
|
|
55
|
+
comment: command.input.FunctionConfig?.Comment,
|
|
56
|
+
runtime: command.input.FunctionConfig?.Runtime,
|
|
57
|
+
functionCode: cffFunctionCodeSource(command.input.FunctionCode),
|
|
58
|
+
createdTime: this.background.now(),
|
|
53
59
|
});
|
|
54
60
|
this.cloudFrontFunctions.set(simCff.name, simCff);
|
|
55
61
|
// New CFF becomes available async in background.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimCfFunctionAccess } from "./sim-cf-function-access.js";
|
|
3
|
+
import type { SimDescribeFunctionCommand, SimDescribeFunctionCommandOutput } from "./sim-cf-function-command.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront DescribeFunction command.
|
|
6
|
+
*
|
|
7
|
+
* This is the Function's configuration without its code. GetFunction is the
|
|
8
|
+
* one that answers with the code.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/DescribeFunctionCommand/
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfDescribeFunction {
|
|
13
|
+
private readonly access;
|
|
14
|
+
private static readonly action;
|
|
15
|
+
constructor(access: SimCfFunctionAccess);
|
|
16
|
+
/**
|
|
17
|
+
* Describe one sim CloudFront Function.
|
|
18
|
+
*/
|
|
19
|
+
handle(command: SimDescribeFunctionCommand, options?: {
|
|
20
|
+
readonly caller?: SimAwsCaller;
|
|
21
|
+
}): Promise<SimDescribeFunctionCommandOutput>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCffRequestedStage } from "../../cff/sim-cff-stage.js";
|
|
3
|
+
import { simCfFunctionSummary } from "./sim-cf-function-summary.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront DescribeFunction command.
|
|
6
|
+
*
|
|
7
|
+
* This is the Function's configuration without its code. GetFunction is the
|
|
8
|
+
* one that answers with the code.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/DescribeFunctionCommand/
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfDescribeFunction {
|
|
13
|
+
access;
|
|
14
|
+
static action = "cloudfront:DescribeFunction";
|
|
15
|
+
constructor(access) {
|
|
16
|
+
this.access = access;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Describe one sim CloudFront Function.
|
|
20
|
+
*/
|
|
21
|
+
async handle(command, options) {
|
|
22
|
+
assertDefined(command.input.Name, "DescribeFunctionCommand.input.Name");
|
|
23
|
+
const stage = simCffRequestedStage(command.input.Stage);
|
|
24
|
+
await this.access.background.sequence();
|
|
25
|
+
const cloudFrontFunction = this.access.authorizedByName(SimCfDescribeFunction.action, command.input.Name, stage, options?.caller);
|
|
26
|
+
return {
|
|
27
|
+
$metadata: {},
|
|
28
|
+
FunctionSummary: simCfFunctionSummary(cloudFrontFunction, stage),
|
|
29
|
+
ETag: cloudFrontFunction.config.etag,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|