@kensio/yulin 1.20.13 → 1.20.15
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/config/oxlint/cffjs2.oxlintrc.json → cffjs2.oxlintrc.json} +1 -1
- package/dist/config/oxlint/cffjs2.oxlint.config.js +4 -3
- package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
- package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
- package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
- package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
- package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
- package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
- package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
- package/dist/service/acm/sim-acm.d.ts +1 -1
- package/dist/service/acm/sim-acm.js +3 -2
- package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
- package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
- package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
- package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
- package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
- package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
- package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
- package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
- package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
- package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
- package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
- package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
- package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
- package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
- package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
- package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
- package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
- package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
- package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
- package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
- package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
- package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
- package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
- package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
- package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
- package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
- package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
- package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
- package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
- package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
- package/dist/service/athena/engine/sim-athena-shims.js +2 -0
- package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
- package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
- package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
- package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
- package/dist/service/athena/sim-athena-executions.d.ts +1 -1
- package/dist/service/athena/sim-athena-executions.js +3 -2
- package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
- package/dist/service/bedrock/sim-bedrock.js +3 -2
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
- 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/command/update-stack/update-stack.handler.d.ts +7 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -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 +9 -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 +10 -3
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
- package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
- package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
- package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +11 -4
- package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +21 -8
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +21 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
- package/dist/service/cloudformation/sim-cloudformation.js +3 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
- 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 +17 -2
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +2 -0
- package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +2 -2
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts +10 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +4 -3
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts +11 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js +21 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +24 -2
- package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +50 -11
- package/dist/service/cloudformation/template/dynamic/sim-cfn-prefetched-dynamic-references.d.ts +42 -0
- package/dist/service/cloudformation/template/dynamic/sim-cfn-prefetched-dynamic-references.js +80 -0
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
- package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
- package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
- package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
- package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
- package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
- package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
- package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
- package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
- package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
- package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
- package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
- package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
- package/dist/service/dynamodb/sim-dynamodb.js +3 -2
- package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
- package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
- package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
- package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
- package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
- package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
- package/dist/service/ecs/sim-ecs-commands.js +3 -2
- package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
- package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
- package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
- package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
- package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
- package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
- package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
- package/dist/service/elbv2/sim-elbv2.js +3 -3
- package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
- package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
- package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
- package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
- package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
- package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
- package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-failures.d.ts +16 -0
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-failures.js +19 -0
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
- package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
- package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
- package/dist/service/eventbridge/sim-event-bridge.js +3 -2
- package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
- package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
- package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
- package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
- package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
- package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
- package/dist/service/firehose/sim-firehose.d.ts +1 -1
- package/dist/service/firehose/sim-firehose.js +3 -2
- package/dist/service/glue/sim-glue.d.ts +1 -1
- package/dist/service/glue/sim-glue.js +3 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +15 -11
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +5 -18
- package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
- package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
- package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
- package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
- package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +12 -0
- package/dist/service/iam/authorize/sim-iam-decision.js +14 -0
- package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
- package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
- package/dist/service/iam/command/policy/create-policy/create-policy-input-resolver.js +4 -1
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +5 -1
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +5 -1
- package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
- package/dist/service/iam/policy/parse/sim-iam-document-parser.d.ts +4 -1
- package/dist/service/iam/policy/parse/sim-iam-document-parser.js +13 -15
- package/dist/service/iam/policy/sim-iam-statement-label.d.ts +28 -0
- package/dist/service/iam/policy/sim-iam-statement-label.js +17 -0
- package/dist/service/iam/policy/sim-iam-statement-strings.d.ts +11 -0
- package/dist/service/iam/policy/sim-iam-statement-strings.js +27 -0
- package/dist/service/iam/validate/sim-iam-policy-document-validator.d.ts +9 -2
- package/dist/service/iam/validate/sim-iam-policy-document-validator.js +37 -19
- package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
- package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
- package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
- package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
- package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
- package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
- package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
- package/dist/service/kinesis/sim-kinesis.js +3 -2
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
- package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
- package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
- package/dist/service/kms/sim-kms-commands.d.ts +1 -1
- package/dist/service/kms/sim-kms-commands.js +3 -2
- package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
- package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-function.factory.d.ts +7 -0
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-function.factory.js +1 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-lambda-provided-sdk-module.d.ts +19 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-lambda-provided-sdk-module.js +78 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-lambda-sdk-packages-not-installed.error.d.ts +15 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-lambda-sdk-packages-not-installed.error.js +27 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-lambda-vm-sdk-module-provider.d.ts +9 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.d.ts +10 -0
- package/dist/service/lambda/function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.js +28 -34
- package/dist/service/lambda/function/code/vm/sim-lambda-host-modules.d.ts +15 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-host-modules.js +31 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-module-resolver.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-module-resolver.js +15 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-modules.js +5 -4
- package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
- package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
- package/dist/service/lambda/sim-lambda-commands.js +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
- package/dist/service/logs/sim-logs-commands.d.ts +1 -1
- package/dist/service/logs/sim-logs-commands.js +3 -2
- package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
- package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
- package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
- package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
- package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
- package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
- package/dist/service/rekognition/sim-rekognition.js +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
- package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
- package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
- package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
- package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
- package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.js +5 -2
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
- package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
- package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +4 -1
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
- package/dist/service/s3/sim-s3-commands.d.ts +1 -1
- package/dist/service/s3/sim-s3-commands.js +3 -2
- package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
- package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
- package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
- package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
- package/dist/service/scheduler/command/group/group.command.js +1 -0
- package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
- package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
- package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
- package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
- package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
- package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
- 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 +16 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
- package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
- package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
- package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-failures.d.ts +16 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-failures.js +19 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
- package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
- package/dist/service/scheduler/index.d.ts +3 -1
- package/dist/service/scheduler/index.js +3 -1
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
- package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
- package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
- package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
- package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
- package/dist/service/scheduler/sim-scheduler.js +38 -2
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts +13 -15
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js +22 -43
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-stand-in.d.ts +9 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-stand-in.js +14 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-value.d.ts +12 -0
- package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-value.js +29 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
- package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
- package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
- package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
- package/dist/service/ses/sim-ses-commands.d.ts +1 -1
- package/dist/service/ses/sim-ses-commands.js +3 -2
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
- package/dist/service/sns/sim-sns.d.ts +1 -1
- package/dist/service/sns/sim-sns.js +3 -2
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
- package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
- package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
- package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
- package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
- package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
- package/dist/service/sqs/sim-sqs.d.ts +1 -1
- package/dist/service/sqs/sim-sqs.js +3 -2
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +22 -6
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +39 -24
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts +10 -5
- package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js +10 -8
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
- package/dist/service/ssm/sim-ssm.d.ts +11 -3
- package/dist/service/ssm/sim-ssm.js +15 -6
- package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
- package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
- package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
- package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
- package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
- package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
- package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
- package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
- package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
- package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
- 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 +2 -1
- package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
- package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
- package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
- package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
- package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
- package/dist/service/sts/service-role/sim-service-role.js +7 -21
- package/dist/service/sts/sim-sts.js +1 -0
- package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
- package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
- package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
- package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
- package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
- package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
- package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
- package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
- package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
- package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
- package/dist/util/clock/sim-clock-control.d.ts +3 -1
- package/dist/util/clock/sim-clock-control.js +2 -0
- package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
- package/dist/util/clock/sim-controllable-clock.js +2 -0
- package/dist/util/clock/sim-duration.d.ts +6 -2
- package/dist/util/clock/sim-duration.js +8 -1
- package/package.json +4 -3
|
@@ -4,6 +4,7 @@ import type { SimIamConditionOperator } from "../../sim-iam-condition-operator.j
|
|
|
4
4
|
* Base for `ForAnyValue` IAM string operators.
|
|
5
5
|
*/
|
|
6
6
|
export declare abstract class SimIamForAnyValueStringConditionOperator implements SimIamConditionOperator {
|
|
7
|
+
readonly matchesAbsentKey = false;
|
|
7
8
|
/**
|
|
8
9
|
* Check whether a given value matches the expected value.
|
|
9
10
|
*/
|
|
@@ -3,6 +3,7 @@ import { simIamStringValues } from "../sim-iam-string-values.js";
|
|
|
3
3
|
* Base for `ForAnyValue` IAM string operators.
|
|
4
4
|
*/
|
|
5
5
|
export class SimIamForAnyValueStringConditionOperator {
|
|
6
|
+
matchesAbsentKey = false;
|
|
6
7
|
/**
|
|
7
8
|
* Check whether a given value matches the expected value.
|
|
8
9
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { simIamStringEqualsComparison } from "../../sim-iam-string-comparison.js";
|
|
1
2
|
import { SimIamForAnyValueStringConditionOperator } from "./sim-iam-for-any-value-string-condition-operator.js";
|
|
2
3
|
/**
|
|
3
4
|
* IAM `ForAnyValue:StringEquals` condition operator.
|
|
4
5
|
*/
|
|
5
6
|
export class SimIamForAnyValueStringEquals extends SimIamForAnyValueStringConditionOperator {
|
|
6
7
|
valueMatches(actual, expected) {
|
|
7
|
-
return actual
|
|
8
|
+
return simIamStringEqualsComparison(actual, expected);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simIamStringLikeComparison } from "../../sim-iam-string-comparison.js";
|
|
2
2
|
import { SimIamForAnyValueStringConditionOperator } from "./sim-iam-for-any-value-string-condition-operator.js";
|
|
3
3
|
/**
|
|
4
4
|
* IAM `ForAnyValue:StringLike` condition operator.
|
|
5
5
|
*/
|
|
6
6
|
export class SimIamForAnyValueStringLike extends SimIamForAnyValueStringConditionOperator {
|
|
7
7
|
valueMatches(actual, expected) {
|
|
8
|
-
return
|
|
9
|
-
caseSensitive: true,
|
|
10
|
-
});
|
|
8
|
+
return simIamStringLikeComparison(actual, expected);
|
|
11
9
|
}
|
|
12
10
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { simIamStringEqualsComparison } from "../../sim-iam-string-comparison.js";
|
|
1
2
|
import { SimIamScalarStringConditionOperator } from "../sim-iam-scalar-string-condition-operator.js";
|
|
2
3
|
/**
|
|
3
4
|
* IAM `StringEquals` condition operator.
|
|
4
5
|
*/
|
|
5
6
|
export class SimIamStringEquals extends SimIamScalarStringConditionOperator {
|
|
6
7
|
valueMatches(actual, expected) {
|
|
7
|
-
return actual
|
|
8
|
+
return simIamStringEqualsComparison(actual, expected);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simIamStringLikeComparison } from "../../sim-iam-string-comparison.js";
|
|
2
2
|
import { SimIamScalarStringConditionOperator } from "../sim-iam-scalar-string-condition-operator.js";
|
|
3
3
|
/**
|
|
4
4
|
* IAM `StringLike` condition operator.
|
|
5
5
|
*/
|
|
6
6
|
export class SimIamStringLike extends SimIamScalarStringConditionOperator {
|
|
7
7
|
valueMatches(actual, expected) {
|
|
8
|
-
return
|
|
9
|
-
caseSensitive: true,
|
|
10
|
-
});
|
|
8
|
+
return simIamStringLikeComparison(actual, expected);
|
|
11
9
|
}
|
|
12
10
|
}
|
|
@@ -7,6 +7,7 @@ import type { SimIamConditionOperator } from "../sim-iam-condition-operator.js";
|
|
|
7
7
|
* scalar or an array, with multiple policy values using OR semantics.
|
|
8
8
|
*/
|
|
9
9
|
export declare abstract class SimIamScalarStringConditionOperator implements SimIamConditionOperator {
|
|
10
|
+
readonly matchesAbsentKey = false;
|
|
10
11
|
/**
|
|
11
12
|
* Check whether a given value matches the expected value.
|
|
12
13
|
*/
|
|
@@ -6,6 +6,7 @@ import { simIamStringValues } from "./sim-iam-string-values.js";
|
|
|
6
6
|
* scalar or an array, with multiple policy values using OR semantics.
|
|
7
7
|
*/
|
|
8
8
|
export class SimIamScalarStringConditionOperator {
|
|
9
|
+
matchesAbsentKey = false;
|
|
9
10
|
/**
|
|
10
11
|
* Check whether a given value matches the expected value.
|
|
11
12
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SimIamAuthZContext, SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
|
|
2
2
|
import type { SimIamParsedPolicyStatement } from "../../policy/parse/sim-iam-document-parser.js";
|
|
3
|
-
import
|
|
3
|
+
import { SimIamPrincipalMatch } from "./sim-iam-principal-match.js";
|
|
4
|
+
import { SimIamUnevaluatedStatements } from "../unevaluated/sim-iam-unevaluated-statements.js";
|
|
4
5
|
/**
|
|
5
6
|
* Matches one parsed IAM policy statement against one authorization request.
|
|
6
7
|
*
|
|
@@ -18,12 +19,23 @@ import type { SimIamPrincipalMatch } from "./sim-iam-principal-match.js";
|
|
|
18
19
|
* - Action and NotAction;
|
|
19
20
|
* - Resource and NotResource;
|
|
20
21
|
* - supported IAM string conditions.
|
|
22
|
+
*
|
|
23
|
+
* One matcher reads every policy of one request, and it is also where the
|
|
24
|
+
* statements the simulator could not evaluate are collected. A statement is
|
|
25
|
+
* recorded only once everything else about it has matched. Each entry is a
|
|
26
|
+
* statement that would have applied to this request had its condition been
|
|
27
|
+
* readable.
|
|
21
28
|
*/
|
|
22
29
|
export declare class SimIamPolicyStatementMatcher {
|
|
23
30
|
private readonly context;
|
|
24
31
|
private readonly conditionMatcher;
|
|
25
32
|
private readonly principalMatcher;
|
|
33
|
+
private readonly unevaluated;
|
|
26
34
|
constructor(context: SimIamAuthZContext);
|
|
35
|
+
/**
|
|
36
|
+
* The statements read so far that the simulator could not evaluate.
|
|
37
|
+
*/
|
|
38
|
+
get unevaluatedStatements(): SimIamUnevaluatedStatements;
|
|
27
39
|
/**
|
|
28
40
|
* Check whether a parsed statement applies to the current request.
|
|
29
41
|
*
|
|
@@ -32,6 +44,11 @@ export declare class SimIamPolicyStatementMatcher {
|
|
|
32
44
|
* statement.
|
|
33
45
|
*/
|
|
34
46
|
matches(policy: SimIamAuthZPolicySource, statement: SimIamParsedPolicyStatement): SimIamPrincipalMatch;
|
|
47
|
+
/**
|
|
48
|
+
* Check the statement's condition block, recording it as unevaluated where
|
|
49
|
+
* an operator stopped the simulator reading it.
|
|
50
|
+
*/
|
|
51
|
+
private conditionMatches;
|
|
35
52
|
/**
|
|
36
53
|
* Check Action or NotAction against the requested IAM action.
|
|
37
54
|
*
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { simIamWildcardMatch } from "../sim-iam-wildcard.js";
|
|
2
2
|
import { SimIamPolicyConditionMatcher } from "./condition/sim-iam-policy-condition-matcher.js";
|
|
3
3
|
import { SimIamPolicyPrincipalMatcher } from "./sim-iam-policy-principal-matcher.js";
|
|
4
|
+
import { SimIamPrincipalMatch } from "./sim-iam-principal-match.js";
|
|
5
|
+
import { SimIamUnevaluatedStatements } from "../unevaluated/sim-iam-unevaluated-statements.js";
|
|
4
6
|
/**
|
|
5
7
|
* Matches one parsed IAM policy statement against one authorization request.
|
|
6
8
|
*
|
|
@@ -18,16 +20,29 @@ import { SimIamPolicyPrincipalMatcher } from "./sim-iam-policy-principal-matcher
|
|
|
18
20
|
* - Action and NotAction;
|
|
19
21
|
* - Resource and NotResource;
|
|
20
22
|
* - supported IAM string conditions.
|
|
23
|
+
*
|
|
24
|
+
* One matcher reads every policy of one request, and it is also where the
|
|
25
|
+
* statements the simulator could not evaluate are collected. A statement is
|
|
26
|
+
* recorded only once everything else about it has matched. Each entry is a
|
|
27
|
+
* statement that would have applied to this request had its condition been
|
|
28
|
+
* readable.
|
|
21
29
|
*/
|
|
22
30
|
export class SimIamPolicyStatementMatcher {
|
|
23
31
|
context;
|
|
24
32
|
conditionMatcher;
|
|
25
33
|
principalMatcher;
|
|
34
|
+
unevaluated = new SimIamUnevaluatedStatements();
|
|
26
35
|
constructor(context) {
|
|
27
36
|
this.context = context;
|
|
28
37
|
this.conditionMatcher = new SimIamPolicyConditionMatcher(context.conditionContext);
|
|
29
38
|
this.principalMatcher = new SimIamPolicyPrincipalMatcher(context);
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* The statements read so far that the simulator could not evaluate.
|
|
42
|
+
*/
|
|
43
|
+
get unevaluatedStatements() {
|
|
44
|
+
return this.unevaluated;
|
|
45
|
+
}
|
|
31
46
|
/**
|
|
32
47
|
* Check whether a parsed statement applies to the current request.
|
|
33
48
|
*
|
|
@@ -37,10 +52,23 @@ export class SimIamPolicyStatementMatcher {
|
|
|
37
52
|
*/
|
|
38
53
|
matches(policy, statement) {
|
|
39
54
|
const principal = this.principalMatcher.matches(policy, statement);
|
|
40
|
-
|
|
41
|
-
this.actionMatches(statement)
|
|
42
|
-
this.resourceMatches(policy, statement)
|
|
43
|
-
|
|
55
|
+
if (!principal.matched ||
|
|
56
|
+
!this.actionMatches(statement) ||
|
|
57
|
+
!this.resourceMatches(policy, statement)) {
|
|
58
|
+
return SimIamPrincipalMatch.none();
|
|
59
|
+
}
|
|
60
|
+
return principal.when(this.conditionMatches(policy, statement));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check the statement's condition block, recording it as unevaluated where
|
|
64
|
+
* an operator stopped the simulator reading it.
|
|
65
|
+
*/
|
|
66
|
+
conditionMatches(policy, statement) {
|
|
67
|
+
const condition = this.conditionMatcher.matches(statement.condition);
|
|
68
|
+
for (const operator of condition.unsupportedOperators) {
|
|
69
|
+
this.unevaluated.record(policy, statement.source, `unsupported condition operator ${operator}`);
|
|
70
|
+
}
|
|
71
|
+
return condition.matched;
|
|
44
72
|
}
|
|
45
73
|
/**
|
|
46
74
|
* Check Action or NotAction against the requested IAM action.
|
|
@@ -4,6 +4,7 @@ import { SimIamPolicyDocumentParser } from "../policy/parse/sim-iam-document-par
|
|
|
4
4
|
import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
|
|
5
5
|
import { SimIamScpGate } from "./scp/sim-iam-scp-gate.js";
|
|
6
6
|
import { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
7
|
+
import type { SimIamUnevaluatedStatement } from "./unevaluated/sim-iam-unevaluated-statement.type.js";
|
|
7
8
|
export { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
8
9
|
/**
|
|
9
10
|
* Decision for one simulated IAM policy authorization attempt.
|
|
@@ -33,6 +34,7 @@ export declare class SimIamPolicyDecision {
|
|
|
33
34
|
private readonly request;
|
|
34
35
|
private readonly policies;
|
|
35
36
|
private readonly scpGate;
|
|
37
|
+
private readonly statementMatcher;
|
|
36
38
|
constructor(request: SimIamAuthZContext, policyDocumentParser?: SimIamPolicyDocumentParser);
|
|
37
39
|
/**
|
|
38
40
|
* Resolved caller against which this authorization decision was evaluated.
|
|
@@ -97,6 +99,16 @@ export declare class SimIamPolicyDecision {
|
|
|
97
99
|
* from each side.
|
|
98
100
|
*/
|
|
99
101
|
get allowStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
102
|
+
/**
|
|
103
|
+
* The statements the simulator could not evaluate, and why.
|
|
104
|
+
*
|
|
105
|
+
* Sim IAM fails closed on a condition operator it has no implementation
|
|
106
|
+
* for, and a statement holding one matches nothing. A Deny that would have
|
|
107
|
+
* stopped the request in a real account leaves an ordinary Allow here. A
|
|
108
|
+
* decision reached over policies the simulator read in full reports
|
|
109
|
+
* nothing.
|
|
110
|
+
*/
|
|
111
|
+
get unevaluatedStatements(): readonly SimIamUnevaluatedStatement[];
|
|
100
112
|
/**
|
|
101
113
|
* Matching Allow statements from identity-based policies.
|
|
102
114
|
*/
|
|
@@ -32,9 +32,11 @@ export class SimIamPolicyDecision {
|
|
|
32
32
|
request;
|
|
33
33
|
policies;
|
|
34
34
|
scpGate;
|
|
35
|
+
statementMatcher;
|
|
35
36
|
constructor(request, policyDocumentParser = new SimIamPolicyDocumentParser()) {
|
|
36
37
|
const statementMatcher = new SimIamPolicyStatementMatcher(request);
|
|
37
38
|
this.request = request;
|
|
39
|
+
this.statementMatcher = statementMatcher;
|
|
38
40
|
this.policies = new SimIamPolicyEvaluation({
|
|
39
41
|
policies: [...request.identityPolicies, ...request.resourcePolicies],
|
|
40
42
|
policyDocumentParser,
|
|
@@ -142,6 +144,18 @@ export class SimIamPolicyDecision {
|
|
|
142
144
|
get allowStatements() {
|
|
143
145
|
return this.policies.allowStatements.all;
|
|
144
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* The statements the simulator could not evaluate, and why.
|
|
149
|
+
*
|
|
150
|
+
* Sim IAM fails closed on a condition operator it has no implementation
|
|
151
|
+
* for, and a statement holding one matches nothing. A Deny that would have
|
|
152
|
+
* stopped the request in a real account leaves an ordinary Allow here. A
|
|
153
|
+
* decision reached over policies the simulator read in full reports
|
|
154
|
+
* nothing.
|
|
155
|
+
*/
|
|
156
|
+
get unevaluatedStatements() {
|
|
157
|
+
return this.statementMatcher.unevaluatedStatements.all;
|
|
158
|
+
}
|
|
145
159
|
/**
|
|
146
160
|
* Matching Allow statements from identity-based policies.
|
|
147
161
|
*/
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionContainer } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
|
+
import { type SimIamInterServiceAuthZ } from "./sim-iam-inter-service-auth-z.js";
|
|
4
|
+
/**
|
|
5
|
+
* The Region a global service's requests are made in.
|
|
6
|
+
*
|
|
7
|
+
* IAM, CloudFront and Route53 each have one endpoint between all Regions, and
|
|
8
|
+
* that endpoint is in us-east-1. A request to one is made in us-east-1
|
|
9
|
+
* wherever the caller is. A service control policy confining an Account to a
|
|
10
|
+
* list of Regions therefore has to leave the global services' actions out of
|
|
11
|
+
* the condition, or it loses access to all of them.
|
|
12
|
+
*/
|
|
13
|
+
export declare const simIamGlobalServiceRegion: AwsRegionName;
|
|
14
|
+
/**
|
|
15
|
+
* The IAM one simulated service authorizes against, bound to its Region.
|
|
16
|
+
*
|
|
17
|
+
* A service is built for one Account and Region, and this is where it tells
|
|
18
|
+
* IAM which. A service built without IAM (a service constructed on its own,
|
|
19
|
+
* outside a simulation) gets the permissive fallback it has always had, bound
|
|
20
|
+
* to the same Region.
|
|
21
|
+
*/
|
|
22
|
+
export declare function simIamInRegion(iam: SimIamInterServiceAuthZ | undefined, regionName: AwsRegionName): SimIamInterServiceAuthZ;
|
|
23
|
+
/**
|
|
24
|
+
* The IAM deciding the requests made to one Account and Region scope.
|
|
25
|
+
*
|
|
26
|
+
* A service reaching into another scope authorizes there. Both the IAM and
|
|
27
|
+
* the Region come from the scope being reached into, wherever the request
|
|
28
|
+
* came from. This is what a scheduled invocation, an event delivery and an
|
|
29
|
+
* HTTP request served on a function's behalf all decide against.
|
|
30
|
+
*/
|
|
31
|
+
export declare function simScopeIamAuthZ(scope: SimAwsAccountRegionContainer): SimIamInterServiceAuthZ;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { SimIamAllowAllAuth, } from "./sim-iam-inter-service-auth-z.js";
|
|
2
|
+
/**
|
|
3
|
+
* The Region a global service's requests are made in.
|
|
4
|
+
*
|
|
5
|
+
* IAM, CloudFront and Route53 each have one endpoint between all Regions, and
|
|
6
|
+
* that endpoint is in us-east-1. A request to one is made in us-east-1
|
|
7
|
+
* wherever the caller is. A service control policy confining an Account to a
|
|
8
|
+
* list of Regions therefore has to leave the global services' actions out of
|
|
9
|
+
* the condition, or it loses access to all of them.
|
|
10
|
+
*/
|
|
11
|
+
export const simIamGlobalServiceRegion = "us-east-1";
|
|
12
|
+
/**
|
|
13
|
+
* IAM authorization for the requests one Region's services make.
|
|
14
|
+
*
|
|
15
|
+
* IAM belongs to an Account and is shared by every Region in it. It has no
|
|
16
|
+
* Region of its own to derive `aws:RequestedRegion` from. A simulated service
|
|
17
|
+
* has one. It is built for a single Account and Region, and answers only the
|
|
18
|
+
* requests made to that Region. Carrying that Region into each authorization
|
|
19
|
+
* request is what lets a service control policy confine an Account to a list
|
|
20
|
+
* of Regions.
|
|
21
|
+
*
|
|
22
|
+
* A service wraps its IAM in this once, where it is wired up, and its
|
|
23
|
+
* authorization call sites go on saying nothing about the Region. A request
|
|
24
|
+
* that already names one keeps it, and that is how a service authorizes on
|
|
25
|
+
* behalf of another Region.
|
|
26
|
+
*/
|
|
27
|
+
class SimIamRegionAuthZ {
|
|
28
|
+
iam;
|
|
29
|
+
regionName;
|
|
30
|
+
constructor(iam, regionName) {
|
|
31
|
+
this.iam = iam;
|
|
32
|
+
this.regionName = regionName;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Evaluate an authorization request made in this Region.
|
|
36
|
+
*/
|
|
37
|
+
authorize(input) {
|
|
38
|
+
return this.iam.authorize({
|
|
39
|
+
...input,
|
|
40
|
+
region: input.region ?? this.regionName,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The IAM one simulated service authorizes against, bound to its Region.
|
|
46
|
+
*
|
|
47
|
+
* A service is built for one Account and Region, and this is where it tells
|
|
48
|
+
* IAM which. A service built without IAM (a service constructed on its own,
|
|
49
|
+
* outside a simulation) gets the permissive fallback it has always had, bound
|
|
50
|
+
* to the same Region.
|
|
51
|
+
*/
|
|
52
|
+
export function simIamInRegion(iam, regionName) {
|
|
53
|
+
return new SimIamRegionAuthZ(iam ?? new SimIamAllowAllAuth(), regionName);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The IAM deciding the requests made to one Account and Region scope.
|
|
57
|
+
*
|
|
58
|
+
* A service reaching into another scope authorizes there. Both the IAM and
|
|
59
|
+
* the Region come from the scope being reached into, wherever the request
|
|
60
|
+
* came from. This is what a scheduled invocation, an event delivery and an
|
|
61
|
+
* HTTP request served on a function's behalf all decide against.
|
|
62
|
+
*/
|
|
63
|
+
export function simScopeIamAuthZ(scope) {
|
|
64
|
+
return simIamInRegion(scope.iam(), scope.accountRegionScope.regionName);
|
|
65
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimIamPolicyDocumentStatement } from "../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamAuthZPolicySourceType } from "../context/sim-iam-auth-z-context.js";
|
|
3
|
+
/**
|
|
4
|
+
* One policy statement an authorization decision could not evaluate.
|
|
5
|
+
*
|
|
6
|
+
* The statement applied to the request as far as the simulator could tell:
|
|
7
|
+
* its Principal, Action and Resource all matched, and only its Condition was
|
|
8
|
+
* left undecided. Sim IAM fails closed, and the statement matched nothing. A
|
|
9
|
+
* Deny that would have stopped the request in a real account lets it through
|
|
10
|
+
* here.
|
|
11
|
+
*
|
|
12
|
+
* That is why this is recorded. A decision reporting an ordinary Allow over a
|
|
13
|
+
* statement nothing could read is an allow for the wrong reason, and a test
|
|
14
|
+
* asserting on it needs somewhere to find that out.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimIamUnevaluatedStatement {
|
|
17
|
+
/**
|
|
18
|
+
* The policy the statement came from.
|
|
19
|
+
*
|
|
20
|
+
* This is the policy's name, falling back to the ARN of the resource
|
|
21
|
+
* holding it, and then to how the policy reached the request, since a
|
|
22
|
+
* resource policy supplied by a service need not name itself.
|
|
23
|
+
*/
|
|
24
|
+
readonly policy: string;
|
|
25
|
+
/** Where the policy came from, e.g. `service-control`. */
|
|
26
|
+
readonly sourceType: SimIamAuthZPolicySourceType;
|
|
27
|
+
/** The statement, as its policy document declared it. */
|
|
28
|
+
readonly statement: SimIamPolicyDocumentStatement;
|
|
29
|
+
/** Why the simulator could not tell whether the statement matched. */
|
|
30
|
+
readonly reason: string;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimIamPolicyDocumentStatement } from "../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
|
|
3
|
+
import type { SimIamUnevaluatedStatement } from "./sim-iam-unevaluated-statement.type.js";
|
|
4
|
+
/**
|
|
5
|
+
* The statements one authorization decision could not evaluate.
|
|
6
|
+
*
|
|
7
|
+
* Sim IAM implements the condition operators multi-service tests need and
|
|
8
|
+
* fails closed on the rest, which leaves a statement it cannot read matching
|
|
9
|
+
* nothing. On a Deny that reads as an allow, and the decision otherwise looks
|
|
10
|
+
* healthy. Collecting the skips here is what lets a decision say that it
|
|
11
|
+
* reached its answer without reading everything the policies said.
|
|
12
|
+
*
|
|
13
|
+
* A statement recorded twice is kept once. One policy attached at two levels
|
|
14
|
+
* of an organization is one statement going unread, however many levels
|
|
15
|
+
* reached it.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimIamUnevaluatedStatements {
|
|
18
|
+
private readonly records;
|
|
19
|
+
/**
|
|
20
|
+
* Every statement left unevaluated, in the order they were reached.
|
|
21
|
+
*/
|
|
22
|
+
get all(): readonly SimIamUnevaluatedStatement[];
|
|
23
|
+
/**
|
|
24
|
+
* Record a statement the simulator could not decide.
|
|
25
|
+
*/
|
|
26
|
+
record(policy: SimIamAuthZPolicySource, statement: SimIamPolicyDocumentStatement, reason: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* What to call the policy a statement came from.
|
|
29
|
+
*/
|
|
30
|
+
private policyName;
|
|
31
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The statements one authorization decision could not evaluate.
|
|
3
|
+
*
|
|
4
|
+
* Sim IAM implements the condition operators multi-service tests need and
|
|
5
|
+
* fails closed on the rest, which leaves a statement it cannot read matching
|
|
6
|
+
* nothing. On a Deny that reads as an allow, and the decision otherwise looks
|
|
7
|
+
* healthy. Collecting the skips here is what lets a decision say that it
|
|
8
|
+
* reached its answer without reading everything the policies said.
|
|
9
|
+
*
|
|
10
|
+
* A statement recorded twice is kept once. One policy attached at two levels
|
|
11
|
+
* of an organization is one statement going unread, however many levels
|
|
12
|
+
* reached it.
|
|
13
|
+
*/
|
|
14
|
+
export class SimIamUnevaluatedStatements {
|
|
15
|
+
records = [];
|
|
16
|
+
/**
|
|
17
|
+
* Every statement left unevaluated, in the order they were reached.
|
|
18
|
+
*/
|
|
19
|
+
get all() {
|
|
20
|
+
return this.records;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Record a statement the simulator could not decide.
|
|
24
|
+
*/
|
|
25
|
+
record(policy, statement, reason) {
|
|
26
|
+
const already = this.records.some((record) => record.statement === statement && record.reason === reason);
|
|
27
|
+
if (already) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.records.push({
|
|
31
|
+
policy: this.policyName(policy),
|
|
32
|
+
sourceType: policy.sourceType,
|
|
33
|
+
statement,
|
|
34
|
+
reason,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* What to call the policy a statement came from.
|
|
39
|
+
*/
|
|
40
|
+
policyName(policy) {
|
|
41
|
+
return policy.policyName ?? policy.resourceArn ?? policy.sourceType;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -3,6 +3,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
|
|
|
3
3
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
4
4
|
import type { SimIam } from "../../sim-iam.js";
|
|
5
5
|
import type { SimIamRoleName } from "../../role/sim-iam-role.js";
|
|
6
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
6
7
|
interface SimCfnIamManagedPolicyAttacherProperties {
|
|
7
8
|
readonly iam: SimIam;
|
|
8
9
|
}
|
|
@@ -32,7 +33,7 @@ export declare class SimCfnIamManagedPolicyAttacher {
|
|
|
32
33
|
/**
|
|
33
34
|
* Attach the created Managed Policy to each of the Roles.
|
|
34
35
|
*/
|
|
35
|
-
attach(policyArn: SimArn, roleNames: readonly SimIamRoleName[]): Promise<void>;
|
|
36
|
+
attach(policyArn: SimArn, roleNames: readonly SimIamRoleName[], options: SimCfnResourceCallerOptions): Promise<void>;
|
|
36
37
|
private roleName;
|
|
37
38
|
private rejectUnsimulatedPrincipals;
|
|
38
39
|
}
|
|
@@ -37,10 +37,8 @@ export class SimCfnIamManagedPolicyAttacher {
|
|
|
37
37
|
/**
|
|
38
38
|
* Attach the created Managed Policy to each of the Roles.
|
|
39
39
|
*/
|
|
40
|
-
async attach(policyArn, roleNames) {
|
|
41
|
-
await Promise.all(roleNames.map(async (roleName) => this.iam.attachRolePolicy({
|
|
42
|
-
input: { RoleName: roleName, PolicyArn: policyArn },
|
|
43
|
-
})));
|
|
40
|
+
async attach(policyArn, roleNames, options) {
|
|
41
|
+
await Promise.all(roleNames.map(async (roleName) => this.iam.attachRolePolicy({ input: { RoleName: roleName, PolicyArn: policyArn } }, options)));
|
|
44
42
|
}
|
|
45
43
|
roleName(resource, roleName) {
|
|
46
44
|
if (typeof roleName !== "string") {
|
|
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
|
|
|
2
2
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
3
|
import type { SimIam } from "../../sim-iam.js";
|
|
4
4
|
import type { SimIamManagedPolicy } from "../../policy/sim-iam-policy.js";
|
|
5
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
5
6
|
interface SimCfnIamManagedPolicyCreatorProperties {
|
|
6
7
|
readonly iam: SimIam;
|
|
7
8
|
}
|
|
@@ -15,7 +16,7 @@ export declare class SimCfnIamManagedPolicyCreator {
|
|
|
15
16
|
/**
|
|
16
17
|
* Create a simulated Managed Policy from an AWS::IAM::ManagedPolicy Resource.
|
|
17
18
|
*/
|
|
18
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimIamManagedPolicy>;
|
|
19
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimIamManagedPolicy>;
|
|
19
20
|
private managedPolicyName;
|
|
20
21
|
private path;
|
|
21
22
|
private description;
|
|
@@ -13,7 +13,7 @@ export class SimCfnIamManagedPolicyCreator {
|
|
|
13
13
|
/**
|
|
14
14
|
* Create a simulated Managed Policy from an AWS::IAM::ManagedPolicy Resource.
|
|
15
15
|
*/
|
|
16
|
-
async create(resource, properties) {
|
|
16
|
+
async create(resource, properties, options) {
|
|
17
17
|
const roleNames = this.attacher.roleNames(resource, properties);
|
|
18
18
|
const policyName = this.managedPolicyName(resource, properties);
|
|
19
19
|
const path = this.path(resource, properties);
|
|
@@ -26,10 +26,10 @@ export class SimCfnIamManagedPolicyCreator {
|
|
|
26
26
|
Description: description,
|
|
27
27
|
PolicyDocument: policyDocument,
|
|
28
28
|
},
|
|
29
|
-
});
|
|
29
|
+
}, options);
|
|
30
30
|
const policy = this.iam.policies.get(policyCreation.Policy.Arn);
|
|
31
31
|
assertDefined(policy, `Sim IAM Managed Policy ${policyCreation.Policy.Arn} after CloudFormation creation`);
|
|
32
|
-
await this.attacher.attach(policy.arn, roleNames);
|
|
32
|
+
await this.attacher.attach(policy.arn, roleNames, options);
|
|
33
33
|
return policy;
|
|
34
34
|
}
|
|
35
35
|
managedPolicyName(resource, properties) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
2
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
3
|
import type { SimIam } from "../../sim-iam.js";
|
|
4
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
4
5
|
interface SimCfnIamPolicyCreatorProperties {
|
|
5
6
|
readonly iam: SimIam;
|
|
6
7
|
}
|
|
@@ -22,7 +23,7 @@ export declare class SimCfnIamPolicyCreator {
|
|
|
22
23
|
/**
|
|
23
24
|
* Put the inline policy onto each referenced Role and User.
|
|
24
25
|
*/
|
|
25
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<undefined>;
|
|
26
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<undefined>;
|
|
26
27
|
private putRolePolicies;
|
|
27
28
|
private putUserPolicies;
|
|
28
29
|
}
|
|
@@ -19,30 +19,30 @@ export class SimCfnIamPolicyCreator {
|
|
|
19
19
|
/**
|
|
20
20
|
* Put the inline policy onto each referenced Role and User.
|
|
21
21
|
*/
|
|
22
|
-
async create(resource, properties) {
|
|
22
|
+
async create(resource, properties, options) {
|
|
23
23
|
const policyProperties = this.propsParser.parse(resource, properties);
|
|
24
24
|
await Promise.all([
|
|
25
|
-
this.putRolePolicies(policyProperties),
|
|
26
|
-
this.putUserPolicies(policyProperties),
|
|
25
|
+
this.putRolePolicies(policyProperties, options),
|
|
26
|
+
this.putUserPolicies(policyProperties, options),
|
|
27
27
|
]);
|
|
28
28
|
return undefined;
|
|
29
29
|
}
|
|
30
|
-
async putRolePolicies(policyProperties) {
|
|
30
|
+
async putRolePolicies(policyProperties, options) {
|
|
31
31
|
await Promise.all(policyProperties.roleNames.map(async (roleName) => this.iam.putRolePolicy({
|
|
32
32
|
input: {
|
|
33
33
|
RoleName: roleName,
|
|
34
34
|
PolicyName: policyProperties.policyName,
|
|
35
35
|
PolicyDocument: policyProperties.policyDocument,
|
|
36
36
|
},
|
|
37
|
-
})));
|
|
37
|
+
}, options)));
|
|
38
38
|
}
|
|
39
|
-
async putUserPolicies(policyProperties) {
|
|
39
|
+
async putUserPolicies(policyProperties, options) {
|
|
40
40
|
await Promise.all(policyProperties.usernames.map(async (username) => this.iam.putUserPolicy({
|
|
41
41
|
input: {
|
|
42
42
|
UserName: username,
|
|
43
43
|
PolicyName: policyProperties.policyName,
|
|
44
44
|
PolicyDocument: policyProperties.policyDocument,
|
|
45
45
|
},
|
|
46
|
-
})));
|
|
46
|
+
}, options)));
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
|
|
|
2
2
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
3
|
import type { SimIam } from "../../sim-iam.js";
|
|
4
4
|
import type { SimIamRole } from "../../role/sim-iam-role.js";
|
|
5
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
5
6
|
interface SimCfnIamRoleCreatorProperties {
|
|
6
7
|
readonly iam: SimIam;
|
|
7
8
|
}
|
|
@@ -15,7 +16,7 @@ export declare class SimCfnIamRoleCreator {
|
|
|
15
16
|
/**
|
|
16
17
|
* Create a simulated Role from an AWS::IAM::Role Resource.
|
|
17
18
|
*/
|
|
18
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimIamRole>;
|
|
19
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimIamRole>;
|
|
19
20
|
private putInlinePolicies;
|
|
20
21
|
private attachManagedPolicies;
|
|
21
22
|
}
|