@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,140 @@
|
|
|
1
|
+
import { simAwsAccountId } from "../aws/sim-aws-account.js";
|
|
2
|
+
import { SimOrganizationsEffectivePolicies } from "./policy/sim-organizations-effective-policies.js";
|
|
3
|
+
import { SimOrganizationsScpStore } from "./policy/sim-organizations-scp-store.js";
|
|
4
|
+
import { isSimOrganizationsUnitId, } from "./tree/sim-organizations-node.js";
|
|
5
|
+
import { SimOrganizationsTree } from "./tree/sim-organizations-tree.js";
|
|
6
|
+
/**
|
|
7
|
+
* The shape of one simulated organization: its root, the organizational units
|
|
8
|
+
* under it, and where its Accounts sit.
|
|
9
|
+
*
|
|
10
|
+
* SimOrganizations is the facade a test reaches through, and this is the half
|
|
11
|
+
* of it concerned with structure. The policies that hang on that structure are
|
|
12
|
+
* the other half.
|
|
13
|
+
*/
|
|
14
|
+
export class SimOrganizationsStructure {
|
|
15
|
+
scpStore = new SimOrganizationsScpStore();
|
|
16
|
+
tree = new SimOrganizationsTree();
|
|
17
|
+
effectivePolicies = new SimOrganizationsEffectivePolicies({
|
|
18
|
+
tree: this.tree,
|
|
19
|
+
scpStore: this.scpStore,
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* The root of this organization, which every Account sits under.
|
|
23
|
+
*/
|
|
24
|
+
root() {
|
|
25
|
+
return this.tree.root;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create an organizational unit, under the root unless a parent unit is
|
|
29
|
+
* given.
|
|
30
|
+
*/
|
|
31
|
+
createOrganizationalUnit(name, parent) {
|
|
32
|
+
return this.tree.createOrganizationalUnit(name, this.parentIdOf(parent));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Put an Account in the organization, under an organizational unit or under
|
|
36
|
+
* the root.
|
|
37
|
+
*/
|
|
38
|
+
moveAccount(accountId, parent) {
|
|
39
|
+
this.tree.placeAccount(simAwsAccountId(accountId), this.parentIdOf(parent));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Name the Account that pays the organization's bills.
|
|
43
|
+
*
|
|
44
|
+
* AWS exempts the management account from every service control policy, and
|
|
45
|
+
* so does this. An Account named here is decided by its identity and
|
|
46
|
+
* resource policies alone, whatever is attached above it.
|
|
47
|
+
*/
|
|
48
|
+
setManagementAccount(accountId) {
|
|
49
|
+
const account = simAwsAccountId(accountId);
|
|
50
|
+
this.effectivePolicies.setManagementAccount(account);
|
|
51
|
+
this.tree.placeAccount(account);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Every Account this organization holds.
|
|
55
|
+
*
|
|
56
|
+
* A test tracking down where a denial came from reads this to see which
|
|
57
|
+
* Accounts the organization is filtering at all.
|
|
58
|
+
*/
|
|
59
|
+
accountIds() {
|
|
60
|
+
return this.tree.accountIds();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Take an Account out of the organization.
|
|
64
|
+
*
|
|
65
|
+
* Nothing then filters its requests, whatever is attached above where it
|
|
66
|
+
* sat. This is how an Account leaves an organization, and it is a different
|
|
67
|
+
* thing from taking the policies off it.
|
|
68
|
+
*/
|
|
69
|
+
removeAccount(accountId) {
|
|
70
|
+
this.tree.removeAccount(simAwsAccountId(accountId));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Take an organizational unit out of the organization.
|
|
74
|
+
*
|
|
75
|
+
* Anything still under it moves up to its parent, so every Account keeps a
|
|
76
|
+
* path back to the root.
|
|
77
|
+
*/
|
|
78
|
+
removeOrganizationalUnit(target) {
|
|
79
|
+
const nodeId = this.knownNodeIdOf(target);
|
|
80
|
+
if (nodeId !== undefined) {
|
|
81
|
+
this.tree.removeOrganizationalUnit(nodeId);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The node a target names.
|
|
86
|
+
*
|
|
87
|
+
* An Account is named by its twelve-digit id and needs no place in the
|
|
88
|
+
* organization yet, because attaching a policy to one is what puts it there.
|
|
89
|
+
* A root or organizational unit, whether given as a handle or as the `r-` or
|
|
90
|
+
* `ou-` id a template carries, has to be this organization's own. One from
|
|
91
|
+
* another organization is refused rather than attached to and never read.
|
|
92
|
+
*/
|
|
93
|
+
nodeIdOf(target) {
|
|
94
|
+
if (typeof target !== "string") {
|
|
95
|
+
this.tree.requireNode(target.id);
|
|
96
|
+
return target.id;
|
|
97
|
+
}
|
|
98
|
+
if (!isSimOrganizationsUnitId(target)) {
|
|
99
|
+
return simAwsAccountId(target);
|
|
100
|
+
}
|
|
101
|
+
const nodeId = target;
|
|
102
|
+
this.tree.requireNode(nodeId);
|
|
103
|
+
return nodeId;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Refuse the whole set unless every target names a node this organization
|
|
107
|
+
* has.
|
|
108
|
+
*
|
|
109
|
+
* Attaching one policy to several nodes is one act, so it either reaches all
|
|
110
|
+
* of them or none. Failing partway would leave a policy attached where
|
|
111
|
+
* nothing knows to take it off.
|
|
112
|
+
*/
|
|
113
|
+
requireTargets(targets) {
|
|
114
|
+
for (const target of targets) {
|
|
115
|
+
this.nodeIdOf(target);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The node a target names, or nothing where this organization has no such
|
|
120
|
+
* node.
|
|
121
|
+
*
|
|
122
|
+
* Taking something off a node that has already gone is what a Stack teardown
|
|
123
|
+
* asks for when a unit came down before the policy pointing at it. There is
|
|
124
|
+
* nothing to take off, and refusing would fail a teardown over work already
|
|
125
|
+
* done.
|
|
126
|
+
*/
|
|
127
|
+
knownNodeIdOf(target) {
|
|
128
|
+
if (typeof target === "string" && !isSimOrganizationsUnitId(target)) {
|
|
129
|
+
return simAwsAccountId(target);
|
|
130
|
+
}
|
|
131
|
+
const nodeId = (typeof target === "string" ? target : target.id);
|
|
132
|
+
return this.tree.hasNode(nodeId) ? nodeId : undefined;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The node something sits under, defaulting to the root.
|
|
136
|
+
*/
|
|
137
|
+
parentIdOf(parent) {
|
|
138
|
+
return parent === undefined ? undefined : this.nodeIdOf(parent);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type SimAwsAccountId } from "../aws/sim-aws-account.js";
|
|
2
|
+
import type { SimIamPolicyDocument } from "../iam/policy/sim-iam-policy.js";
|
|
3
|
+
import type { SimIamServiceControlPolicy, SimIamServiceControlPolicyResolver, SimIamServiceControlPolicySet } from "../iam/authorize/scp/sim-iam-scp-resolver.js";
|
|
4
|
+
import { SimOrganizationsStructure } from "./sim-organizations-structure.js";
|
|
5
|
+
import { type SimOrganizationsTarget } from "./tree/sim-organizations-node.js";
|
|
6
|
+
/**
|
|
7
|
+
* Options for one attached service control policy.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimOrganizationsAttachOptions {
|
|
10
|
+
/**
|
|
11
|
+
* What to call the policy in a denial. Defaults to `ServiceControlPolicy`.
|
|
12
|
+
*/
|
|
13
|
+
readonly policyName?: string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* The id to attach the policy under, for taking it off again later.
|
|
16
|
+
*
|
|
17
|
+
* One policy attached to several nodes takes the same id at each of them.
|
|
18
|
+
* Defaults to an id of this attachment's own.
|
|
19
|
+
*/
|
|
20
|
+
readonly policyId?: string | undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Simulated AWS Organizations, holding the organization structure and the
|
|
24
|
+
* service control policies that decide what its Accounts may do.
|
|
25
|
+
*
|
|
26
|
+
* An organization spans Accounts, so one of these belongs to a SimAws rather
|
|
27
|
+
* than to an Account scope, and it is reached as `simAws.organizations()`.
|
|
28
|
+
*
|
|
29
|
+
* A service control policy filters permissions and grants none. Every level
|
|
30
|
+
* between the root and an Account has to allow an action for the Account to be
|
|
31
|
+
* allowed it, and a Deny at any level ends the request whatever else allows
|
|
32
|
+
* it. That applies to the Account root as well as to its Roles and Users, so
|
|
33
|
+
* it catches a CloudFormation deployment and an intercepted SDK call alike.
|
|
34
|
+
*
|
|
35
|
+
* The root, the organizational units and where the Accounts sit come from
|
|
36
|
+
* SimOrganizationsStructure, which this extends.
|
|
37
|
+
*/
|
|
38
|
+
export declare class SimOrganizations extends SimOrganizationsStructure implements SimIamServiceControlPolicyResolver {
|
|
39
|
+
/**
|
|
40
|
+
* Attach a service control policy to the root, an organizational unit, or an
|
|
41
|
+
* Account.
|
|
42
|
+
*
|
|
43
|
+
* The node also holds AWS's own FullAWSAccess policy, as it would in a real
|
|
44
|
+
* organization, so one Deny statement denies that action and leaves the rest
|
|
45
|
+
* of the node's Accounts working.
|
|
46
|
+
*/
|
|
47
|
+
attachServiceControlPolicy(target: SimOrganizationsTarget, document: SimIamPolicyDocument, options?: SimOrganizationsAttachOptions): string;
|
|
48
|
+
/**
|
|
49
|
+
* Take one service control policy off a node, leaving whatever else is
|
|
50
|
+
* attached there.
|
|
51
|
+
*
|
|
52
|
+
* This is what a CloudFormation teardown uses, because a node can hold
|
|
53
|
+
* policies from more than one Stack and clearing it would take another
|
|
54
|
+
* Stack's guardrail away.
|
|
55
|
+
*/
|
|
56
|
+
detachServiceControlPolicy(target: SimOrganizationsTarget, policyId: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Take AWS's FullAWSAccess policy off a node, leaving only the policies
|
|
59
|
+
* attached to it to allow anything through that level.
|
|
60
|
+
*
|
|
61
|
+
* This turns the node into an allow list. An action no policy attached there
|
|
62
|
+
* allows is denied for every Account beneath it.
|
|
63
|
+
*/
|
|
64
|
+
detachFullAwsAccess(target: SimOrganizationsTarget): void;
|
|
65
|
+
/**
|
|
66
|
+
* Remove every service control policy attached to a node.
|
|
67
|
+
*
|
|
68
|
+
* Only that node is cleared. An Account sitting in an organizational unit
|
|
69
|
+
* goes on inheriting what the levels above it say, as it does in AWS, where
|
|
70
|
+
* detaching a policy from an account leaves the account where it is. Take an
|
|
71
|
+
* Account out of the organization with `removeAccount`.
|
|
72
|
+
*
|
|
73
|
+
* A node that has already gone leaves nothing to take off, so this does
|
|
74
|
+
* nothing rather than refusing. A Stack teardown reaches that case whenever
|
|
75
|
+
* a unit came down before the policy pointing at it.
|
|
76
|
+
*/
|
|
77
|
+
detachServiceControlPolicies(target: SimOrganizationsTarget): void;
|
|
78
|
+
/**
|
|
79
|
+
* The service control policies in force for an Account, root level first.
|
|
80
|
+
*
|
|
81
|
+
* This flattens the levels, so it says what was evaluated without saying
|
|
82
|
+
* which level each policy came from. `serviceControlPolicySetFor` keeps that
|
|
83
|
+
* apart, and a denial needs it, because a level allowing nothing denies the
|
|
84
|
+
* Account whatever another level allows.
|
|
85
|
+
*/
|
|
86
|
+
serviceControlPoliciesFor(accountId: SimAwsAccountId | string): readonly SimIamServiceControlPolicy[];
|
|
87
|
+
/**
|
|
88
|
+
* The policies in force for an Account, level by level, along with whether
|
|
89
|
+
* the Account is inside this organization at all.
|
|
90
|
+
*
|
|
91
|
+
* Sim IAM reads this rather than the flattened list, because each level has
|
|
92
|
+
* to allow an action on its own.
|
|
93
|
+
*/
|
|
94
|
+
serviceControlPolicySetFor(accountId: SimAwsAccountId | string): SimIamServiceControlPolicySet;
|
|
95
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { simAwsAccountId, } from "../aws/sim-aws-account.js";
|
|
2
|
+
import { SimOrganizationsStructure } from "./sim-organizations-structure.js";
|
|
3
|
+
import { makeSimOrganizationsPolicyId, } from "./tree/sim-organizations-node.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated AWS Organizations, holding the organization structure and the
|
|
6
|
+
* service control policies that decide what its Accounts may do.
|
|
7
|
+
*
|
|
8
|
+
* An organization spans Accounts, so one of these belongs to a SimAws rather
|
|
9
|
+
* than to an Account scope, and it is reached as `simAws.organizations()`.
|
|
10
|
+
*
|
|
11
|
+
* A service control policy filters permissions and grants none. Every level
|
|
12
|
+
* between the root and an Account has to allow an action for the Account to be
|
|
13
|
+
* allowed it, and a Deny at any level ends the request whatever else allows
|
|
14
|
+
* it. That applies to the Account root as well as to its Roles and Users, so
|
|
15
|
+
* it catches a CloudFormation deployment and an intercepted SDK call alike.
|
|
16
|
+
*
|
|
17
|
+
* The root, the organizational units and where the Accounts sit come from
|
|
18
|
+
* SimOrganizationsStructure, which this extends.
|
|
19
|
+
*/
|
|
20
|
+
export class SimOrganizations extends SimOrganizationsStructure {
|
|
21
|
+
/**
|
|
22
|
+
* Attach a service control policy to the root, an organizational unit, or an
|
|
23
|
+
* Account.
|
|
24
|
+
*
|
|
25
|
+
* The node also holds AWS's own FullAWSAccess policy, as it would in a real
|
|
26
|
+
* organization, so one Deny statement denies that action and leaves the rest
|
|
27
|
+
* of the node's Accounts working.
|
|
28
|
+
*/
|
|
29
|
+
attachServiceControlPolicy(target, document, options = {}) {
|
|
30
|
+
const policyName = options.policyName ?? "ServiceControlPolicy";
|
|
31
|
+
const policyId = options.policyId ?? makeSimOrganizationsPolicyId();
|
|
32
|
+
this.scpStore.attach(this.nodeIdOf(target), policyId, document, policyName);
|
|
33
|
+
return policyId;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Take one service control policy off a node, leaving whatever else is
|
|
37
|
+
* attached there.
|
|
38
|
+
*
|
|
39
|
+
* This is what a CloudFormation teardown uses, because a node can hold
|
|
40
|
+
* policies from more than one Stack and clearing it would take another
|
|
41
|
+
* Stack's guardrail away.
|
|
42
|
+
*/
|
|
43
|
+
detachServiceControlPolicy(target, policyId) {
|
|
44
|
+
const nodeId = this.knownNodeIdOf(target);
|
|
45
|
+
if (nodeId !== undefined) {
|
|
46
|
+
this.scpStore.detach(nodeId, policyId);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Take AWS's FullAWSAccess policy off a node, leaving only the policies
|
|
51
|
+
* attached to it to allow anything through that level.
|
|
52
|
+
*
|
|
53
|
+
* This turns the node into an allow list. An action no policy attached there
|
|
54
|
+
* allows is denied for every Account beneath it.
|
|
55
|
+
*/
|
|
56
|
+
detachFullAwsAccess(target) {
|
|
57
|
+
this.scpStore.detachFullAwsAccess(this.nodeIdOf(target));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Remove every service control policy attached to a node.
|
|
61
|
+
*
|
|
62
|
+
* Only that node is cleared. An Account sitting in an organizational unit
|
|
63
|
+
* goes on inheriting what the levels above it say, as it does in AWS, where
|
|
64
|
+
* detaching a policy from an account leaves the account where it is. Take an
|
|
65
|
+
* Account out of the organization with `removeAccount`.
|
|
66
|
+
*
|
|
67
|
+
* A node that has already gone leaves nothing to take off, so this does
|
|
68
|
+
* nothing rather than refusing. A Stack teardown reaches that case whenever
|
|
69
|
+
* a unit came down before the policy pointing at it.
|
|
70
|
+
*/
|
|
71
|
+
detachServiceControlPolicies(target) {
|
|
72
|
+
const nodeId = this.knownNodeIdOf(target);
|
|
73
|
+
if (nodeId !== undefined) {
|
|
74
|
+
this.scpStore.detachAll(nodeId);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The service control policies in force for an Account, root level first.
|
|
79
|
+
*
|
|
80
|
+
* This flattens the levels, so it says what was evaluated without saying
|
|
81
|
+
* which level each policy came from. `serviceControlPolicySetFor` keeps that
|
|
82
|
+
* apart, and a denial needs it, because a level allowing nothing denies the
|
|
83
|
+
* Account whatever another level allows.
|
|
84
|
+
*/
|
|
85
|
+
serviceControlPoliciesFor(accountId) {
|
|
86
|
+
const set = this.serviceControlPolicySetFor(accountId);
|
|
87
|
+
return set.levels.flatMap((level) => level.policies);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The policies in force for an Account, level by level, along with whether
|
|
91
|
+
* the Account is inside this organization at all.
|
|
92
|
+
*
|
|
93
|
+
* Sim IAM reads this rather than the flattened list, because each level has
|
|
94
|
+
* to allow an action on its own.
|
|
95
|
+
*/
|
|
96
|
+
serviceControlPolicySetFor(accountId) {
|
|
97
|
+
return this.effectivePolicies.setFor(simAwsAccountId(accountId));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Brand } from "../../../util/brand.type.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
export type SimOrganizationsRootId = Brand<string, "SimOrganizationsRootId">;
|
|
4
|
+
export type SimOrganizationsOrganizationalUnitId = Brand<string, "SimOrganizationsOrganizationalUnitId">;
|
|
5
|
+
/**
|
|
6
|
+
* Anything a service control policy can hang on.
|
|
7
|
+
*
|
|
8
|
+
* AWS attaches a policy to the root, to an organizational unit, or to one
|
|
9
|
+
* account, and an account inherits every policy on the path down to it.
|
|
10
|
+
*/
|
|
11
|
+
export type SimOrganizationsNodeId = SimOrganizationsRootId | SimOrganizationsOrganizationalUnitId | SimAwsAccountId;
|
|
12
|
+
/**
|
|
13
|
+
* Generate an AWS-shaped organization root id.
|
|
14
|
+
*/
|
|
15
|
+
export declare function makeSimOrganizationsRootId(): SimOrganizationsRootId;
|
|
16
|
+
/**
|
|
17
|
+
* Generate an AWS-shaped organizational unit id.
|
|
18
|
+
*/
|
|
19
|
+
export declare function makeSimOrganizationsOrganizationalUnitId(rootId: SimOrganizationsRootId): SimOrganizationsOrganizationalUnitId;
|
|
20
|
+
/**
|
|
21
|
+
* Generate an AWS-shaped service control policy id.
|
|
22
|
+
*/
|
|
23
|
+
export declare function makeSimOrganizationsPolicyId(): string;
|
|
24
|
+
/**
|
|
25
|
+
* An organizational unit in a simulated organization.
|
|
26
|
+
*
|
|
27
|
+
* This is the handle a test holds on to. Pass it where a policy is attached or
|
|
28
|
+
* an Account is moved, so neither reads back as a bare string.
|
|
29
|
+
*/
|
|
30
|
+
export declare class SimOrganizationsOrganizationalUnit {
|
|
31
|
+
readonly id: SimOrganizationsOrganizationalUnitId;
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly parentId: SimOrganizationsNodeId;
|
|
34
|
+
constructor(id: SimOrganizationsOrganizationalUnitId, name: string, parentId: SimOrganizationsNodeId);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The root of a simulated organization.
|
|
38
|
+
*/
|
|
39
|
+
export declare class SimOrganizationsRoot {
|
|
40
|
+
readonly id: SimOrganizationsRootId;
|
|
41
|
+
readonly name = "Root";
|
|
42
|
+
constructor(id: SimOrganizationsRootId);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Somewhere a policy can be attached, given as a handle or as an id.
|
|
46
|
+
*
|
|
47
|
+
* An id is what a CloudFormation template carries, since a `Ref` to a unit
|
|
48
|
+
* resolves to the id AWS gave it rather than to anything holding a reference.
|
|
49
|
+
*/
|
|
50
|
+
export type SimOrganizationsTarget = SimOrganizationsRoot | SimOrganizationsOrganizationalUnit | string;
|
|
51
|
+
/**
|
|
52
|
+
* Whether an id names the root or an organizational unit.
|
|
53
|
+
*
|
|
54
|
+
* AWS ids carry their own kind in a prefix, and an Account id is twelve
|
|
55
|
+
* digits, so nothing here has to guess which of the two a string is.
|
|
56
|
+
*/
|
|
57
|
+
export declare function isSimOrganizationsUnitId(value: string): boolean;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
/**
|
|
3
|
+
* Generate an AWS-shaped organization root id.
|
|
4
|
+
*/
|
|
5
|
+
export function makeSimOrganizationsRootId() {
|
|
6
|
+
return `r-${faker.string.alphanumeric({
|
|
7
|
+
length: 4,
|
|
8
|
+
casing: "lower",
|
|
9
|
+
})}`;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Generate an AWS-shaped organizational unit id.
|
|
13
|
+
*/
|
|
14
|
+
export function makeSimOrganizationsOrganizationalUnitId(rootId) {
|
|
15
|
+
const suffix = faker.string.alphanumeric({ length: 8, casing: "lower" });
|
|
16
|
+
return `ou-${rootId.slice(2)}-${suffix}`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate an AWS-shaped service control policy id.
|
|
20
|
+
*/
|
|
21
|
+
export function makeSimOrganizationsPolicyId() {
|
|
22
|
+
return `p-${faker.string.alphanumeric({ length: 8, casing: "lower" })}`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An organizational unit in a simulated organization.
|
|
26
|
+
*
|
|
27
|
+
* This is the handle a test holds on to. Pass it where a policy is attached or
|
|
28
|
+
* an Account is moved, so neither reads back as a bare string.
|
|
29
|
+
*/
|
|
30
|
+
export class SimOrganizationsOrganizationalUnit {
|
|
31
|
+
id;
|
|
32
|
+
name;
|
|
33
|
+
parentId;
|
|
34
|
+
constructor(id, name, parentId) {
|
|
35
|
+
this.id = id;
|
|
36
|
+
this.name = name;
|
|
37
|
+
this.parentId = parentId;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The root of a simulated organization.
|
|
42
|
+
*/
|
|
43
|
+
export class SimOrganizationsRoot {
|
|
44
|
+
id;
|
|
45
|
+
name = "Root";
|
|
46
|
+
constructor(id) {
|
|
47
|
+
this.id = id;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Whether an id names the root or an organizational unit.
|
|
52
|
+
*
|
|
53
|
+
* AWS ids carry their own kind in a prefix, and an Account id is twelve
|
|
54
|
+
* digits, so nothing here has to guess which of the two a string is.
|
|
55
|
+
*/
|
|
56
|
+
export function isSimOrganizationsUnitId(value) {
|
|
57
|
+
return value.startsWith("r-") || value.startsWith("ou-");
|
|
58
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { SimOrganizationsOrganizationalUnit, type SimOrganizationsNodeId, SimOrganizationsRoot } from "./sim-organizations-node.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
/**
|
|
4
|
+
* Thrown for an organizational unit this organization has never seen.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimOrganizationsUnknownNode extends Error {
|
|
7
|
+
constructor(nodeId: string);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Where the Accounts and organizational units of one simulated organization
|
|
11
|
+
* sit relative to each other.
|
|
12
|
+
*
|
|
13
|
+
* The tree answers one question for authorization: which nodes lie on the path
|
|
14
|
+
* from the root down to an Account. Every policy on that path applies to the
|
|
15
|
+
* Account, which is what makes an organizational unit worth modelling at all.
|
|
16
|
+
*
|
|
17
|
+
* An Account joins the organization the moment it is named, whether by being
|
|
18
|
+
* moved into a unit or by having a policy attached to it. An Account never
|
|
19
|
+
* named sits outside the organization and is unrestricted.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimOrganizationsTree {
|
|
22
|
+
readonly root: SimOrganizationsRoot;
|
|
23
|
+
private readonly organizationalUnits;
|
|
24
|
+
private readonly accountParents;
|
|
25
|
+
/**
|
|
26
|
+
* Create an organizational unit, under the root unless another unit is
|
|
27
|
+
* named as its parent.
|
|
28
|
+
*/
|
|
29
|
+
createOrganizationalUnit(name: string, parentId?: SimOrganizationsNodeId): SimOrganizationsOrganizationalUnit;
|
|
30
|
+
/**
|
|
31
|
+
* Place an Account under a node, joining the organization if it was outside
|
|
32
|
+
* it.
|
|
33
|
+
*/
|
|
34
|
+
placeAccount(accountId: SimAwsAccountId, parentId?: SimOrganizationsNodeId): void;
|
|
35
|
+
/**
|
|
36
|
+
* Take an Account out of the organization.
|
|
37
|
+
*/
|
|
38
|
+
removeAccount(accountId: SimAwsAccountId): void;
|
|
39
|
+
/**
|
|
40
|
+
* Take an organizational unit out of the organization.
|
|
41
|
+
*
|
|
42
|
+
* Whatever still sits under it moves up to its parent, which is the only
|
|
43
|
+
* answer that leaves every Account on a path back to the root. AWS refuses
|
|
44
|
+
* to delete a unit that still holds anything, and a Stack tears down in
|
|
45
|
+
* reverse dependency order, so nothing should still be there.
|
|
46
|
+
*/
|
|
47
|
+
removeOrganizationalUnit(unitId: SimOrganizationsNodeId): void;
|
|
48
|
+
/**
|
|
49
|
+
* Every Account in the organization.
|
|
50
|
+
*/
|
|
51
|
+
accountIds(): readonly SimAwsAccountId[];
|
|
52
|
+
/**
|
|
53
|
+
* Whether this Account is in the organization.
|
|
54
|
+
*/
|
|
55
|
+
holds(accountId: SimAwsAccountId): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Refuse a root or organizational unit this organization never created.
|
|
58
|
+
*
|
|
59
|
+
* A handle from another simulated organization would otherwise be attached
|
|
60
|
+
* to and then never read, because no Account here has it on its path. A
|
|
61
|
+
* policy that silently applies to nothing is worse than a refusal.
|
|
62
|
+
*/
|
|
63
|
+
requireNode(nodeId: SimOrganizationsNodeId): void;
|
|
64
|
+
/**
|
|
65
|
+
* Whether this organization has a root or unit under an id.
|
|
66
|
+
*/
|
|
67
|
+
hasNode(nodeId: SimOrganizationsNodeId): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* The nodes a request against an Account is filtered by, root first.
|
|
70
|
+
*
|
|
71
|
+
* The Account itself is the last of them, because a policy attached to an
|
|
72
|
+
* Account applies alongside the ones it inherits.
|
|
73
|
+
*/
|
|
74
|
+
pathTo(accountId: SimAwsAccountId): readonly SimOrganizationsNodeId[];
|
|
75
|
+
/**
|
|
76
|
+
* What to call a node in a denial.
|
|
77
|
+
*/
|
|
78
|
+
nameOf(nodeId: SimOrganizationsNodeId): string;
|
|
79
|
+
/**
|
|
80
|
+
* Move everything under one node up to another.
|
|
81
|
+
*/
|
|
82
|
+
private reparent;
|
|
83
|
+
/**
|
|
84
|
+
* The nodes from the root down to one node, root first.
|
|
85
|
+
*/
|
|
86
|
+
private ancestors;
|
|
87
|
+
/**
|
|
88
|
+
* Refuse a node this organization never created.
|
|
89
|
+
*/
|
|
90
|
+
private requireKnown;
|
|
91
|
+
}
|