@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
|
@@ -5,10 +5,8 @@ import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-sco
|
|
|
5
5
|
import type { SimAwsAccountId } from "../aws/sim-aws-account.js";
|
|
6
6
|
import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
7
7
|
import type { SimCreateDistributionCommand, SimCreateDistributionCommandOutput } from "./command/create-distribution/create-distribution.command.js";
|
|
8
|
-
import type {
|
|
9
|
-
import { type SimCloudFrontFunctionMap } from "./command/create-function/create-function.handler.js";
|
|
8
|
+
import type { SimCloudFrontFunctionMap } from "./command/create-function/create-function.handler.js";
|
|
10
9
|
import type { SimDeleteDistributionCommand, SimDeleteDistributionCommandOutput } from "./command/delete-distribution/delete-distribution.command.js";
|
|
11
|
-
import type { SimDeleteFunctionCommand, SimDeleteFunctionCommandOutput } from "./command/delete-function/delete-function.command.js";
|
|
12
10
|
import type { SimGetDistributionCommand, SimGetDistributionCommandOutput } from "./command/get-distribution/get-distribution.command.js";
|
|
13
11
|
import type { SimUpdateDistributionCommand, SimUpdateDistributionCommandOutput } from "./command/update-distribution/update-distribution.command.js";
|
|
14
12
|
import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "./distribution/sim-cloudfront-distribution.js";
|
|
@@ -16,11 +14,13 @@ import type { SimCfCustomOriginDispatcher } from "./origin/custom/sim-cf-custom-
|
|
|
16
14
|
import { type SimCloudFrontS3OriginResolver } from "./origin/s3/sim-cloudfront-s3-origin.js";
|
|
17
15
|
import type { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
|
|
18
16
|
import type { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
17
|
+
import type { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
|
|
19
18
|
import { SimCloudFrontRegistry } from "./registry/sim-cloud-front-registry.js";
|
|
20
19
|
import type { SimCfWebAclResolver } from "./web-acl/sim-cf-web-acl.js";
|
|
21
20
|
import type { SimCfEdgeFunctions } from "./edge/sim-cf-edge-functions.js";
|
|
22
21
|
import { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-store-commands.js";
|
|
23
22
|
import { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
|
|
23
|
+
import { SimCfFunctionCommands } from "./cff/sim-cf-function-commands.js";
|
|
24
24
|
/**
|
|
25
25
|
* How one simulated CloudFront is put together.
|
|
26
26
|
*/
|
|
@@ -43,6 +43,7 @@ interface SimCloudFrontCommandsProperties extends SimCloudFrontProperties {
|
|
|
43
43
|
readonly cloudFrontFunctions: SimCloudFrontFunctionMap;
|
|
44
44
|
readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
|
|
45
45
|
readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
|
|
46
|
+
readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
49
|
* Options carried by any simulated CloudFront request.
|
|
@@ -75,8 +76,11 @@ export declare class SimCloudFrontCommands {
|
|
|
75
76
|
* well as by the Distribution commands, which check one can be associated.
|
|
76
77
|
*/
|
|
77
78
|
readonly edgeFunctions: SimCfEdgeFunctions | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* The CloudFront Function commands, and the Functions they work on.
|
|
81
|
+
*/
|
|
82
|
+
readonly functions: SimCfFunctionCommands;
|
|
78
83
|
private readonly distributionState;
|
|
79
|
-
private readonly functionState;
|
|
80
84
|
private readonly configurationState;
|
|
81
85
|
constructor(properties: SimCloudFrontCommandsProperties);
|
|
82
86
|
/**
|
|
@@ -95,13 +99,5 @@ export declare class SimCloudFrontCommands {
|
|
|
95
99
|
* Handle a Delete Distribution Command from the SDK.
|
|
96
100
|
*/
|
|
97
101
|
deleteDistribution(command: SimDeleteDistributionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDeleteDistributionCommandOutput>;
|
|
98
|
-
/**
|
|
99
|
-
* Handle a Create Function Command from the SDK.
|
|
100
|
-
*/
|
|
101
|
-
createFunction(command: SimCreateFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimCreateFunctionCommandOutput>;
|
|
102
|
-
/**
|
|
103
|
-
* Handle a Delete Function Command from the SDK.
|
|
104
|
-
*/
|
|
105
|
-
deleteFunction(command: SimDeleteFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDeleteFunctionCommandOutput>;
|
|
106
102
|
}
|
|
107
103
|
export {};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { BackgroundTasks, } from "../../util/background/background.js";
|
|
2
2
|
import { simIamGlobalServiceRegion, simIamInRegion, } from "../iam/authorize/sim-iam-region-auth-z.js";
|
|
3
3
|
import { CreateDistributionCommandHandler } from "./command/create-distribution/create-distribution.handler.js";
|
|
4
|
-
import { CreateFunctionCommandHandler, } from "./command/create-function/create-function.handler.js";
|
|
5
4
|
import { DeleteDistributionCommandHandler } from "./command/delete-distribution/delete-distribution.handler.js";
|
|
6
|
-
import { DeleteFunctionCommandHandler } from "./command/delete-function/delete-function.handler.js";
|
|
7
5
|
import { GetDistributionCommandHandler } from "./command/get-distribution/get-distribution.handler.js";
|
|
8
6
|
import { UpdateDistributionCommandHandler } from "./command/update-distribution/update-distribution.handler.js";
|
|
9
7
|
import { emptyCloudFrontS3OriginResolver, } from "./origin/s3/sim-cloudfront-s3-origin.js";
|
|
@@ -13,6 +11,7 @@ import { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-s
|
|
|
13
11
|
import { SimCloudFrontKeyValueStoreRegistry } from "./key-value-store/sim-cf-key-value-store-registry.js";
|
|
14
12
|
import { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
|
|
15
13
|
import { SimCffKeyValueStoreUsers } from "./cff/kvs/sim-cff-key-value-store-users.js";
|
|
14
|
+
import { SimCfFunctionCommands } from "./cff/sim-cf-function-commands.js";
|
|
16
15
|
/**
|
|
17
16
|
* The commands of one simulated CloudFront, and the state they share.
|
|
18
17
|
*
|
|
@@ -37,8 +36,11 @@ export class SimCloudFrontCommands {
|
|
|
37
36
|
* well as by the Distribution commands, which check one can be associated.
|
|
38
37
|
*/
|
|
39
38
|
edgeFunctions;
|
|
39
|
+
/**
|
|
40
|
+
* The CloudFront Function commands, and the Functions they work on.
|
|
41
|
+
*/
|
|
42
|
+
functions;
|
|
40
43
|
distributionState;
|
|
41
|
-
functionState;
|
|
42
44
|
configurationState;
|
|
43
45
|
constructor(properties) {
|
|
44
46
|
const { accountId, distributions, cloudFrontFunctions, cloudFrontRegistry = new SimCloudFrontRegistry(), s3OriginResolver = emptyCloudFrontS3OriginResolver, customOriginDispatcher, acmRegistry, webAclResolver, edgeFunctions, background = new BackgroundTasks(), } = properties;
|
|
@@ -54,13 +56,13 @@ export class SimCloudFrontCommands {
|
|
|
54
56
|
iam,
|
|
55
57
|
background,
|
|
56
58
|
};
|
|
57
|
-
this.
|
|
59
|
+
this.functions = new SimCfFunctionCommands({
|
|
58
60
|
accountId,
|
|
59
61
|
cloudFrontFunctions,
|
|
60
62
|
iam,
|
|
61
63
|
background,
|
|
62
64
|
keyValueStores,
|
|
63
|
-
};
|
|
65
|
+
});
|
|
64
66
|
this.configurationState = {
|
|
65
67
|
s3OriginResolver,
|
|
66
68
|
customOriginDispatcher,
|
|
@@ -69,6 +71,7 @@ export class SimCloudFrontCommands {
|
|
|
69
71
|
edgeFunctions,
|
|
70
72
|
originAccessControls: properties.originAccessControls,
|
|
71
73
|
responseHeadersPolicies: properties.responseHeadersPolicies,
|
|
74
|
+
cachePolicies: properties.cachePolicies,
|
|
72
75
|
};
|
|
73
76
|
const keyValueStoreAccess = new SimCfKeyValueStoreAccess({
|
|
74
77
|
accountId,
|
|
@@ -111,16 +114,4 @@ export class SimCloudFrontCommands {
|
|
|
111
114
|
async deleteDistribution(command, options) {
|
|
112
115
|
return await new DeleteDistributionCommandHandler(this.distributionState).handle(command, options);
|
|
113
116
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Handle a Create Function Command from the SDK.
|
|
116
|
-
*/
|
|
117
|
-
async createFunction(command, options) {
|
|
118
|
-
return await new CreateFunctionCommandHandler(this.functionState).handle(command, options);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Handle a Delete Function Command from the SDK.
|
|
122
|
-
*/
|
|
123
|
-
async deleteFunction(command, options) {
|
|
124
|
-
return await new DeleteFunctionCommandHandler(this.functionState).handle(command, options);
|
|
125
|
-
}
|
|
126
117
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { SimCloudFrontCachePolicy, SimCloudFrontCachePolicyId } from "./cache-policy/sim-cf-cache-policy.js";
|
|
2
|
+
import { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
|
|
3
|
+
import type { SimCloudFrontResponseHeadersPolicy, SimCloudFrontResponseHeadersPolicyId } from "./response-headers-policy/sim-cf-response-headers-policy.js";
|
|
4
|
+
import { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
5
|
+
/**
|
|
6
|
+
* The policies one simulated CloudFront holds.
|
|
7
|
+
*
|
|
8
|
+
* A cache Behavior names a response headers policy and a cache policy by ID,
|
|
9
|
+
* and both are stored here. Neither has a create command in this simulation,
|
|
10
|
+
* so CloudFormation is the only thing that makes one, and these methods are
|
|
11
|
+
* how it hands a policy over. `SimCloudFront` extends this, and a caller
|
|
12
|
+
* reaches the policies on the one service object.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimCloudFrontPolicies {
|
|
15
|
+
protected readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
|
|
16
|
+
protected readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
|
|
17
|
+
/**
|
|
18
|
+
* Store a simulated response headers policy. A name another policy already
|
|
19
|
+
* holds is refused, as CloudFront refuses one.
|
|
20
|
+
*/
|
|
21
|
+
addResponseHeadersPolicy(policy: SimCloudFrontResponseHeadersPolicy): void;
|
|
22
|
+
/**
|
|
23
|
+
* Forget a simulated response headers policy.
|
|
24
|
+
*/
|
|
25
|
+
removeResponseHeadersPolicy(policyId: SimCloudFrontResponseHeadersPolicyId): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get a simulated response headers policy by ID.
|
|
28
|
+
*/
|
|
29
|
+
getResponseHeadersPolicyById(policyId: SimCloudFrontResponseHeadersPolicyId | string): SimCloudFrontResponseHeadersPolicy | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Store a simulated cache policy. A name another policy already holds is
|
|
32
|
+
* refused, as CloudFront refuses one.
|
|
33
|
+
*/
|
|
34
|
+
addCachePolicy(policy: SimCloudFrontCachePolicy): void;
|
|
35
|
+
/**
|
|
36
|
+
* Forget a simulated cache policy.
|
|
37
|
+
*/
|
|
38
|
+
removeCachePolicy(policyId: SimCloudFrontCachePolicyId): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get a simulated cache policy by ID.
|
|
41
|
+
*/
|
|
42
|
+
getCachePolicyById(policyId: SimCloudFrontCachePolicyId | string): SimCloudFrontCachePolicy | undefined;
|
|
43
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
|
|
2
|
+
import { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
3
|
+
/**
|
|
4
|
+
* The policies one simulated CloudFront holds.
|
|
5
|
+
*
|
|
6
|
+
* A cache Behavior names a response headers policy and a cache policy by ID,
|
|
7
|
+
* and both are stored here. Neither has a create command in this simulation,
|
|
8
|
+
* so CloudFormation is the only thing that makes one, and these methods are
|
|
9
|
+
* how it hands a policy over. `SimCloudFront` extends this, and a caller
|
|
10
|
+
* reaches the policies on the one service object.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCloudFrontPolicies {
|
|
13
|
+
responseHeadersPolicies = new SimCloudFrontResponseHeadersPolicyRegistry();
|
|
14
|
+
cachePolicies = new SimCloudFrontCachePolicyRegistry();
|
|
15
|
+
/**
|
|
16
|
+
* Store a simulated response headers policy. A name another policy already
|
|
17
|
+
* holds is refused, as CloudFront refuses one.
|
|
18
|
+
*/
|
|
19
|
+
addResponseHeadersPolicy(policy) {
|
|
20
|
+
this.responseHeadersPolicies.add(policy);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Forget a simulated response headers policy.
|
|
24
|
+
*/
|
|
25
|
+
removeResponseHeadersPolicy(policyId) {
|
|
26
|
+
this.responseHeadersPolicies.remove(policyId);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get a simulated response headers policy by ID.
|
|
30
|
+
*/
|
|
31
|
+
getResponseHeadersPolicyById(policyId) {
|
|
32
|
+
return this.responseHeadersPolicies.byId(policyId);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Store a simulated cache policy. A name another policy already holds is
|
|
36
|
+
* refused, as CloudFront refuses one.
|
|
37
|
+
*/
|
|
38
|
+
addCachePolicy(policy) {
|
|
39
|
+
this.cachePolicies.add(policy);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Forget a simulated cache policy.
|
|
43
|
+
*/
|
|
44
|
+
removeCachePolicy(policyId) {
|
|
45
|
+
this.cachePolicies.remove(policyId);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get a simulated cache policy by ID.
|
|
49
|
+
*/
|
|
50
|
+
getCachePolicyById(policyId) {
|
|
51
|
+
return this.cachePolicies.byId(policyId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -6,10 +6,11 @@ import type { SimCreateDistributionCommand, SimCreateDistributionCommandOutput }
|
|
|
6
6
|
import type { SimCreateFunctionCommand, SimCreateFunctionCommandOutput } from "./command/create-function/create-function.command.js";
|
|
7
7
|
import type { SimDeleteDistributionCommand, SimDeleteDistributionCommandOutput } from "./command/delete-distribution/delete-distribution.command.js";
|
|
8
8
|
import type { SimDeleteFunctionCommand, SimDeleteFunctionCommandOutput } from "./command/delete-function/delete-function.command.js";
|
|
9
|
+
import type { SimDescribeFunctionCommand, SimDescribeFunctionCommandOutput, SimGetFunctionCommand, SimGetFunctionCommandOutput, SimListFunctionsCommand, SimListFunctionsCommandOutput } from "./command/function/sim-cf-function-command.types.js";
|
|
9
10
|
import type { SimGetDistributionCommand, SimGetDistributionCommandOutput } from "./command/get-distribution/get-distribution.command.js";
|
|
10
11
|
import type { SimUpdateDistributionCommand, SimUpdateDistributionCommandOutput } from "./command/update-distribution/update-distribution.command.js";
|
|
11
12
|
import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "./distribution/sim-cloudfront-distribution.js";
|
|
12
|
-
import
|
|
13
|
+
import { SimCloudFrontPolicies } from "./sim-cloudfront-policies.js";
|
|
13
14
|
import type { SimCloudFrontOriginAccessControl, SimCloudFrontOriginAccessControlId } from "./origin-access-control/sim-cf-origin-access-control.js";
|
|
14
15
|
import type { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-store-commands.js";
|
|
15
16
|
import type { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
|
|
@@ -18,10 +19,9 @@ export type { SimCloudFrontProperties, SimCloudFrontRequestOptions, } from "./si
|
|
|
18
19
|
/**
|
|
19
20
|
* Simulated CloudFront. Handles SDK commands. Emulates AWS behaviour and state.
|
|
20
21
|
*/
|
|
21
|
-
export declare class SimCloudFront {
|
|
22
|
+
export declare class SimCloudFront extends SimCloudFrontPolicies {
|
|
22
23
|
private readonly distributions;
|
|
23
24
|
private readonly cloudFrontFunctions;
|
|
24
|
-
private readonly responseHeadersPolicies;
|
|
25
25
|
private readonly originAccessControls;
|
|
26
26
|
private readonly accountRegionScope;
|
|
27
27
|
private readonly commands;
|
|
@@ -72,29 +72,25 @@ export declare class SimCloudFront {
|
|
|
72
72
|
*/
|
|
73
73
|
deleteFunction(command: SimDeleteFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDeleteFunctionCommandOutput>;
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* Handle a List Functions Command from the SDK.
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
listFunctions(command: SimListFunctionsCommand, options?: SimCloudFrontRequestOptions): Promise<SimListFunctionsCommandOutput>;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Handle a Describe Function Command from the SDK.
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
describeFunction(command: SimDescribeFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDescribeFunctionCommandOutput>;
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
* There is no CreateResponseHeadersPolicy command here, so CloudFormation is
|
|
86
|
-
* the only thing that makes one, and this is how it hands the policy over.
|
|
87
|
-
* A name another policy already holds is refused, as CloudFront refuses one.
|
|
83
|
+
* Handle a Get Function Command from the SDK.
|
|
88
84
|
*/
|
|
89
|
-
|
|
85
|
+
getFunction(command: SimGetFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimGetFunctionCommandOutput>;
|
|
90
86
|
/**
|
|
91
|
-
*
|
|
87
|
+
* Get a sim CloudFront Function by ARN.
|
|
92
88
|
*/
|
|
93
|
-
|
|
89
|
+
getCloudFrontFunctionByArn(cloudFrontFunctionArn: SimArn): SimCloudFrontFunction | undefined;
|
|
94
90
|
/**
|
|
95
|
-
* Get a
|
|
91
|
+
* Get a sim CloudFront Function by name.
|
|
96
92
|
*/
|
|
97
|
-
|
|
93
|
+
getCloudFrontFunctionByName(cloudFrontFunctionName: SimCloudFrontFunctionName | string): SimCloudFrontFunction | undefined;
|
|
98
94
|
/**
|
|
99
95
|
* Store a simulated origin access control.
|
|
100
96
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
|
|
2
2
|
import { SimCloudFrontCloudFormationResourceFactory } from "./cfn/sim-cfn-cloudfront-resource-factory.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SimCloudFrontPolicies } from "./sim-cloudfront-policies.js";
|
|
4
4
|
import { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
|
|
5
5
|
import { simCffNameInArn } from "./cff/sim-cff-arn.js";
|
|
6
6
|
import { SimCloudFrontSdkCommandRouter } from "./sdk/sim-cloudfront-sdk-command-router.js";
|
|
@@ -8,16 +8,16 @@ import { SimCloudFrontCommands, } from "./sim-cloudfront-commands.js";
|
|
|
8
8
|
/**
|
|
9
9
|
* Simulated CloudFront. Handles SDK commands. Emulates AWS behaviour and state.
|
|
10
10
|
*/
|
|
11
|
-
export class SimCloudFront {
|
|
11
|
+
export class SimCloudFront extends SimCloudFrontPolicies {
|
|
12
12
|
distributions = new Map();
|
|
13
13
|
cloudFrontFunctions = new Map();
|
|
14
|
-
responseHeadersPolicies = new SimCloudFrontResponseHeadersPolicyRegistry();
|
|
15
14
|
originAccessControls = new SimCloudFrontOriginAccessControlRegistry();
|
|
16
15
|
accountRegionScope;
|
|
17
16
|
commands;
|
|
18
17
|
cfnFactory = new SimCloudFrontCloudFormationResourceFactory(this);
|
|
19
18
|
sdkRouter = new SimCloudFrontSdkCommandRouter(this);
|
|
20
19
|
constructor(properties = {}) {
|
|
20
|
+
super();
|
|
21
21
|
this.accountRegionScope =
|
|
22
22
|
properties.accountRegionScope ?? simAwsAccountRegionScopeFactory.make();
|
|
23
23
|
this.commands = new SimCloudFrontCommands({
|
|
@@ -27,6 +27,7 @@ export class SimCloudFront {
|
|
|
27
27
|
cloudFrontFunctions: this.cloudFrontFunctions,
|
|
28
28
|
originAccessControls: this.originAccessControls,
|
|
29
29
|
responseHeadersPolicies: this.responseHeadersPolicies,
|
|
30
|
+
cachePolicies: this.cachePolicies,
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
@@ -84,48 +85,44 @@ export class SimCloudFront {
|
|
|
84
85
|
* Handle a Create Function Command from the SDK.
|
|
85
86
|
*/
|
|
86
87
|
async createFunction(command, options) {
|
|
87
|
-
return await this.commands.createFunction(command, options);
|
|
88
|
+
return await this.commands.functions.createFunction(command, options);
|
|
88
89
|
}
|
|
89
90
|
/**
|
|
90
91
|
* Handle a Delete Function Command from the SDK.
|
|
91
92
|
*/
|
|
92
93
|
async deleteFunction(command, options) {
|
|
93
|
-
return await this.commands.deleteFunction(command, options);
|
|
94
|
+
return await this.commands.functions.deleteFunction(command, options);
|
|
94
95
|
}
|
|
95
96
|
/**
|
|
96
|
-
*
|
|
97
|
+
* Handle a List Functions Command from the SDK.
|
|
97
98
|
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return name === undefined ? undefined : this.cloudFrontFunctions.get(name);
|
|
99
|
+
async listFunctions(command, options) {
|
|
100
|
+
return await this.commands.functions.listFunctions(command, options);
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
|
-
*
|
|
103
|
+
* Handle a Describe Function Command from the SDK.
|
|
104
104
|
*/
|
|
105
|
-
|
|
106
|
-
return this.
|
|
105
|
+
async describeFunction(command, options) {
|
|
106
|
+
return await this.commands.functions.describeFunction(command, options);
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* There is no CreateResponseHeadersPolicy command here, so CloudFormation is
|
|
112
|
-
* the only thing that makes one, and this is how it hands the policy over.
|
|
113
|
-
* A name another policy already holds is refused, as CloudFront refuses one.
|
|
109
|
+
* Handle a Get Function Command from the SDK.
|
|
114
110
|
*/
|
|
115
|
-
|
|
116
|
-
this.
|
|
111
|
+
async getFunction(command, options) {
|
|
112
|
+
return await this.commands.functions.getFunction(command, options);
|
|
117
113
|
}
|
|
118
114
|
/**
|
|
119
|
-
*
|
|
115
|
+
* Get a sim CloudFront Function by ARN.
|
|
120
116
|
*/
|
|
121
|
-
|
|
122
|
-
this.
|
|
117
|
+
getCloudFrontFunctionByArn(cloudFrontFunctionArn) {
|
|
118
|
+
const name = simCffNameInArn(cloudFrontFunctionArn, this.accountRegionScope.accountId);
|
|
119
|
+
return name === undefined ? undefined : this.cloudFrontFunctions.get(name);
|
|
123
120
|
}
|
|
124
121
|
/**
|
|
125
|
-
* Get a
|
|
122
|
+
* Get a sim CloudFront Function by name.
|
|
126
123
|
*/
|
|
127
|
-
|
|
128
|
-
return this.
|
|
124
|
+
getCloudFrontFunctionByName(cloudFrontFunctionName) {
|
|
125
|
+
return this.cloudFrontFunctions.get(cloudFrontFunctionName);
|
|
129
126
|
}
|
|
130
127
|
/**
|
|
131
128
|
* Store a simulated origin access control.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
|
|
3
|
+
import type { SimIamInterServiceAuthZ } from "../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import type { SimEcrRepositoryAddress } from "../repository/sim-ecr-repository-address.js";
|
|
5
|
+
interface SimEcrAuthorizerProperties {
|
|
6
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
7
|
+
readonly address: SimEcrRepositoryAddress;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Applies simulated IAM authorization to ECR requests.
|
|
11
|
+
*
|
|
12
|
+
* Registering a simulated image is not one of them. That is a Yulin-native
|
|
13
|
+
* operation on the simulator's own accessor, and it is how a test says what an
|
|
14
|
+
* image is. A CloudFormation deployment is what authorizes here. It makes and
|
|
15
|
+
* removes a repository as the caller its Stack named.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimEcrAuthorizer {
|
|
18
|
+
private readonly iam;
|
|
19
|
+
private readonly address;
|
|
20
|
+
constructor(properties: SimEcrAuthorizerProperties);
|
|
21
|
+
/**
|
|
22
|
+
* Ensure the caller may perform an action on a repository of this name.
|
|
23
|
+
*
|
|
24
|
+
* The repository need not be there. Real IAM evaluates a request before the
|
|
25
|
+
* service handles it, so a caller with no permission is refused whether or
|
|
26
|
+
* not the repository is there, and `CreateRepository` authorizes against the
|
|
27
|
+
* ARN the repository is about to have.
|
|
28
|
+
*/
|
|
29
|
+
authorizeRepository(action: string, repositoryName: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Applies simulated IAM authorization to ECR requests.
|
|
4
|
+
*
|
|
5
|
+
* Registering a simulated image is not one of them. That is a Yulin-native
|
|
6
|
+
* operation on the simulator's own accessor, and it is how a test says what an
|
|
7
|
+
* image is. A CloudFormation deployment is what authorizes here. It makes and
|
|
8
|
+
* removes a repository as the caller its Stack named.
|
|
9
|
+
*/
|
|
10
|
+
export class SimEcrAuthorizer {
|
|
11
|
+
iam;
|
|
12
|
+
address;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.iam = properties.iam;
|
|
15
|
+
this.address = properties.address;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Ensure the caller may perform an action on a repository of this name.
|
|
19
|
+
*
|
|
20
|
+
* The repository need not be there. Real IAM evaluates a request before the
|
|
21
|
+
* service handles it, so a caller with no permission is refused whether or
|
|
22
|
+
* not the repository is there, and `CreateRepository` authorizes against the
|
|
23
|
+
* ARN the repository is about to have.
|
|
24
|
+
*/
|
|
25
|
+
authorizeRepository(action, repositoryName, caller) {
|
|
26
|
+
const resource = this.address.arn(repositoryName);
|
|
27
|
+
const decision = this.iam.authorize({ action, resource, caller });
|
|
28
|
+
if (decision.isDenied) {
|
|
29
|
+
throw new SimIamAccessDenied({
|
|
30
|
+
principal: decision.caller.principal,
|
|
31
|
+
reason: decision.denialReason,
|
|
32
|
+
action,
|
|
33
|
+
resource,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return decision.caller;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
1
2
|
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
3
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
4
|
+
import type { SimEcrAuthorizer } from "../../authorize/sim-ecr-authorizer.js";
|
|
3
5
|
import type { SimEcrRepository } from "../../repository/sim-ecr-repository.js";
|
|
4
6
|
import type { SimEcr } from "../../sim-ecr.js";
|
|
5
7
|
interface SimCfnEcrRepositoryCreatorProperties {
|
|
6
8
|
readonly ecr: SimEcr;
|
|
9
|
+
readonly authorizer: SimEcrAuthorizer;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
12
|
* Creates simulated repositories from AWS::ECR::Repository Resources.
|
|
@@ -16,11 +19,17 @@ interface SimCfnEcrRepositoryCreatorProperties {
|
|
|
16
19
|
*/
|
|
17
20
|
export declare class SimCfnEcrRepositoryCreator {
|
|
18
21
|
private readonly ecr;
|
|
22
|
+
private readonly authorizer;
|
|
19
23
|
constructor(properties: SimCfnEcrRepositoryCreatorProperties);
|
|
20
24
|
/**
|
|
21
25
|
* Create a repository from an AWS::ECR::Repository Resource.
|
|
26
|
+
*
|
|
27
|
+
* Naming the repository is what makes it. That is where the deployment's
|
|
28
|
+
* caller is authorized, as it is on a real deploy before ECR answers. A
|
|
29
|
+
* repository a test has already registered a handler in is adopted, and the
|
|
30
|
+
* caller is authorized for it either way.
|
|
22
31
|
*/
|
|
23
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): SimEcrRepository;
|
|
32
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): SimEcrRepository;
|
|
24
33
|
/**
|
|
25
34
|
* Delete a repository created from an AWS::ECR::Repository Resource.
|
|
26
35
|
*
|
|
@@ -37,6 +46,6 @@ export declare class SimCfnEcrRepositoryCreator {
|
|
|
37
46
|
* being protected here is a test's own registration rather than anything
|
|
38
47
|
* CloudFormation put there.
|
|
39
48
|
*/
|
|
40
|
-
delete(resource: SimCfnResource, repository: SimEcrRepository): void;
|
|
49
|
+
delete(resource: SimCfnResource, repository: SimEcrRepository, options?: SimCfnResourceCallerOptions): void;
|
|
41
50
|
}
|
|
42
51
|
export {};
|
|
@@ -10,19 +10,27 @@ import { SimCfnEcrRepositoryProperties } from "./sim-cfn-ecr-repository-properti
|
|
|
10
10
|
*/
|
|
11
11
|
export class SimCfnEcrRepositoryCreator {
|
|
12
12
|
ecr;
|
|
13
|
+
authorizer;
|
|
13
14
|
constructor(properties) {
|
|
14
15
|
this.ecr = properties.ecr;
|
|
16
|
+
this.authorizer = properties.authorizer;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Create a repository from an AWS::ECR::Repository Resource.
|
|
20
|
+
*
|
|
21
|
+
* Naming the repository is what makes it. That is where the deployment's
|
|
22
|
+
* caller is authorized, as it is on a real deploy before ECR answers. A
|
|
23
|
+
* repository a test has already registered a handler in is adopted, and the
|
|
24
|
+
* caller is authorized for it either way.
|
|
18
25
|
*/
|
|
19
|
-
create(resource, properties) {
|
|
26
|
+
create(resource, properties, options) {
|
|
20
27
|
const repositoryProperties = new SimCfnEcrRepositoryProperties({
|
|
21
28
|
resource,
|
|
22
29
|
properties,
|
|
23
30
|
});
|
|
24
31
|
const repositoryName = repositoryProperties.repositoryName();
|
|
25
32
|
repositoryProperties.recordIgnoredProperties();
|
|
33
|
+
this.authorizer.authorizeRepository("ecr:CreateRepository", repositoryName, options?.caller);
|
|
26
34
|
return this.ecr.repository(repositoryName);
|
|
27
35
|
}
|
|
28
36
|
/**
|
|
@@ -41,7 +49,8 @@ export class SimCfnEcrRepositoryCreator {
|
|
|
41
49
|
* being protected here is a test's own registration rather than anything
|
|
42
50
|
* CloudFormation put there.
|
|
43
51
|
*/
|
|
44
|
-
delete(resource, repository) {
|
|
52
|
+
delete(resource, repository, options) {
|
|
53
|
+
this.authorizer.authorizeRepository("ecr:DeleteRepository", repository.repositoryName, options?.caller);
|
|
45
54
|
if (repository.hasImage) {
|
|
46
55
|
throw new Error(`Unsupported sim ECR CloudFormation Resource ${resource.logicalId} ` +
|
|
47
56
|
`deletion: the simulated ECR repository ` +
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
|
|
2
|
-
import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnResource, SimCloudFormationResourceCreateContext, SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.js";
|
|
3
|
+
import type { SimEcrAuthorizer } from "../authorize/sim-ecr-authorizer.js";
|
|
3
4
|
import type { SimEcr } from "../sim-ecr.js";
|
|
4
5
|
interface SimEcrCfnResourceFactoryProperties {
|
|
5
6
|
readonly ecr: SimEcr;
|
|
7
|
+
readonly authorizer: SimEcrAuthorizer;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* CloudFormation Resource factory for simulated ECR resources.
|
|
@@ -21,6 +23,6 @@ export declare class SimEcrCfnResourceFactory implements SimCfnServiceResourceFa
|
|
|
21
23
|
/**
|
|
22
24
|
* Delete a simulated ECR resource created from a CloudFormation Resource.
|
|
23
25
|
*/
|
|
24
|
-
delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
|
|
26
|
+
delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
|
|
25
27
|
}
|
|
26
28
|
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
2
3
|
import { SimCfnEcrRepositoryCreator } from "./repository/sim-cfn-ecr-repository-creator.js";
|
|
4
|
+
import { unsupportedSimEcrResourceType } from "./sim-ecr-cfn-unsupported-resource.js";
|
|
3
5
|
/**
|
|
4
6
|
* CloudFormation Resource factory for simulated ECR resources.
|
|
5
7
|
*
|
|
@@ -10,30 +12,27 @@ import { SimCfnEcrRepositoryCreator } from "./repository/sim-cfn-ecr-repository-
|
|
|
10
12
|
export class SimEcrCfnResourceFactory {
|
|
11
13
|
repositoryCreator;
|
|
12
14
|
constructor(properties) {
|
|
13
|
-
this.repositoryCreator = new SimCfnEcrRepositoryCreator(
|
|
14
|
-
ecr: properties.ecr,
|
|
15
|
-
});
|
|
15
|
+
this.repositoryCreator = new SimCfnEcrRepositoryCreator(properties);
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Create a simulated ECR resource from a CloudFormation Resource.
|
|
19
19
|
*/
|
|
20
20
|
create(resourceTypeName, resource, context) {
|
|
21
21
|
if (resourceTypeName !== "Repository") {
|
|
22
|
-
throw
|
|
22
|
+
throw unsupportedSimEcrResourceType(resourceTypeName, "");
|
|
23
23
|
}
|
|
24
|
-
return Promise.resolve(this.repositoryCreator.create(resource, context.resolvedProperties ?? resource.properties));
|
|
24
|
+
return Promise.resolve(this.repositoryCreator.create(resource, context.resolvedProperties ?? resource.properties, simCfnResourceCallerOptions(context.caller)));
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Delete a simulated ECR resource created from a CloudFormation Resource.
|
|
28
28
|
*/
|
|
29
|
-
delete(resourceTypeName, resource) {
|
|
29
|
+
delete(resourceTypeName, resource, context) {
|
|
30
30
|
if (resourceTypeName !== "Repository") {
|
|
31
|
-
throw
|
|
32
|
-
`deletion`);
|
|
31
|
+
throw unsupportedSimEcrResourceType(resourceTypeName, " deletion");
|
|
33
32
|
}
|
|
34
33
|
const repository = resource.simResource;
|
|
35
34
|
assertDefined(repository, `sim ECR repository for CloudFormation Resource ${resource.logicalId}`);
|
|
36
|
-
this.repositoryCreator.delete(resource, repository);
|
|
35
|
+
this.repositoryCreator.delete(resource, repository, simCfnResourceCallerOptions(context.caller));
|
|
37
36
|
return Promise.resolve();
|
|
38
37
|
}
|
|
39
38
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal naming an ECR Resource type this simulation has no creator for.
|
|
3
|
+
*
|
|
4
|
+
* The wording is what a Stack reads to record the Resource as a skip rather
|
|
5
|
+
* than failing the whole deployment over it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function unsupportedSimEcrResourceType(resourceTypeName: string, suffix: string): Error;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal naming an ECR Resource type this simulation has no creator for.
|
|
3
|
+
*
|
|
4
|
+
* The wording is what a Stack reads to record the Resource as a skip rather
|
|
5
|
+
* than failing the whole deployment over it.
|
|
6
|
+
*/
|
|
7
|
+
export function unsupportedSimEcrResourceType(resourceTypeName, suffix) {
|
|
8
|
+
return new Error(`Unsupported sim ECR CloudFormation Resource ${resourceTypeName}${suffix}`);
|
|
9
|
+
}
|