@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
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { SimIamPolicyDecisionValue } from "../sim-iam-decision-value.js";
|
|
2
|
+
/**
|
|
3
|
+
* What an Account's service control policies say about one request.
|
|
4
|
+
*
|
|
5
|
+
* An SCP is a filter on the permissions an Account's principals can be given.
|
|
6
|
+
* It grants nothing, so this runs as a gate in front of the identity and
|
|
7
|
+
* resource policy evaluation instead of contributing Allows to it. The rules
|
|
8
|
+
* are the ones AWS applies at the Account boundary:
|
|
9
|
+
*
|
|
10
|
+
* - a matching Deny at any level ends the request;
|
|
11
|
+
* - every level between the root and the Account has to produce a matching
|
|
12
|
+
* Allow of its own.
|
|
13
|
+
*
|
|
14
|
+
* The second rule is what makes the levels worth keeping apart. A root
|
|
15
|
+
* allowing S3 and an organizational unit allowing DynamoDB leave an Account
|
|
16
|
+
* beneath them able to do neither, because each level is asked separately.
|
|
17
|
+
*
|
|
18
|
+
* An Account outside any organization's reach is unrestricted, and this gate
|
|
19
|
+
* stands open for it. An Account inside one that holds no policy is a
|
|
20
|
+
* different case: nothing allows it anything, so the gate is shut.
|
|
21
|
+
*/
|
|
22
|
+
export class SimIamScpGate {
|
|
23
|
+
applies;
|
|
24
|
+
denyStatementRecords = [];
|
|
25
|
+
allowStatementRecords = [];
|
|
26
|
+
unallowedLevelNames = [];
|
|
27
|
+
constructor(properties) {
|
|
28
|
+
this.applies = properties.serviceControlPolicies.applies;
|
|
29
|
+
for (const level of properties.serviceControlPolicies.levels) {
|
|
30
|
+
this.evaluateLevel(level, properties);
|
|
31
|
+
}
|
|
32
|
+
if (this.applies && properties.serviceControlPolicies.levels.length === 0) {
|
|
33
|
+
this.unallowedLevelNames.push("the organization");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether any service control policy applied to this request at all.
|
|
38
|
+
*/
|
|
39
|
+
get isApplied() {
|
|
40
|
+
return this.applies;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Whether an attached policy explicitly denied the request.
|
|
44
|
+
*/
|
|
45
|
+
get isExplicitDeny() {
|
|
46
|
+
return this.denyStatementRecords.length > 0;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Whether a level left the request unallowed.
|
|
50
|
+
*
|
|
51
|
+
* A Deny is reported by `isExplicitDeny` and leaves this false, so the two
|
|
52
|
+
* name different denials and a reader can tell them apart.
|
|
53
|
+
*/
|
|
54
|
+
get isImplicitDeny() {
|
|
55
|
+
return (this.applies &&
|
|
56
|
+
!this.isExplicitDeny &&
|
|
57
|
+
this.unallowedLevelNames.length > 0);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Whether the service control policies denied the request either way.
|
|
61
|
+
*/
|
|
62
|
+
get isDenied() {
|
|
63
|
+
return this.isExplicitDeny || this.isImplicitDeny;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The decision this gate forces, where it forces one.
|
|
67
|
+
*
|
|
68
|
+
* Undefined leaves the request to the identity and resource policies, which
|
|
69
|
+
* is what an open gate means.
|
|
70
|
+
*/
|
|
71
|
+
get value() {
|
|
72
|
+
if (this.isExplicitDeny) {
|
|
73
|
+
return SimIamPolicyDecisionValue.ExplicitDeny;
|
|
74
|
+
}
|
|
75
|
+
return this.isImplicitDeny
|
|
76
|
+
? SimIamPolicyDecisionValue.ImplicitDeny
|
|
77
|
+
: undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Matching Deny statements from the attached policies.
|
|
81
|
+
*/
|
|
82
|
+
get denyStatements() {
|
|
83
|
+
return this.denyStatementRecords;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Matching Allow statements from the attached policies, across every level.
|
|
87
|
+
*/
|
|
88
|
+
get allowStatements() {
|
|
89
|
+
return this.allowStatementRecords;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The levels that allowed nothing matching the request, root first.
|
|
93
|
+
*
|
|
94
|
+
* This is what a test reads to find which node in the organization is in the
|
|
95
|
+
* way, which is the part of an SCP denial AWS makes hardest to work out.
|
|
96
|
+
*/
|
|
97
|
+
get unallowedLevels() {
|
|
98
|
+
return this.unallowedLevelNames;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* How an AWS error explains this denial, if this gate is what denied it.
|
|
102
|
+
*
|
|
103
|
+
* The wording follows the AccessDenied messages AWS returns for the two
|
|
104
|
+
* cases, so a test asserting on the message reads what it would in a real
|
|
105
|
+
* account.
|
|
106
|
+
*/
|
|
107
|
+
denialReason(action) {
|
|
108
|
+
if (this.isExplicitDeny) {
|
|
109
|
+
return "with an explicit deny in a service control policy";
|
|
110
|
+
}
|
|
111
|
+
if (this.isImplicitDeny) {
|
|
112
|
+
return `because no service control policy allows the ${action} action`;
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Record what one level of the organization said.
|
|
118
|
+
*/
|
|
119
|
+
evaluateLevel(level, properties) {
|
|
120
|
+
let allowed = false;
|
|
121
|
+
for (const policy of level.sources) {
|
|
122
|
+
allowed = this.evaluatePolicy(policy, properties) || allowed;
|
|
123
|
+
}
|
|
124
|
+
if (!allowed) {
|
|
125
|
+
this.unallowedLevelNames.push(level.nodeName);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Record the matching statements of one attached policy, and say whether it
|
|
130
|
+
* allowed the request.
|
|
131
|
+
*/
|
|
132
|
+
evaluatePolicy(policy, properties) {
|
|
133
|
+
const parsedPolicy = properties.policyDocumentParser.parse(policy.document);
|
|
134
|
+
let allowed = false;
|
|
135
|
+
for (const statement of parsedPolicy.statements) {
|
|
136
|
+
if (!properties.statementMatcher.matches(policy, statement).matched) {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
if (statement.effect === "Deny") {
|
|
140
|
+
this.denyStatementRecords.push(statement.source);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
this.allowStatementRecords.push(statement.source);
|
|
144
|
+
allowed = true;
|
|
145
|
+
}
|
|
146
|
+
return allowed;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
2
|
+
import type { SimIamPolicyDocument } from "../../policy/sim-iam-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* One service control policy applying to a simulated Account.
|
|
5
|
+
*
|
|
6
|
+
* The name travels with the document so a denial can say which policy produced
|
|
7
|
+
* it, the way an AWS denial names the policy in the console.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimIamServiceControlPolicy {
|
|
10
|
+
readonly document: SimIamPolicyDocument;
|
|
11
|
+
readonly policyName?: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The policies attached at one level of the organization above an Account.
|
|
15
|
+
*
|
|
16
|
+
* AWS requires an Allow at every level between the root and the Account, so
|
|
17
|
+
* which level a policy came from decides the request rather than decorating
|
|
18
|
+
* it. The name is what a denial calls the level.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimIamServiceControlPolicyLevel {
|
|
21
|
+
readonly nodeName: string;
|
|
22
|
+
readonly policies: readonly SimIamServiceControlPolicy[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The service control policies in force for one Account.
|
|
26
|
+
*
|
|
27
|
+
* Whether any apply is a separate fact from how many levels there are. An
|
|
28
|
+
* Account whose every policy has been detached is still inside the
|
|
29
|
+
* organization, and nothing allowing an action there denies it. An Account
|
|
30
|
+
* outside every organization is unrestricted. Both can hold no policy, so the
|
|
31
|
+
* levels alone cannot tell them apart.
|
|
32
|
+
*/
|
|
33
|
+
export interface SimIamServiceControlPolicySet {
|
|
34
|
+
readonly applies: boolean;
|
|
35
|
+
readonly levels: readonly SimIamServiceControlPolicyLevel[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Where sim IAM asks what an Account's organization allows it to do.
|
|
39
|
+
*
|
|
40
|
+
* IAM belongs to one Account and an organization spans several, so the
|
|
41
|
+
* organization is reached through this interface instead of being held by IAM
|
|
42
|
+
* itself. A standalone SimIam has no organization around it and leaves the
|
|
43
|
+
* resolver out, which is the same as an Account outside any organization.
|
|
44
|
+
*/
|
|
45
|
+
export interface SimIamServiceControlPolicyResolver {
|
|
46
|
+
/**
|
|
47
|
+
* The service control policies in force for an Account.
|
|
48
|
+
*
|
|
49
|
+
* A set that does not apply leaves the Account's identity and resource
|
|
50
|
+
* policies to decide the request on their own.
|
|
51
|
+
*/
|
|
52
|
+
serviceControlPolicySetFor(accountId: SimAwsAccountId): SimIamServiceControlPolicySet;
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -10,6 +10,7 @@ import type { SimIamAuthorizationInput } from "./context/sim-iam-auth-z-context-
|
|
|
10
10
|
import type { SimIamAuthZPolicySource } from "./context/sim-iam-auth-z-context.js";
|
|
11
11
|
import type { SimIamAccountIdentityPolicies } from "./identity/sim-iam-account-identity-policies.js";
|
|
12
12
|
import type { SimIamPolicyDecision } from "./sim-iam-decision.js";
|
|
13
|
+
import type { SimIamServiceControlPolicyResolver } from "./scp/sim-iam-scp-resolver.js";
|
|
13
14
|
interface SimIamAccountAuthZProperties {
|
|
14
15
|
readonly accountId: SimAwsAccountId;
|
|
15
16
|
readonly policies: Map<SimArn, SimIamManagedPolicy>;
|
|
@@ -24,6 +25,13 @@ interface SimIamAccountAuthZProperties {
|
|
|
24
25
|
* standalone SimIam has no simulation around it and so no resolver.
|
|
25
26
|
*/
|
|
26
27
|
readonly iamResolver?: SimIamAccountResolver | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Resolves the service control policies in force for an Account.
|
|
30
|
+
*
|
|
31
|
+
* A simulation with an organization in it supplies this. A standalone SimIam
|
|
32
|
+
* has none, and its Accounts sit outside any organization.
|
|
33
|
+
*/
|
|
34
|
+
readonly scpResolver?: SimIamServiceControlPolicyResolver | undefined;
|
|
27
35
|
}
|
|
28
36
|
/**
|
|
29
37
|
* Evaluates IAM authorization attempts against one simulated Account's IAM
|
|
@@ -10,6 +10,7 @@ import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
|
10
10
|
import type { SimIamAccountResolver } from "../registry/sim-iam-account-resolver.js";
|
|
11
11
|
import type { SimIamAuthZPolicySource } from "./context/sim-iam-auth-z-context.js";
|
|
12
12
|
import type { SimIamAccountIdentityPolicies } from "./identity/sim-iam-account-identity-policies.js";
|
|
13
|
+
import type { SimIamServiceControlPolicyResolver } from "./scp/sim-iam-scp-resolver.js";
|
|
13
14
|
interface SimIamAuthorizerProperties {
|
|
14
15
|
readonly accountId: SimAwsAccountId;
|
|
15
16
|
readonly policies: ReadonlyMap<SimArn, SimIamPolicy>;
|
|
@@ -17,6 +18,7 @@ interface SimIamAuthorizerProperties {
|
|
|
17
18
|
readonly users: ReadonlyMap<SimIamUsername, SimIamUser>;
|
|
18
19
|
readonly credentialIdentityResolver: SimAwsCredentialIdentityResolver;
|
|
19
20
|
readonly iamResolver?: SimIamAccountResolver | undefined;
|
|
21
|
+
readonly scpResolver?: SimIamServiceControlPolicyResolver | undefined;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Facade for simulated IAM authorization decisions.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What one simulated IAM authorization attempt came to.
|
|
3
|
+
*
|
|
4
|
+
* A denial is one of two things, and which one it is says what to change. An
|
|
5
|
+
* explicit deny means a statement matched and refused. An implicit deny means
|
|
6
|
+
* nothing allowed the request in the first place.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SimIamPolicyDecisionValue: {
|
|
9
|
+
readonly ExplicitDeny: "ExplicitDeny";
|
|
10
|
+
readonly Allow: "Allow";
|
|
11
|
+
readonly ImplicitDeny: "ImplicitDeny";
|
|
12
|
+
};
|
|
13
|
+
export type SimIamPolicyDecisionValue = (typeof SimIamPolicyDecisionValue)[keyof typeof SimIamPolicyDecisionValue];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What one simulated IAM authorization attempt came to.
|
|
3
|
+
*
|
|
4
|
+
* A denial is one of two things, and which one it is says what to change. An
|
|
5
|
+
* explicit deny means a statement matched and refused. An implicit deny means
|
|
6
|
+
* nothing allowed the request in the first place.
|
|
7
|
+
*/
|
|
8
|
+
export const SimIamPolicyDecisionValue = {
|
|
9
|
+
ExplicitDeny: "ExplicitDeny",
|
|
10
|
+
Allow: "Allow",
|
|
11
|
+
ImplicitDeny: "ImplicitDeny",
|
|
12
|
+
};
|
|
@@ -2,36 +2,39 @@ import type { SimIamPolicyDocumentStatement } from "../policy/sim-iam-policy.js"
|
|
|
2
2
|
import type { SimIamAuthZContext } from "./context/sim-iam-auth-z-context.js";
|
|
3
3
|
import { SimIamPolicyDocumentParser } from "../policy/parse/sim-iam-document-parser.js";
|
|
4
4
|
import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
export type SimIamPolicyDecisionValue = (typeof SimIamPolicyDecisionValue)[keyof typeof SimIamPolicyDecisionValue];
|
|
5
|
+
import { SimIamScpGate } from "./scp/sim-iam-scp-gate.js";
|
|
6
|
+
import { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
7
|
+
import type { SimIamUnevaluatedStatement } from "./unevaluated/sim-iam-unevaluated-statement.type.js";
|
|
8
|
+
export { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
11
9
|
/**
|
|
12
10
|
* Decision for one simulated IAM policy authorization attempt.
|
|
13
11
|
*
|
|
14
|
-
* This evaluates already-discovered identity
|
|
15
|
-
* does not fetch attached policies itself, apply trust
|
|
16
|
-
* evaluate permissions boundaries,
|
|
17
|
-
* access.
|
|
12
|
+
* This evaluates already-discovered identity, resource, and service control
|
|
13
|
+
* policy documents. It does not fetch attached policies itself, apply trust
|
|
14
|
+
* policy semantics, evaluate permissions boundaries, or enforce service
|
|
15
|
+
* command access.
|
|
18
16
|
*
|
|
19
17
|
* The simulator currently models the common IAM authorization rules:
|
|
20
18
|
*
|
|
21
19
|
* - an explicit Deny in any evaluated policy wins;
|
|
20
|
+
* - the caller's Account has to get past its service control policies, which
|
|
21
|
+
* filter permissions and grant none;
|
|
22
22
|
* - the Allows found must satisfy the request's allow requirement, which is
|
|
23
23
|
* either side within one Account and both sides across Accounts;
|
|
24
24
|
* - otherwise the request is implicitly denied.
|
|
25
25
|
*
|
|
26
|
+
* Reading the policies belongs to SimIamPolicyEvaluation for the two sides
|
|
27
|
+
* that can allow, and to SimIamScpGate for the Account boundary. This class
|
|
28
|
+
* combines what they found.
|
|
29
|
+
*
|
|
26
30
|
* Resource policies are expected to be supplied by the service that owns the
|
|
27
31
|
* target resource.
|
|
28
32
|
*/
|
|
29
33
|
export declare class SimIamPolicyDecision {
|
|
30
34
|
private readonly request;
|
|
31
|
-
private readonly
|
|
35
|
+
private readonly policies;
|
|
36
|
+
private readonly scpGate;
|
|
32
37
|
private readonly statementMatcher;
|
|
33
|
-
private readonly explicitDenyStatementRecords;
|
|
34
|
-
private readonly allows;
|
|
35
38
|
constructor(request: SimIamAuthZContext, policyDocumentParser?: SimIamPolicyDocumentParser);
|
|
36
39
|
/**
|
|
37
40
|
* Resolved caller against which this authorization decision was evaluated.
|
|
@@ -70,6 +73,24 @@ export declare class SimIamPolicyDecision {
|
|
|
70
73
|
* Matching explicit Deny statements.
|
|
71
74
|
*/
|
|
72
75
|
get explicitDenyStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
76
|
+
/**
|
|
77
|
+
* What the caller Account's service control policies said about the request.
|
|
78
|
+
*
|
|
79
|
+
* This is the organization's verdict on its own, apart from the identity and
|
|
80
|
+
* resource sides. It reports whether the Account boundary denied the request
|
|
81
|
+
* and which of its statements matched.
|
|
82
|
+
*/
|
|
83
|
+
get serviceControlPolicy(): SimIamScpGate;
|
|
84
|
+
/**
|
|
85
|
+
* How an AccessDenied error should explain this denial, where there is more
|
|
86
|
+
* to say than the action and the resource.
|
|
87
|
+
*
|
|
88
|
+
* A service turns a denied decision into an error and passes this through,
|
|
89
|
+
* so an SCP denial reads the way it does in a real account. A matching Deny
|
|
90
|
+
* in an identity or resource policy is what `value` reports first, and it
|
|
91
|
+
* needs nothing added to the message, so it leaves this absent.
|
|
92
|
+
*/
|
|
93
|
+
get denialReason(): string | undefined;
|
|
73
94
|
/**
|
|
74
95
|
* Matching Allow statements, from both policy sides.
|
|
75
96
|
*
|
|
@@ -78,6 +99,16 @@ export declare class SimIamPolicyDecision {
|
|
|
78
99
|
* from each side.
|
|
79
100
|
*/
|
|
80
101
|
get allowStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
102
|
+
/**
|
|
103
|
+
* The statements the simulator could not evaluate, and why.
|
|
104
|
+
*
|
|
105
|
+
* Sim IAM fails closed on a condition operator it has no implementation
|
|
106
|
+
* for, and a statement holding one matches nothing. A Deny that would have
|
|
107
|
+
* stopped the request in a real account leaves an ordinary Allow here. A
|
|
108
|
+
* decision reached over policies the simulator read in full reports
|
|
109
|
+
* nothing.
|
|
110
|
+
*/
|
|
111
|
+
get unevaluatedStatements(): readonly SimIamUnevaluatedStatement[];
|
|
81
112
|
/**
|
|
82
113
|
* Matching Allow statements from identity-based policies.
|
|
83
114
|
*/
|
|
@@ -90,6 +121,4 @@ export declare class SimIamPolicyDecision {
|
|
|
90
121
|
* Matching Allow statements originating from trust policies.
|
|
91
122
|
*/
|
|
92
123
|
get trustAllowStatements(): readonly SimIamPolicyDocumentStatement[];
|
|
93
|
-
private evaluate;
|
|
94
|
-
private evaluatePolicy;
|
|
95
124
|
}
|
|
@@ -1,40 +1,52 @@
|
|
|
1
1
|
import { SimIamPolicyDocumentParser } from "../policy/parse/sim-iam-document-parser.js";
|
|
2
2
|
import { SimIamPolicyStatementMatcher } from "./match/sim-iam-policy-statement-matcher.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
ImplicitDeny: "ImplicitDeny",
|
|
8
|
-
};
|
|
3
|
+
import { SimIamPolicyEvaluation } from "./allow/sim-iam-policy-evaluation.js";
|
|
4
|
+
import { SimIamScpGate } from "./scp/sim-iam-scp-gate.js";
|
|
5
|
+
import { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
6
|
+
export { SimIamPolicyDecisionValue } from "./sim-iam-decision-value.js";
|
|
9
7
|
/**
|
|
10
8
|
* Decision for one simulated IAM policy authorization attempt.
|
|
11
9
|
*
|
|
12
|
-
* This evaluates already-discovered identity
|
|
13
|
-
* does not fetch attached policies itself, apply trust
|
|
14
|
-
* evaluate permissions boundaries,
|
|
15
|
-
* access.
|
|
10
|
+
* This evaluates already-discovered identity, resource, and service control
|
|
11
|
+
* policy documents. It does not fetch attached policies itself, apply trust
|
|
12
|
+
* policy semantics, evaluate permissions boundaries, or enforce service
|
|
13
|
+
* command access.
|
|
16
14
|
*
|
|
17
15
|
* The simulator currently models the common IAM authorization rules:
|
|
18
16
|
*
|
|
19
17
|
* - an explicit Deny in any evaluated policy wins;
|
|
18
|
+
* - the caller's Account has to get past its service control policies, which
|
|
19
|
+
* filter permissions and grant none;
|
|
20
20
|
* - the Allows found must satisfy the request's allow requirement, which is
|
|
21
21
|
* either side within one Account and both sides across Accounts;
|
|
22
22
|
* - otherwise the request is implicitly denied.
|
|
23
23
|
*
|
|
24
|
+
* Reading the policies belongs to SimIamPolicyEvaluation for the two sides
|
|
25
|
+
* that can allow, and to SimIamScpGate for the Account boundary. This class
|
|
26
|
+
* combines what they found.
|
|
27
|
+
*
|
|
24
28
|
* Resource policies are expected to be supplied by the service that owns the
|
|
25
29
|
* target resource.
|
|
26
30
|
*/
|
|
27
31
|
export class SimIamPolicyDecision {
|
|
28
32
|
request;
|
|
29
|
-
|
|
33
|
+
policies;
|
|
34
|
+
scpGate;
|
|
30
35
|
statementMatcher;
|
|
31
|
-
explicitDenyStatementRecords = [];
|
|
32
|
-
allows = new SimIamAllowStatements();
|
|
33
36
|
constructor(request, policyDocumentParser = new SimIamPolicyDocumentParser()) {
|
|
37
|
+
const statementMatcher = new SimIamPolicyStatementMatcher(request);
|
|
34
38
|
this.request = request;
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
|
|
39
|
+
this.statementMatcher = statementMatcher;
|
|
40
|
+
this.policies = new SimIamPolicyEvaluation({
|
|
41
|
+
policies: [...request.identityPolicies, ...request.resourcePolicies],
|
|
42
|
+
policyDocumentParser,
|
|
43
|
+
statementMatcher,
|
|
44
|
+
});
|
|
45
|
+
this.scpGate = new SimIamScpGate({
|
|
46
|
+
serviceControlPolicies: request.serviceControlPolicies,
|
|
47
|
+
policyDocumentParser,
|
|
48
|
+
statementMatcher,
|
|
49
|
+
});
|
|
38
50
|
}
|
|
39
51
|
/**
|
|
40
52
|
* Resolved caller against which this authorization decision was evaluated.
|
|
@@ -49,13 +61,15 @@ export class SimIamPolicyDecision {
|
|
|
49
61
|
* Final IAM decision value.
|
|
50
62
|
*/
|
|
51
63
|
get value() {
|
|
52
|
-
if (this.
|
|
64
|
+
if (this.policies.isExplicitDeny) {
|
|
53
65
|
return SimIamPolicyDecisionValue.ExplicitDeny;
|
|
54
66
|
}
|
|
55
|
-
if (this.
|
|
56
|
-
return
|
|
67
|
+
if (this.scpGate.value !== undefined) {
|
|
68
|
+
return this.scpGate.value;
|
|
57
69
|
}
|
|
58
|
-
return
|
|
70
|
+
return this.request.allowRequirement.isSatisfiedBy(this.policies.sides)
|
|
71
|
+
? SimIamPolicyDecisionValue.Allow
|
|
72
|
+
: SimIamPolicyDecisionValue.ImplicitDeny;
|
|
59
73
|
}
|
|
60
74
|
/**
|
|
61
75
|
* Whether the request is allowed.
|
|
@@ -87,13 +101,38 @@ export class SimIamPolicyDecision {
|
|
|
87
101
|
* An identity-policy Allow cannot substitute for the target role's trust.
|
|
88
102
|
*/
|
|
89
103
|
get isAllowedByTrustPolicy() {
|
|
90
|
-
return this.
|
|
104
|
+
return this.policies.allowStatements.trust.length > 0;
|
|
91
105
|
}
|
|
92
106
|
/**
|
|
93
107
|
* Matching explicit Deny statements.
|
|
94
108
|
*/
|
|
95
109
|
get explicitDenyStatements() {
|
|
96
|
-
return this.
|
|
110
|
+
return this.policies.explicitDenyStatements;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* What the caller Account's service control policies said about the request.
|
|
114
|
+
*
|
|
115
|
+
* This is the organization's verdict on its own, apart from the identity and
|
|
116
|
+
* resource sides. It reports whether the Account boundary denied the request
|
|
117
|
+
* and which of its statements matched.
|
|
118
|
+
*/
|
|
119
|
+
get serviceControlPolicy() {
|
|
120
|
+
return this.scpGate;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* How an AccessDenied error should explain this denial, where there is more
|
|
124
|
+
* to say than the action and the resource.
|
|
125
|
+
*
|
|
126
|
+
* A service turns a denied decision into an error and passes this through,
|
|
127
|
+
* so an SCP denial reads the way it does in a real account. A matching Deny
|
|
128
|
+
* in an identity or resource policy is what `value` reports first, and it
|
|
129
|
+
* needs nothing added to the message, so it leaves this absent.
|
|
130
|
+
*/
|
|
131
|
+
get denialReason() {
|
|
132
|
+
if (this.policies.isExplicitDeny) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
return this.scpGate.denialReason(this.request.action);
|
|
97
136
|
}
|
|
98
137
|
/**
|
|
99
138
|
* Matching Allow statements, from both policy sides.
|
|
@@ -103,46 +142,36 @@ export class SimIamPolicyDecision {
|
|
|
103
142
|
* from each side.
|
|
104
143
|
*/
|
|
105
144
|
get allowStatements() {
|
|
106
|
-
return this.
|
|
145
|
+
return this.policies.allowStatements.all;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The statements the simulator could not evaluate, and why.
|
|
149
|
+
*
|
|
150
|
+
* Sim IAM fails closed on a condition operator it has no implementation
|
|
151
|
+
* for, and a statement holding one matches nothing. A Deny that would have
|
|
152
|
+
* stopped the request in a real account leaves an ordinary Allow here. A
|
|
153
|
+
* decision reached over policies the simulator read in full reports
|
|
154
|
+
* nothing.
|
|
155
|
+
*/
|
|
156
|
+
get unevaluatedStatements() {
|
|
157
|
+
return this.statementMatcher.unevaluatedStatements.all;
|
|
107
158
|
}
|
|
108
159
|
/**
|
|
109
160
|
* Matching Allow statements from identity-based policies.
|
|
110
161
|
*/
|
|
111
162
|
get identityAllowStatements() {
|
|
112
|
-
return this.
|
|
163
|
+
return this.policies.allowStatements.identity;
|
|
113
164
|
}
|
|
114
165
|
/**
|
|
115
166
|
* Matching Allow statements from resource-based policies.
|
|
116
167
|
*/
|
|
117
168
|
get resourceAllowStatements() {
|
|
118
|
-
return this.
|
|
169
|
+
return this.policies.allowStatements.resource;
|
|
119
170
|
}
|
|
120
171
|
/**
|
|
121
172
|
* Matching Allow statements originating from trust policies.
|
|
122
173
|
*/
|
|
123
174
|
get trustAllowStatements() {
|
|
124
|
-
return this.
|
|
125
|
-
}
|
|
126
|
-
evaluate() {
|
|
127
|
-
for (const policy of [
|
|
128
|
-
...this.request.identityPolicies,
|
|
129
|
-
...this.request.resourcePolicies,
|
|
130
|
-
]) {
|
|
131
|
-
this.evaluatePolicy(policy);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
evaluatePolicy(policy) {
|
|
135
|
-
const parsedPolicy = this.policyDocumentParser.parse(policy.document);
|
|
136
|
-
for (const statement of parsedPolicy.statements) {
|
|
137
|
-
const principal = this.statementMatcher.matches(policy, statement);
|
|
138
|
-
if (!principal.matched) {
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
if (statement.effect === "Deny") {
|
|
142
|
-
this.explicitDenyStatementRecords.push(statement.source);
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
this.allows.record(policy, statement.source, principal);
|
|
146
|
-
}
|
|
175
|
+
return this.policies.allowStatements.trust;
|
|
147
176
|
}
|
|
148
177
|
}
|
|
@@ -15,6 +15,14 @@ export interface SimIamAuthorizationDecision {
|
|
|
15
15
|
readonly caller: SimAwsResolvedCaller;
|
|
16
16
|
readonly isAllowed: boolean;
|
|
17
17
|
readonly isDenied: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* How an AccessDenied error should explain this denial, where the action and
|
|
20
|
+
* the resource leave something out.
|
|
21
|
+
*
|
|
22
|
+
* A service control policy denial is the case this exists for. Absent for a
|
|
23
|
+
* denial an identity or resource policy accounts for on its own.
|
|
24
|
+
*/
|
|
25
|
+
readonly denialReason?: string | undefined;
|
|
18
26
|
}
|
|
19
27
|
/**
|
|
20
28
|
* IAM authorization capability consumed by other simulated AWS services.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionContainer } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
|
+
import { type SimIamInterServiceAuthZ } from "./sim-iam-inter-service-auth-z.js";
|
|
4
|
+
/**
|
|
5
|
+
* The Region a global service's requests are made in.
|
|
6
|
+
*
|
|
7
|
+
* IAM, CloudFront and Route53 each have one endpoint between all Regions, and
|
|
8
|
+
* that endpoint is in us-east-1. A request to one is made in us-east-1
|
|
9
|
+
* wherever the caller is. A service control policy confining an Account to a
|
|
10
|
+
* list of Regions therefore has to leave the global services' actions out of
|
|
11
|
+
* the condition, or it loses access to all of them.
|
|
12
|
+
*/
|
|
13
|
+
export declare const simIamGlobalServiceRegion: AwsRegionName;
|
|
14
|
+
/**
|
|
15
|
+
* The IAM one simulated service authorizes against, bound to its Region.
|
|
16
|
+
*
|
|
17
|
+
* A service is built for one Account and Region, and this is where it tells
|
|
18
|
+
* IAM which. A service built without IAM (a service constructed on its own,
|
|
19
|
+
* outside a simulation) gets the permissive fallback it has always had, bound
|
|
20
|
+
* to the same Region.
|
|
21
|
+
*/
|
|
22
|
+
export declare function simIamInRegion(iam: SimIamInterServiceAuthZ | undefined, regionName: AwsRegionName): SimIamInterServiceAuthZ;
|
|
23
|
+
/**
|
|
24
|
+
* The IAM deciding the requests made to one Account and Region scope.
|
|
25
|
+
*
|
|
26
|
+
* A service reaching into another scope authorizes there. Both the IAM and
|
|
27
|
+
* the Region come from the scope being reached into, wherever the request
|
|
28
|
+
* came from. This is what a scheduled invocation, an event delivery and an
|
|
29
|
+
* HTTP request served on a function's behalf all decide against.
|
|
30
|
+
*/
|
|
31
|
+
export declare function simScopeIamAuthZ(scope: SimAwsAccountRegionContainer): SimIamInterServiceAuthZ;
|