@kensio/yulin 1.20.13 → 1.20.14
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/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/sim-cfn-resource.type.d.ts +12 -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/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-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/sim-iam-command-handlers.js +6 -1
- 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/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/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-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 +2 -0
- package/dist/service/scheduler/index.js +2 -0
- 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/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/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 +1 -1
- package/dist/service/ssm/sim-ssm.js +3 -2
- 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 +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The global condition values IAM works out for itself.
|
|
3
|
+
*
|
|
4
|
+
* These are the keys a policy can be written against without the service
|
|
5
|
+
* handling the request supplying anything. They are applied over the values a
|
|
6
|
+
* service does supply. A service cannot overwrite one of them.
|
|
7
|
+
*
|
|
8
|
+
* A key the request leaves unsaid is left out. The condition matcher counts a
|
|
9
|
+
* missing key as no match, and a statement conditioned on one then matches
|
|
10
|
+
* nothing.
|
|
11
|
+
*/
|
|
12
|
+
export class SimIamDerivedConditions {
|
|
13
|
+
/**
|
|
14
|
+
* Derive what IAM knows about this request.
|
|
15
|
+
*/
|
|
16
|
+
of(request) {
|
|
17
|
+
return { ...this.principalArn(request.caller), ...this.region(request) };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* AWS:PrincipalArn identifies the IAM identity whose policies apply. For
|
|
21
|
+
* temporary Role credentials this is the underlying Role ARN, rather than
|
|
22
|
+
* the STS assumed-role session ARN retained as the effective caller for
|
|
23
|
+
* diagnostics.
|
|
24
|
+
*/
|
|
25
|
+
principalArn(caller) {
|
|
26
|
+
const principalArn = caller.identityPolicyArn ?? caller.arn;
|
|
27
|
+
if (principalArn === undefined) {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
return { "aws:PrincipalArn": principalArn };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* AWS:RequestedRegion is the Region the request was made in, which on real
|
|
34
|
+
* AWS is the Region of the endpoint it was sent to. Here it is the Region of
|
|
35
|
+
* the simulated service handling the request. A service in one Region's
|
|
36
|
+
* scope answers only requests made to that Region.
|
|
37
|
+
*/
|
|
38
|
+
region(request) {
|
|
39
|
+
if (request.region === undefined) {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
return { "aws:RequestedRegion": request.region };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simIamArnComparison } from "../../sim-iam-string-comparison.js";
|
|
2
2
|
import { SimIamScalarStringConditionOperator } from "../../string/sim-iam-scalar-string-condition-operator.js";
|
|
3
3
|
/**
|
|
4
4
|
* IAM `ArnEquals` condition operator.
|
|
@@ -11,6 +11,6 @@ import { SimIamScalarStringConditionOperator } from "../../string/sim-iam-scalar
|
|
|
11
11
|
*/
|
|
12
12
|
export class SimIamArnEquals extends SimIamScalarStringConditionOperator {
|
|
13
13
|
valueMatches(actual, expected) {
|
|
14
|
-
return
|
|
14
|
+
return simIamArnComparison(actual, expected);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simIamArnComparison } from "../../sim-iam-string-comparison.js";
|
|
2
2
|
import { SimIamScalarStringConditionOperator } from "../../string/sim-iam-scalar-string-condition-operator.js";
|
|
3
3
|
/**
|
|
4
4
|
* IAM `ArnLike` condition operator.
|
|
@@ -10,6 +10,6 @@ import { SimIamScalarStringConditionOperator } from "../../string/sim-iam-scalar
|
|
|
10
10
|
*/
|
|
11
11
|
export class SimIamArnLike extends SimIamScalarStringConditionOperator {
|
|
12
12
|
valueMatches(actual, expected) {
|
|
13
|
-
return
|
|
13
|
+
return simIamArnComparison(actual, expected);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamConditionOperator } from "../sim-iam-condition-operator.js";
|
|
3
|
+
import type { SimIamStringComparison } from "../sim-iam-string-comparison.js";
|
|
4
|
+
/**
|
|
5
|
+
* A `ForAllValues` negated IAM string operator, such as
|
|
6
|
+
* `ForAllValues:StringNotEquals`.
|
|
7
|
+
*
|
|
8
|
+
* Every request value has to differ from every policy value. A request
|
|
9
|
+
* supplying no values leaves nothing to contradict that, so an empty set
|
|
10
|
+
* matches, as an absent key does.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimIamNegatedForAllValuesStringOperator implements SimIamConditionOperator {
|
|
13
|
+
private readonly comparison;
|
|
14
|
+
readonly matchesAbsentKey = true;
|
|
15
|
+
constructor(comparison: SimIamStringComparison);
|
|
16
|
+
/**
|
|
17
|
+
* Check whether every request value differs from every policy value.
|
|
18
|
+
*/
|
|
19
|
+
matches(actual: SimIamConditionValue, expected: SimIamConditionValue): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { simIamStringValues } from "../string/sim-iam-string-values.js";
|
|
2
|
+
/**
|
|
3
|
+
* A `ForAllValues` negated IAM string operator, such as
|
|
4
|
+
* `ForAllValues:StringNotEquals`.
|
|
5
|
+
*
|
|
6
|
+
* Every request value has to differ from every policy value. A request
|
|
7
|
+
* supplying no values leaves nothing to contradict that, so an empty set
|
|
8
|
+
* matches, as an absent key does.
|
|
9
|
+
*/
|
|
10
|
+
export class SimIamNegatedForAllValuesStringOperator {
|
|
11
|
+
comparison;
|
|
12
|
+
matchesAbsentKey = true;
|
|
13
|
+
constructor(comparison) {
|
|
14
|
+
this.comparison = comparison;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check whether every request value differs from every policy value.
|
|
18
|
+
*/
|
|
19
|
+
matches(actual, expected) {
|
|
20
|
+
const actualValues = simIamStringValues(actual);
|
|
21
|
+
const expectedValues = simIamStringValues(expected);
|
|
22
|
+
if (actualValues === undefined || expectedValues === undefined) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return actualValues.every((actualValue) => expectedValues.every((expectedValue) => !this.comparison(actualValue, expectedValue)));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamConditionOperator } from "../sim-iam-condition-operator.js";
|
|
3
|
+
import type { SimIamStringComparison } from "../sim-iam-string-comparison.js";
|
|
4
|
+
/**
|
|
5
|
+
* A `ForAnyValue` negated IAM string operator, such as
|
|
6
|
+
* `ForAnyValue:StringNotEquals`.
|
|
7
|
+
*
|
|
8
|
+
* One request value differing from every policy value is enough. A request
|
|
9
|
+
* supplying no such value satisfies nothing, which covers both an empty value
|
|
10
|
+
* set and a key the request omits. The `ForAnyValue` qualifier settles the
|
|
11
|
+
* absent key here, ahead of the rule that a negated operator matches one.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SimIamNegatedForAnyValueStringOperator implements SimIamConditionOperator {
|
|
14
|
+
private readonly comparison;
|
|
15
|
+
readonly matchesAbsentKey = false;
|
|
16
|
+
constructor(comparison: SimIamStringComparison);
|
|
17
|
+
/**
|
|
18
|
+
* Check whether any request value differs from every policy value.
|
|
19
|
+
*/
|
|
20
|
+
matches(actual: SimIamConditionValue, expected: SimIamConditionValue): boolean;
|
|
21
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { simIamStringValues } from "../string/sim-iam-string-values.js";
|
|
2
|
+
/**
|
|
3
|
+
* A `ForAnyValue` negated IAM string operator, such as
|
|
4
|
+
* `ForAnyValue:StringNotEquals`.
|
|
5
|
+
*
|
|
6
|
+
* One request value differing from every policy value is enough. A request
|
|
7
|
+
* supplying no such value satisfies nothing, which covers both an empty value
|
|
8
|
+
* set and a key the request omits. The `ForAnyValue` qualifier settles the
|
|
9
|
+
* absent key here, ahead of the rule that a negated operator matches one.
|
|
10
|
+
*/
|
|
11
|
+
export class SimIamNegatedForAnyValueStringOperator {
|
|
12
|
+
comparison;
|
|
13
|
+
matchesAbsentKey = false;
|
|
14
|
+
constructor(comparison) {
|
|
15
|
+
this.comparison = comparison;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check whether any request value differs from every policy value.
|
|
19
|
+
*/
|
|
20
|
+
matches(actual, expected) {
|
|
21
|
+
const actualValues = simIamStringValues(actual);
|
|
22
|
+
const expectedValues = simIamStringValues(expected);
|
|
23
|
+
if (actualValues === undefined || expectedValues === undefined) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return actualValues.some((actualValue) => expectedValues.every((expectedValue) => !this.comparison(actualValue, expectedValue)));
|
|
27
|
+
}
|
|
28
|
+
}
|
package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SimIamConditionOperatorFactory } from "../sim-iam-condition-operator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every negated condition operator sim IAM evaluates, keyed by its keyword.
|
|
4
|
+
*/
|
|
5
|
+
export declare const simIamNegatedOperatorFactories: ReadonlyMap<string, SimIamConditionOperatorFactory>;
|
package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { simIamArnComparison, simIamStringEqualsComparison, simIamStringLikeComparison, } from "../sim-iam-string-comparison.js";
|
|
2
|
+
import { SimIamNegatedForAllValuesStringOperator } from "./sim-iam-negated-for-all-values-string-operator.js";
|
|
3
|
+
import { SimIamNegatedForAnyValueStringOperator } from "./sim-iam-negated-for-any-value-string-operator.js";
|
|
4
|
+
import { SimIamNegatedScalarStringOperator } from "./sim-iam-negated-scalar-string-operator.js";
|
|
5
|
+
/**
|
|
6
|
+
* The comparison behind each negated operator keyword.
|
|
7
|
+
*/
|
|
8
|
+
const negatedComparisons = new Map([
|
|
9
|
+
["ArnNotEquals", simIamArnComparison],
|
|
10
|
+
["ArnNotLike", simIamArnComparison],
|
|
11
|
+
["StringNotEquals", simIamStringEqualsComparison],
|
|
12
|
+
["StringNotLike", simIamStringLikeComparison],
|
|
13
|
+
]);
|
|
14
|
+
/**
|
|
15
|
+
* Build the unqualified and set forms of one negated keyword.
|
|
16
|
+
*/
|
|
17
|
+
function keywordForms(keyword, comparison) {
|
|
18
|
+
return [
|
|
19
|
+
[
|
|
20
|
+
keyword,
|
|
21
|
+
() => new SimIamNegatedScalarStringOperator(comparison),
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
`ForAnyValue:${keyword}`,
|
|
25
|
+
() => new SimIamNegatedForAnyValueStringOperator(comparison),
|
|
26
|
+
],
|
|
27
|
+
[
|
|
28
|
+
`ForAllValues:${keyword}`,
|
|
29
|
+
() => new SimIamNegatedForAllValuesStringOperator(comparison),
|
|
30
|
+
],
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Every negated condition operator sim IAM evaluates, keyed by its keyword.
|
|
35
|
+
*/
|
|
36
|
+
export const simIamNegatedOperatorFactories = new Map([...negatedComparisons].flatMap(([keyword, comparison]) => keywordForms(keyword, comparison)));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamConditionOperator } from "../sim-iam-condition-operator.js";
|
|
3
|
+
import type { SimIamStringComparison } from "../sim-iam-string-comparison.js";
|
|
4
|
+
/**
|
|
5
|
+
* An unqualified negated IAM string operator, such as `StringNotEquals`.
|
|
6
|
+
*
|
|
7
|
+
* The request value must be scalar, as it must for the positive operators.
|
|
8
|
+
* Several policy values are an AND rather than an OR: the request value has to
|
|
9
|
+
* differ from every one of them, so a carve-out naming three roles exempts all
|
|
10
|
+
* three.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimIamNegatedScalarStringOperator implements SimIamConditionOperator {
|
|
13
|
+
private readonly comparison;
|
|
14
|
+
readonly matchesAbsentKey = true;
|
|
15
|
+
constructor(comparison: SimIamStringComparison);
|
|
16
|
+
/**
|
|
17
|
+
* Check whether a request value differs from every policy value.
|
|
18
|
+
*/
|
|
19
|
+
matches(actual: SimIamConditionValue, expected: SimIamConditionValue): boolean;
|
|
20
|
+
}
|
package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { simIamStringValues } from "../string/sim-iam-string-values.js";
|
|
2
|
+
/**
|
|
3
|
+
* An unqualified negated IAM string operator, such as `StringNotEquals`.
|
|
4
|
+
*
|
|
5
|
+
* The request value must be scalar, as it must for the positive operators.
|
|
6
|
+
* Several policy values are an AND rather than an OR: the request value has to
|
|
7
|
+
* differ from every one of them, so a carve-out naming three roles exempts all
|
|
8
|
+
* three.
|
|
9
|
+
*/
|
|
10
|
+
export class SimIamNegatedScalarStringOperator {
|
|
11
|
+
comparison;
|
|
12
|
+
matchesAbsentKey = true;
|
|
13
|
+
constructor(comparison) {
|
|
14
|
+
this.comparison = comparison;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check whether a request value differs from every policy value.
|
|
18
|
+
*/
|
|
19
|
+
matches(actual, expected) {
|
|
20
|
+
if (typeof actual !== "string") {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const expectedValues = simIamStringValues(expected);
|
|
24
|
+
if (expectedValues === undefined) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return expectedValues.every((expectedValue) => !this.comparison(actual, expectedValue));
|
|
28
|
+
}
|
|
29
|
+
}
|
package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import type { SimIamConditionOperator } from "../../sim-iam-condition-operator.j
|
|
|
15
15
|
* are rejected rather than being converted through JavaScript coercion rules.
|
|
16
16
|
*/
|
|
17
17
|
export declare class SimIamNumericLessThanEquals implements SimIamConditionOperator {
|
|
18
|
+
readonly matchesAbsentKey = false;
|
|
18
19
|
/**
|
|
19
20
|
* Compare one request value with one or more policy limits.
|
|
20
21
|
*/
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What reading one statement's condition block told the simulator.
|
|
3
|
+
*
|
|
4
|
+
* A condition block either matched the request or it did not, and separately
|
|
5
|
+
* from that it may have held an operator sim IAM has no implementation for.
|
|
6
|
+
* The two facts travel together because a statement carrying an unread
|
|
7
|
+
* operator does not match, and a caller that only reads `matched` cannot tell
|
|
8
|
+
* that apart from a condition the simulator read and rejected.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimIamConditionMatch {
|
|
11
|
+
/**
|
|
12
|
+
* Whether the whole condition block matched the request.
|
|
13
|
+
*
|
|
14
|
+
* An operator the simulator cannot evaluate fails closed. A block holding
|
|
15
|
+
* one never matches.
|
|
16
|
+
*/
|
|
17
|
+
readonly matched: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The operator keywords sim IAM has no implementation for.
|
|
20
|
+
*
|
|
21
|
+
* These are reported only where every other operator in the block matched.
|
|
22
|
+
* A block ruled out by an operator the simulator did read needs nothing
|
|
23
|
+
* said about it: the statement would not have matched either way.
|
|
24
|
+
*/
|
|
25
|
+
readonly unsupportedOperators: readonly string[];
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { simIamNegatedOperatorFactories } from "./negated/sim-iam-negated-operator-factories.js";
|
|
1
2
|
import { SimIamForAllValuesStringEquals } from "./string/all-values/sim-iam-for-all-values-string-equals.js";
|
|
2
3
|
import { SimIamForAllValuesStringLike } from "./string/all-values/sim-iam-for-all-values-string-like.js";
|
|
3
4
|
import { SimIamForAnyValueStringEquals } from "./string/any-value/sim-iam-for-any-value-string-equals.js";
|
|
@@ -32,6 +33,7 @@ const operatorFactories = new Map([
|
|
|
32
33
|
"ForAllValues:StringLike",
|
|
33
34
|
() => new SimIamForAllValuesStringLike(),
|
|
34
35
|
],
|
|
36
|
+
...simIamNegatedOperatorFactories,
|
|
35
37
|
]);
|
|
36
38
|
/**
|
|
37
39
|
* Parses IAM condition operator keywords into their behavior objects.
|
|
@@ -7,8 +7,23 @@ import type { SimIamConditionValue } from "../../../policy/sim-iam-policy.js";
|
|
|
7
7
|
* matcher.
|
|
8
8
|
*/
|
|
9
9
|
export interface SimIamConditionOperator {
|
|
10
|
+
/**
|
|
11
|
+
* Whether the operator matches a request carrying no value for the key.
|
|
12
|
+
*
|
|
13
|
+
* An unqualified positive operator has nothing to compare and matches
|
|
14
|
+
* nothing, while its negated form matches. With no value in the request
|
|
15
|
+
* there is none for the policy value to equal.
|
|
16
|
+
*
|
|
17
|
+
* A `ForAnyValue` operator answers false whatever it wraps, because no
|
|
18
|
+
* request value is there to satisfy it. AWS documents both rules.
|
|
19
|
+
*/
|
|
20
|
+
readonly matchesAbsentKey: boolean;
|
|
10
21
|
/**
|
|
11
22
|
* Determine whether an actual request value satisfies the expected policy value.
|
|
12
23
|
*/
|
|
13
24
|
matches(actual: SimIamConditionValue, expected: SimIamConditionValue): boolean;
|
|
14
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Builds a fresh condition operator for one keyword.
|
|
28
|
+
*/
|
|
29
|
+
export type SimIamConditionOperatorFactory = () => SimIamConditionOperator;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimIamConditionValue, SimIamPolicyDocumentCondition } from "../../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamConditionMatch } from "./sim-iam-condition-match.js";
|
|
2
3
|
import { SimIamConditionOperatorParser } from "./sim-iam-condition-operator-parser.js";
|
|
3
4
|
/**
|
|
4
5
|
* Matches IAM policy conditions against request condition-context values.
|
|
@@ -7,19 +8,26 @@ import { SimIamConditionOperatorParser } from "./sim-iam-condition-operator-pars
|
|
|
7
8
|
* key lookup. Individual condition operators encapsulate value validation,
|
|
8
9
|
* comparison, and set semantics.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* An unsupported operator fails closed by making the condition non-matching,
|
|
12
|
+
* and is named in the result so the decision can report the statement as one
|
|
13
|
+
* it never read. A context key the request carries no value for is left to the
|
|
14
|
+
* operator, which answers for itself whether an absent key matches it.
|
|
12
15
|
*/
|
|
13
16
|
export declare class SimIamPolicyConditionMatcher {
|
|
14
17
|
private readonly operatorParser;
|
|
18
|
+
private static readonly noCondition;
|
|
15
19
|
private readonly conditionContext;
|
|
16
20
|
constructor(conditionContext: Readonly<Record<string, SimIamConditionValue>>, operatorParser?: SimIamConditionOperatorParser);
|
|
17
21
|
/**
|
|
18
22
|
* Match every operator and every key in a condition block.
|
|
19
23
|
*
|
|
20
24
|
* Separate operators and separate keys use logical AND semantics.
|
|
25
|
+
*
|
|
26
|
+
* Every operator in the block is read. Stopping at the first that fails
|
|
27
|
+
* would leave the operators the simulator could not evaluate depending on
|
|
28
|
+
* the order the policy happens to list them in.
|
|
21
29
|
*/
|
|
22
|
-
matches(condition: SimIamPolicyDocumentCondition | undefined):
|
|
30
|
+
matches(condition: SimIamPolicyDocumentCondition | undefined): SimIamConditionMatch;
|
|
23
31
|
private operatorMatches;
|
|
24
32
|
private entryMatches;
|
|
25
33
|
private normalizeContextKey;
|
|
@@ -6,11 +6,17 @@ import { SimIamConditionOperatorParser } from "./sim-iam-condition-operator-pars
|
|
|
6
6
|
* key lookup. Individual condition operators encapsulate value validation,
|
|
7
7
|
* comparison, and set semantics.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* An unsupported operator fails closed by making the condition non-matching,
|
|
10
|
+
* and is named in the result so the decision can report the statement as one
|
|
11
|
+
* it never read. A context key the request carries no value for is left to the
|
|
12
|
+
* operator, which answers for itself whether an absent key matches it.
|
|
11
13
|
*/
|
|
12
14
|
export class SimIamPolicyConditionMatcher {
|
|
13
15
|
operatorParser;
|
|
16
|
+
static noCondition = {
|
|
17
|
+
matched: true,
|
|
18
|
+
unsupportedOperators: [],
|
|
19
|
+
};
|
|
14
20
|
conditionContext;
|
|
15
21
|
constructor(conditionContext, operatorParser = new SimIamConditionOperatorParser()) {
|
|
16
22
|
this.operatorParser = operatorParser;
|
|
@@ -23,25 +29,37 @@ export class SimIamPolicyConditionMatcher {
|
|
|
23
29
|
* Match every operator and every key in a condition block.
|
|
24
30
|
*
|
|
25
31
|
* Separate operators and separate keys use logical AND semantics.
|
|
32
|
+
*
|
|
33
|
+
* Every operator in the block is read. Stopping at the first that fails
|
|
34
|
+
* would leave the operators the simulator could not evaluate depending on
|
|
35
|
+
* the order the policy happens to list them in.
|
|
26
36
|
*/
|
|
27
37
|
matches(condition) {
|
|
28
38
|
if (condition === undefined) {
|
|
29
|
-
return
|
|
39
|
+
return SimIamPolicyConditionMatcher.noCondition;
|
|
30
40
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
const unsupportedOperators = [];
|
|
42
|
+
let matched = true;
|
|
43
|
+
for (const [keyword, keyValues] of Object.entries(condition)) {
|
|
44
|
+
const operator = this.operatorParser.parse(keyword);
|
|
45
|
+
if (operator === undefined) {
|
|
46
|
+
unsupportedOperators.push(keyword);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
matched = this.operatorMatches(operator, keyValues) && matched;
|
|
38
50
|
}
|
|
51
|
+
return {
|
|
52
|
+
matched: matched && unsupportedOperators.length === 0,
|
|
53
|
+
unsupportedOperators: matched ? unsupportedOperators : [],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
operatorMatches(operator, keyValues) {
|
|
39
57
|
return Object.entries(keyValues).every(([key, expected]) => this.entryMatches(operator, key, expected));
|
|
40
58
|
}
|
|
41
59
|
entryMatches(operator, key, expected) {
|
|
42
60
|
const actual = this.conditionContext.get(this.normalizeContextKey(key));
|
|
43
61
|
if (actual === undefined) {
|
|
44
|
-
return
|
|
62
|
+
return operator.matchesAbsentKey;
|
|
45
63
|
}
|
|
46
64
|
return operator.matches(actual, expected);
|
|
47
65
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compares one request value with one policy value.
|
|
3
|
+
*
|
|
4
|
+
* Condition operators differ in how they quantify over the values on each
|
|
5
|
+
* side, and in whether they negate the result. The comparison of a single
|
|
6
|
+
* pair is the part they share, so `StringNotLike` is the same comparison as
|
|
7
|
+
* `StringLike` with the answer turned around.
|
|
8
|
+
*/
|
|
9
|
+
export type SimIamStringComparison = (actual: string, expected: string) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The comparison `StringEquals` and `StringNotEquals` are built from.
|
|
12
|
+
*/
|
|
13
|
+
export declare const simIamStringEqualsComparison: SimIamStringComparison;
|
|
14
|
+
/**
|
|
15
|
+
* The comparison `StringLike` and `StringNotLike` are built from.
|
|
16
|
+
*/
|
|
17
|
+
export declare const simIamStringLikeComparison: SimIamStringComparison;
|
|
18
|
+
/**
|
|
19
|
+
* The comparison the four ARN operators are built from.
|
|
20
|
+
*
|
|
21
|
+
* AWS documents `ArnEquals` and `ArnLike` as behaving identically, so one
|
|
22
|
+
* comparison serves both of them and both of their negated forms.
|
|
23
|
+
*/
|
|
24
|
+
export declare const simIamArnComparison: SimIamStringComparison;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { simIamArnMatch } from "../../sim-iam-arn-match.js";
|
|
2
|
+
import { simIamWildcardMatch } from "../../sim-iam-wildcard.js";
|
|
3
|
+
/**
|
|
4
|
+
* The comparison `StringEquals` and `StringNotEquals` are built from.
|
|
5
|
+
*/
|
|
6
|
+
export const simIamStringEqualsComparison = (actual, expected) => actual === expected;
|
|
7
|
+
/**
|
|
8
|
+
* The comparison `StringLike` and `StringNotLike` are built from.
|
|
9
|
+
*/
|
|
10
|
+
export const simIamStringLikeComparison = (actual, expected) => simIamWildcardMatch(expected, actual, { caseSensitive: true });
|
|
11
|
+
/**
|
|
12
|
+
* The comparison the four ARN operators are built from.
|
|
13
|
+
*
|
|
14
|
+
* AWS documents `ArnEquals` and `ArnLike` as behaving identically, so one
|
|
15
|
+
* comparison serves both of them and both of their negated forms.
|
|
16
|
+
*/
|
|
17
|
+
export const simIamArnComparison = (actual, expected) => simIamArnMatch(expected, actual);
|
|
@@ -4,6 +4,7 @@ import type { SimIamConditionOperator } from "../../sim-iam-condition-operator.j
|
|
|
4
4
|
* Base for `ForAllValues` IAM string operators.
|
|
5
5
|
*/
|
|
6
6
|
export declare abstract class SimIamForAllValuesStringConditionOperator 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 `ForAllValues` IAM string operators.
|
|
4
4
|
*/
|
|
5
5
|
export class SimIamForAllValuesStringConditionOperator {
|
|
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 { SimIamForAllValuesStringConditionOperator } from "./sim-iam-for-all-values-string-condition-operator.js";
|
|
2
3
|
/**
|
|
3
4
|
* IAM `ForAllValues:StringEquals` condition operator.
|
|
4
5
|
*/
|
|
5
6
|
export class SimIamForAllValuesStringEquals extends SimIamForAllValuesStringConditionOperator {
|
|
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 { SimIamForAllValuesStringConditionOperator } from "./sim-iam-for-all-values-string-condition-operator.js";
|
|
3
3
|
/**
|
|
4
4
|
* IAM `ForAllValues:StringLike` condition operator.
|
|
5
5
|
*/
|
|
6
6
|
export class SimIamForAllValuesStringLike extends SimIamForAllValuesStringConditionOperator {
|
|
7
7
|
valueMatches(actual, expected) {
|
|
8
|
-
return
|
|
9
|
-
caseSensitive: true,
|
|
10
|
-
});
|
|
8
|
+
return simIamStringLikeComparison(actual, expected);
|
|
11
9
|
}
|
|
12
10
|
}
|
|
@@ -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
|
*/
|