@kensio/yulin 1.20.12 → 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/command/delete-certificate/delete-certificate-authorizer.js +1 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +1 -0
- 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/auth/sim-rest-api-authorizer-policy.js +3 -0
- 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/auth/sim-http-api-authorizer-policy.js +3 -0
- 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/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js +10 -0
- package/dist/service/aws/sim-aws.d.ts +18 -0
- package/dist/service/aws/sim-aws.js +19 -0
- 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/organizations/sim-organizations-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn-value-adapter.js +23 -0
- package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.d.ts +66 -0
- package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.js +136 -0
- package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +7 -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/command/create-distribution/create-distribution-authorizer.js +1 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +1 -0
- package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js +1 -0
- package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +1 -0
- package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js +1 -0
- package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
- package/dist/service/cloudfront/edge/sim-cf-edge-association-auth-z.js +1 -0
- package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +1 -0
- 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/command/authorize/sim-cloudwatch-decide.js +1 -0
- 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/command/authorize/sim-cognito-authorizer.js +1 -0
- 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/command/authorize/sim-dynamodb-authorizer.js +1 -0
- 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/command/authorize/sim-firehose-authorizer.js +1 -0
- package/dist/service/firehose/sim-firehose.d.ts +1 -1
- package/dist/service/firehose/sim-firehose.js +3 -2
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js +1 -0
- package/dist/service/glue/sim-glue.d.ts +1 -1
- package/dist/service/glue/sim-glue.js +3 -2
- package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.d.ts +45 -0
- package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.js +59 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -15
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +20 -22
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +31 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.d.ts +46 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.js +71 -0
- 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/scp/sim-iam-scp-gate.d.ts +96 -0
- package/dist/service/iam/authorize/scp/sim-iam-scp-gate.js +148 -0
- package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.d.ts +53 -0
- package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.js +1 -0
- package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +8 -0
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js +1 -0
- package/dist/service/iam/authorize/sim-iam-action-authorizer.js +1 -0
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +2 -0
- package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -0
- package/dist/service/iam/authorize/sim-iam-decision-value.d.ts +13 -0
- package/dist/service/iam/authorize/sim-iam-decision-value.js +12 -0
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +44 -15
- package/dist/service/iam/authorize/sim-iam-decision.js +77 -48
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +8 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +1 -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/iam/error/sim-iam.error.d.ts +8 -0
- package/dist/service/iam/error/sim-iam.error.js +2 -1
- package/dist/service/iam/sim-iam-account-parts.d.ts +9 -0
- package/dist/service/iam/sim-iam-account-parts.js +1 -0
- 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/command/authorize/sim-kinesis-authorizer.js +1 -0
- 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/command/authorize/sim-kms-authorizer.js +2 -0
- 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/command/create-function/create-function-authorizer.js +1 -0
- package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +1 -0
- package/dist/service/lambda/command/event-invoke-config/event-invoke-config-authorizer.js +1 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.js +1 -0
- package/dist/service/lambda/command/get-function/get-function-authorizer.js +1 -0
- package/dist/service/lambda/command/invoke/invoke-authorizer.js +1 -0
- package/dist/service/lambda/command/list-functions/list-functions-authorizer.js +1 -0
- package/dist/service/lambda/command/update-function-code/update-function-code-authorizer.js +1 -0
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +1 -0
- package/dist/service/lambda/command/version/version-authorizer.js +1 -0
- 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/command/authorize/sim-logs-authorizer.js +1 -0
- 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/organizations/cfn/sim-cfn-organization-creator.d.ts +19 -0
- package/dist/service/organizations/cfn/sim-cfn-organization-creator.js +25 -0
- package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.d.ts +16 -0
- package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.js +21 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.d.ts +20 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.js +34 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.d.ts +21 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.js +40 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.d.ts +20 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.js +33 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-properties.d.ts +36 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-properties.js +78 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-record.d.ts +40 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-record.js +54 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-remover.d.ts +17 -0
- package/dist/service/organizations/cfn/sim-cfn-organizations-remover.js +40 -0
- package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.d.ts +24 -0
- package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.js +50 -0
- package/dist/service/organizations/index.d.ts +6 -0
- package/dist/service/organizations/index.js +6 -0
- package/dist/service/organizations/policy/sim-organizations-effective-policies.d.ts +43 -0
- package/dist/service/organizations/policy/sim-organizations-effective-policies.js +58 -0
- package/dist/service/organizations/policy/sim-organizations-scp-store.d.ts +61 -0
- package/dist/service/organizations/policy/sim-organizations-scp-store.js +103 -0
- package/dist/service/organizations/sim-organizations-structure.d.ts +94 -0
- package/dist/service/organizations/sim-organizations-structure.js +140 -0
- package/dist/service/organizations/sim-organizations.d.ts +95 -0
- package/dist/service/organizations/sim-organizations.js +99 -0
- package/dist/service/organizations/tree/sim-organizations-node.d.ts +57 -0
- package/dist/service/organizations/tree/sim-organizations-node.js +58 -0
- package/dist/service/organizations/tree/sim-organizations-tree.d.ts +91 -0
- package/dist/service/organizations/tree/sim-organizations-tree.js +154 -0
- 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/command/change-resource-record-sets/change-resource-record-sets-authorizer.js +1 -0
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone-authorizer.js +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +1 -0
- package/dist/service/route53/command/dnssec/sim-route53-dnssec-authorizer.js +1 -0
- package/dist/service/route53/command/get-hosted-zone/get-hosted-zone-authorizer.js +1 -0
- package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name-authorizer.js +1 -0
- package/dist/service/route53/command/list-resource-record-sets/list-resource-record-sets-authorizer.js +1 -0
- 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/create-bucket/create-bucket.handler.js +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +1 -0
- package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +1 -0
- package/dist/service/s3/command/delete-object/delete-object-authorizer.js +1 -0
- package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +1 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.js +1 -0
- package/dist/service/s3/command/head-bucket/head-bucket-authorizer.js +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +1 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.js +1 -0
- package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js +1 -0
- package/dist/service/s3/command/notification/sim-s3-notification-authorizer.js +1 -0
- package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +1 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.js +1 -0
- 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/command/authorize/sim-secrets-manager-authorizer.js +1 -0
- 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/command/authorize/sim-ses-authorizer.js +1 -0
- 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/command/authorize/sim-sqs-authorizer.js +1 -0
- 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/command/authorize/sim-ssm-authorizer.js +1 -0
- 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/command/authorize/sim-wafv2-authorizer.js +1 -0
- 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 +5 -1
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
|
*/
|
|
@@ -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.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { SimIamPolicyDocumentStatement } from "../../policy/sim-iam-policy.js";
|
|
2
|
+
import type { SimIamPolicyDocumentParser } from "../../policy/parse/sim-iam-document-parser.js";
|
|
3
|
+
import type { SimIamPolicyStatementMatcher } from "../match/sim-iam-policy-statement-matcher.js";
|
|
4
|
+
import type { SimIamAuthZServiceControlPolicies } from "../context/sim-iam-auth-z-context.js";
|
|
5
|
+
import { SimIamPolicyDecisionValue } from "../sim-iam-decision-value.js";
|
|
6
|
+
interface SimIamScpGateProperties {
|
|
7
|
+
readonly serviceControlPolicies: SimIamAuthZServiceControlPolicies;
|
|
8
|
+
readonly policyDocumentParser: SimIamPolicyDocumentParser;
|
|
9
|
+
readonly statementMatcher: SimIamPolicyStatementMatcher;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What an Account's service control policies say about one request.
|
|
13
|
+
*
|
|
14
|
+
* An SCP is a filter on the permissions an Account's principals can be given.
|
|
15
|
+
* It grants nothing, so this runs as a gate in front of the identity and
|
|
16
|
+
* resource policy evaluation instead of contributing Allows to it. The rules
|
|
17
|
+
* are the ones AWS applies at the Account boundary:
|
|
18
|
+
*
|
|
19
|
+
* - a matching Deny at any level ends the request;
|
|
20
|
+
* - every level between the root and the Account has to produce a matching
|
|
21
|
+
* Allow of its own.
|
|
22
|
+
*
|
|
23
|
+
* The second rule is what makes the levels worth keeping apart. A root
|
|
24
|
+
* allowing S3 and an organizational unit allowing DynamoDB leave an Account
|
|
25
|
+
* beneath them able to do neither, because each level is asked separately.
|
|
26
|
+
*
|
|
27
|
+
* An Account outside any organization's reach is unrestricted, and this gate
|
|
28
|
+
* stands open for it. An Account inside one that holds no policy is a
|
|
29
|
+
* different case: nothing allows it anything, so the gate is shut.
|
|
30
|
+
*/
|
|
31
|
+
export declare class SimIamScpGate {
|
|
32
|
+
private readonly applies;
|
|
33
|
+
private readonly denyStatementRecords;
|
|
34
|
+
private readonly allowStatementRecords;
|
|
35
|
+
private readonly unallowedLevelNames;
|
|
36
|
+
constructor(properties: SimIamScpGateProperties);
|
|
37
|
+
/**
|
|
38
|
+
* Whether any service control policy applied to this request at all.
|
|
39
|
+
*/
|
|
40
|
+
get isApplied(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether an attached policy explicitly denied the request.
|
|
43
|
+
*/
|
|
44
|
+
get isExplicitDeny(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether a level left the request unallowed.
|
|
47
|
+
*
|
|
48
|
+
* A Deny is reported by `isExplicitDeny` and leaves this false, so the two
|
|
49
|
+
* name different denials and a reader can tell them apart.
|
|
50
|
+
*/
|
|
51
|
+
get isImplicitDeny(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the service control policies denied the request either way.
|
|
54
|
+
*/
|
|
55
|
+
get isDenied(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* The decision this gate forces, where it forces one.
|
|
58
|
+
*
|
|
59
|
+
* Undefined leaves the request to the identity and resource policies, which
|
|
60
|
+
* is what an open gate means.
|
|
61
|
+
*/
|
|
62
|
+
get value(): SimIamPolicyDecisionValue | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Matching Deny statements from the attached policies.
|
|
65
|
+
*/
|
|
66
|
+
get denyStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
67
|
+
/**
|
|
68
|
+
* Matching Allow statements from the attached policies, across every level.
|
|
69
|
+
*/
|
|
70
|
+
get allowStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
71
|
+
/**
|
|
72
|
+
* The levels that allowed nothing matching the request, root first.
|
|
73
|
+
*
|
|
74
|
+
* This is what a test reads to find which node in the organization is in the
|
|
75
|
+
* way, which is the part of an SCP denial AWS makes hardest to work out.
|
|
76
|
+
*/
|
|
77
|
+
get unallowedLevels(): readonly string[];
|
|
78
|
+
/**
|
|
79
|
+
* How an AWS error explains this denial, if this gate is what denied it.
|
|
80
|
+
*
|
|
81
|
+
* The wording follows the AccessDenied messages AWS returns for the two
|
|
82
|
+
* cases, so a test asserting on the message reads what it would in a real
|
|
83
|
+
* account.
|
|
84
|
+
*/
|
|
85
|
+
denialReason(action: string): string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Record what one level of the organization said.
|
|
88
|
+
*/
|
|
89
|
+
private evaluateLevel;
|
|
90
|
+
/**
|
|
91
|
+
* Record the matching statements of one attached policy, and say whether it
|
|
92
|
+
* allowed the request.
|
|
93
|
+
*/
|
|
94
|
+
private evaluatePolicy;
|
|
95
|
+
}
|
|
96
|
+
export {};
|