@kensio/yulin 1.20.13 → 1.20.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
- package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
- package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
- package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
- package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
- package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
- package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
- package/dist/service/acm/sim-acm.d.ts +1 -1
- package/dist/service/acm/sim-acm.js +3 -2
- package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
- package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
- package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
- package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
- package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
- package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
- package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
- package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
- package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
- package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
- package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
- package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
- package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
- package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
- package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
- package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
- package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
- package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
- package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
- package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
- package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
- package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
- package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
- package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
- package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
- package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
- package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
- package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
- package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
- package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
- package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
- package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
- package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
- package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
- package/dist/service/athena/engine/sim-athena-shims.js +2 -0
- package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
- package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
- package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
- package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
- package/dist/service/athena/sim-athena-executions.d.ts +1 -1
- package/dist/service/athena/sim-athena-executions.js +3 -2
- package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
- package/dist/service/bedrock/sim-bedrock.js +3 -2
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
- package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
- package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
- package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +12 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
- package/dist/service/cloudformation/sim-cloudformation.js +3 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
- package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
- package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
- package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
- package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
- package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
- package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
- package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
- package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
- package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
- package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
- package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
- package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
- package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
- package/dist/service/dynamodb/sim-dynamodb.js +3 -2
- package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
- package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
- package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
- package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
- package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
- package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
- package/dist/service/ecs/sim-ecs-commands.js +3 -2
- package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
- package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
- package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
- package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
- package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
- package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
- package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
- package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
- package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
- package/dist/service/elbv2/sim-elbv2.js +3 -3
- package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
- package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
- package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
- package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
- package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
- package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
- package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
- package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
- package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
- package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
- package/dist/service/eventbridge/sim-event-bridge.js +3 -2
- package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
- package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
- package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
- package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
- package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
- package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
- package/dist/service/firehose/sim-firehose.d.ts +1 -1
- package/dist/service/firehose/sim-firehose.js +3 -2
- package/dist/service/glue/sim-glue.d.ts +1 -1
- package/dist/service/glue/sim-glue.js +3 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +15 -11
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +5 -18
- package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
- package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
- package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
- package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
- package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
- package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +12 -0
- package/dist/service/iam/authorize/sim-iam-decision.js +14 -0
- package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
- package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
- package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
- package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
- package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
- package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
- package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
- package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
- package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
- package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
- package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
- package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
- package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
- package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
- package/dist/service/kinesis/sim-kinesis.js +3 -2
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
- package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
- package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
- package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
- package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
- package/dist/service/kms/sim-kms-commands.d.ts +1 -1
- package/dist/service/kms/sim-kms-commands.js +3 -2
- package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
- package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
- package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
- package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
- package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
- package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
- package/dist/service/lambda/sim-lambda-commands.js +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
- package/dist/service/logs/sim-logs-commands.d.ts +1 -1
- package/dist/service/logs/sim-logs-commands.js +3 -2
- package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
- package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
- package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
- package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
- package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
- package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
- package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
- package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
- package/dist/service/rekognition/sim-rekognition.js +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
- package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
- package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
- package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
- package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
- package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
- package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.js +5 -2
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
- package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
- package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
- package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
- package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
- package/dist/service/s3/sim-s3-commands.d.ts +1 -1
- package/dist/service/s3/sim-s3-commands.js +3 -2
- package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
- package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
- package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
- package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
- package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
- package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
- package/dist/service/scheduler/command/group/group.command.js +1 -0
- package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
- package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
- package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
- package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
- package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
- package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
- package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
- package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
- package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
- package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
- package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
- package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
- package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
- package/dist/service/scheduler/index.d.ts +2 -0
- package/dist/service/scheduler/index.js +2 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
- package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
- package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
- package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
- package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
- package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
- package/dist/service/scheduler/sim-scheduler.js +38 -2
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
- package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
- package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
- package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
- package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
- package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
- package/dist/service/ses/sim-ses-commands.d.ts +1 -1
- package/dist/service/ses/sim-ses-commands.js +3 -2
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
- package/dist/service/sns/sim-sns.d.ts +1 -1
- package/dist/service/sns/sim-sns.js +3 -2
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
- package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
- package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
- package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
- package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
- package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
- package/dist/service/sqs/sim-sqs.d.ts +1 -1
- package/dist/service/sqs/sim-sqs.js +3 -2
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
- package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
- package/dist/service/ssm/sim-ssm.d.ts +1 -1
- package/dist/service/ssm/sim-ssm.js +3 -2
- package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
- package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
- package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
- package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
- package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
- package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
- package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
- package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
- package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
- package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
- package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
- package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
- package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
- package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
- package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
- package/dist/service/sts/service-role/sim-service-role.js +7 -21
- package/dist/service/sts/sim-sts.js +1 -0
- package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
- package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
- package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
- package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
- package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
- package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
- package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
- package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
- package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
- package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
- package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
- package/dist/util/clock/sim-clock-control.d.ts +3 -1
- package/dist/util/clock/sim-clock-control.js +2 -0
- package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
- package/dist/util/clock/sim-controllable-clock.js +2 -0
- package/dist/util/clock/sim-duration.d.ts +6 -2
- package/dist/util/clock/sim-duration.js +8 -1
- package/package.json +1 -1
|
@@ -13,15 +13,13 @@ export class SimCfnStepFunctionsResourceDeleter {
|
|
|
13
13
|
* Delete a simulated Step Functions resource created from a CloudFormation
|
|
14
14
|
* Resource.
|
|
15
15
|
*/
|
|
16
|
-
async delete(resourceTypeName, resource) {
|
|
16
|
+
async delete(resourceTypeName, resource, options) {
|
|
17
17
|
if (resourceTypeName !== stateMachineResourceTypeName) {
|
|
18
18
|
throw new Error(`Unsupported sim StepFunctions CloudFormation Resource ` +
|
|
19
19
|
`${resourceTypeName} deletion`);
|
|
20
20
|
}
|
|
21
21
|
const stateMachine = resource.simResource;
|
|
22
22
|
assertDefined(stateMachine, `sim state machine for CloudFormation Resource ${resource.logicalId}`);
|
|
23
|
-
await this.#stepFunctions.deleteStateMachine({
|
|
24
|
-
input: { stateMachineArn: stateMachine.arn },
|
|
25
|
-
});
|
|
23
|
+
await this.#stepFunctions.deleteStateMachine({ input: { stateMachineArn: stateMachine.arn } }, options);
|
|
26
24
|
}
|
|
27
25
|
}
|
|
@@ -28,6 +28,6 @@ export declare class SimStepFunctionsCfnResourceFactory implements SimCfnService
|
|
|
28
28
|
* Delete a simulated Step Functions resource created from a CloudFormation
|
|
29
29
|
* Resource.
|
|
30
30
|
*/
|
|
31
|
-
delete(resourceTypeName: string, resource: SimCfnResource,
|
|
31
|
+
delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
|
|
32
32
|
}
|
|
33
33
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SimCfnStateMachineCreator } from "./state-machine/sim-cfn-state-machine-creator.js";
|
|
2
2
|
import { SimCfnStepFunctionsResourceDeleter } from "./sim-cfn-step-functions-resource-deleter.js";
|
|
3
3
|
import { stateMachineResourceTypeName } from "./sim-cfn-step-functions-resource-types.js";
|
|
4
|
+
import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
4
5
|
/**
|
|
5
6
|
* CloudFormation Resource factory for simulated Step Functions resources.
|
|
6
7
|
*/
|
|
@@ -30,13 +31,13 @@ export class SimStepFunctionsCfnResourceFactory {
|
|
|
30
31
|
if (resourceTypeName !== stateMachineResourceTypeName) {
|
|
31
32
|
throw new Error(`Unsupported sim StepFunctions CloudFormation Resource ${resourceTypeName}`);
|
|
32
33
|
}
|
|
33
|
-
return await this.#stateMachineCreator.create(resource, context.resolvedProperties ?? resource.properties);
|
|
34
|
+
return await this.#stateMachineCreator.create(resource, context.resolvedProperties ?? resource.properties, simCfnResourceCallerOptions(context.caller));
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* Delete a simulated Step Functions resource created from a CloudFormation
|
|
37
38
|
* Resource.
|
|
38
39
|
*/
|
|
39
|
-
async delete(resourceTypeName, resource,
|
|
40
|
-
await this.#deleter.delete(resourceTypeName, resource);
|
|
40
|
+
async delete(resourceTypeName, resource, context) {
|
|
41
|
+
await this.#deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -3,6 +3,7 @@ import type { SimStatesDefinitionStore } from "../../definition/store/sim-states
|
|
|
3
3
|
import type { SimStepFunctions } from "../../sim-step-functions.js";
|
|
4
4
|
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
5
5
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
6
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
6
7
|
interface SimCfnStateMachineCreatorProperties {
|
|
7
8
|
readonly stepFunctions: SimStepFunctions;
|
|
8
9
|
/** Where a `DefinitionS3Location` is read from. */
|
|
@@ -24,6 +25,6 @@ export declare class SimCfnStateMachineCreator {
|
|
|
24
25
|
/**
|
|
25
26
|
* Create a state machine from an AWS::StepFunctions::StateMachine Resource.
|
|
26
27
|
*/
|
|
27
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimStateMachine>;
|
|
28
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimStateMachine>;
|
|
28
29
|
}
|
|
29
30
|
export {};
|
|
@@ -22,7 +22,7 @@ export class SimCfnStateMachineCreator {
|
|
|
22
22
|
/**
|
|
23
23
|
* Create a state machine from an AWS::StepFunctions::StateMachine Resource.
|
|
24
24
|
*/
|
|
25
|
-
async create(resource, properties) {
|
|
25
|
+
async create(resource, properties, options) {
|
|
26
26
|
const stateMachineProperties = new SimCfnStateMachineProperties({
|
|
27
27
|
resource,
|
|
28
28
|
properties,
|
|
@@ -42,7 +42,7 @@ export class SimCfnStateMachineCreator {
|
|
|
42
42
|
tags,
|
|
43
43
|
...(type !== undefined && { type }),
|
|
44
44
|
},
|
|
45
|
-
});
|
|
45
|
+
}, options);
|
|
46
46
|
const stateMachine = this.#stepFunctions.findStateMachine(name);
|
|
47
47
|
assertDefined(stateMachine, `sim state machine ${name} after CloudFormation creation`);
|
|
48
48
|
return stateMachine;
|
|
@@ -29,10 +29,8 @@ export class SimAwsStatesTaskTargets {
|
|
|
29
29
|
async invoke(invocation) {
|
|
30
30
|
const { stateName, target } = invocation;
|
|
31
31
|
const role = simStatesExecutionRoleTarget(invocation.roleArn, stateName);
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
.iam();
|
|
35
|
-
const caller = await assumeSimStatesExecutionRole(role, iam);
|
|
32
|
+
const roleScope = this.#simAws.accountRegionScope(role.accountId, this.#accountRegionScope.regionName);
|
|
33
|
+
const caller = await assumeSimStatesExecutionRole(role, roleScope);
|
|
36
34
|
return await target.run({
|
|
37
35
|
stateName,
|
|
38
36
|
payload: invocation.payload,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
-
import type {
|
|
3
|
-
import { type SimServiceRoleTarget } from "../../sts/service-role/sim-service-role.js";
|
|
2
|
+
import type { SimAwsAccountRegionContainer } from "../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import { type SimServiceRoleTarget } from "../../sts/service-role/sim-service-role-target.js";
|
|
4
4
|
/**
|
|
5
5
|
* The service principal a state machine's execution role trusts.
|
|
6
6
|
*/
|
|
@@ -21,4 +21,4 @@ export declare function simStatesExecutionRoleTarget(roleArn: string, stateName:
|
|
|
21
21
|
* rule, which reaches a function as a service principal and is admitted by the
|
|
22
22
|
* function's resource policy.
|
|
23
23
|
*/
|
|
24
|
-
export declare function assumeSimStatesExecutionRole(target: SimServiceRoleTarget,
|
|
24
|
+
export declare function assumeSimStatesExecutionRole(target: SimServiceRoleTarget, scope: SimAwsAccountRegionContainer): Promise<SimAwsCaller>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { assumeSimServiceRole,
|
|
1
|
+
import { assumeSimServiceRole, } from "../../sts/service-role/sim-service-role.js";
|
|
2
|
+
import { simServiceRoleTarget, } from "../../sts/service-role/sim-service-role-target.js";
|
|
2
3
|
import { SimStatesTaskFailure } from "../error/sim-step-functions.error.js";
|
|
3
4
|
/**
|
|
4
5
|
* The service principal a state machine's execution role trusts.
|
|
@@ -45,12 +46,12 @@ const refusals = {
|
|
|
45
46
|
* rule, which reaches a function as a service principal and is admitted by the
|
|
46
47
|
* function's resource policy.
|
|
47
48
|
*/
|
|
48
|
-
export async function assumeSimStatesExecutionRole(target,
|
|
49
|
+
export async function assumeSimStatesExecutionRole(target, scope) {
|
|
49
50
|
return await assumeSimServiceRole({
|
|
50
51
|
target,
|
|
51
52
|
servicePrincipal: simStatesServicePrincipal,
|
|
52
53
|
sessionName,
|
|
53
|
-
|
|
54
|
+
scope,
|
|
54
55
|
refusals,
|
|
55
56
|
});
|
|
56
57
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimStatesTaskFailure } from "../error/sim-step-functions.error.js";
|
|
2
|
+
import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
|
|
2
3
|
/**
|
|
3
4
|
* The action an execution needs to invoke a function.
|
|
4
5
|
*/
|
|
@@ -40,7 +41,7 @@ export class SimStatesTaskFunction {
|
|
|
40
41
|
* only its own identity policy.
|
|
41
42
|
*/
|
|
42
43
|
authorize(request, functionArn) {
|
|
43
|
-
const decision = this.#scope
|
|
44
|
+
const decision = simScopeIamAuthZ(this.#scope).authorize({
|
|
44
45
|
action: invokeAction,
|
|
45
46
|
resource: functionArn,
|
|
46
47
|
caller: request.caller,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SimArnPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
2
|
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
4
|
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.command.js";
|
|
4
5
|
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
5
6
|
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
@@ -7,6 +8,8 @@ import type { IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser
|
|
|
7
8
|
interface AssumeRoleAuthorizationCoordinatorProperties {
|
|
8
9
|
readonly sourceAccountId: SimAwsAccountId;
|
|
9
10
|
readonly iamResolver: SimIamAccountResolver;
|
|
11
|
+
/** The Region the STS request was made in. */
|
|
12
|
+
readonly regionName: AwsRegionName;
|
|
10
13
|
}
|
|
11
14
|
interface AssumeRoleAuthorizationInput {
|
|
12
15
|
readonly roleArn: string;
|
|
@@ -20,13 +20,8 @@ export class AssumeRoleAuthorizationCoordinator {
|
|
|
20
20
|
targetRoleAuthorizer;
|
|
21
21
|
constructor(properties) {
|
|
22
22
|
this.sourceAccountId = properties.sourceAccountId;
|
|
23
|
-
this.sourcePrincipalAuthorizer = new AssumeRoleSourcePrincipalAuthorizer(
|
|
24
|
-
|
|
25
|
-
iamResolver: properties.iamResolver,
|
|
26
|
-
});
|
|
27
|
-
this.targetRoleAuthorizer = new AssumeRoleTargetRoleAuthorizer({
|
|
28
|
-
iamResolver: properties.iamResolver,
|
|
29
|
-
});
|
|
23
|
+
this.sourcePrincipalAuthorizer = new AssumeRoleSourcePrincipalAuthorizer(properties);
|
|
24
|
+
this.targetRoleAuthorizer = new AssumeRoleTargetRoleAuthorizer(properties);
|
|
30
25
|
}
|
|
31
26
|
/**
|
|
32
27
|
* Require the applicable source identity and target trust permissions.
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
2
2
|
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
4
|
import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
4
5
|
interface AssumeRoleSourceAccountAuthorizerProperties {
|
|
5
6
|
readonly sourceAccountId: SimAwsAccountId;
|
|
6
7
|
readonly iamResolver: SimIamAccountResolver;
|
|
8
|
+
/**
|
|
9
|
+
* The Region the STS request was made in.
|
|
10
|
+
*/
|
|
11
|
+
readonly regionName: AwsRegionName;
|
|
7
12
|
}
|
|
8
13
|
export interface AssumeRoleSourceAuthorizationInput {
|
|
9
14
|
readonly roleArn: string;
|
|
@@ -32,6 +37,7 @@ export interface AssumeRoleSourceAuthorizationInput {
|
|
|
32
37
|
export declare class AssumeRoleSourcePrincipalAuthorizer {
|
|
33
38
|
private readonly sourceAccountId;
|
|
34
39
|
private readonly iamResolver;
|
|
40
|
+
private readonly regionName;
|
|
35
41
|
constructor(properties: AssumeRoleSourceAccountAuthorizerProperties);
|
|
36
42
|
/**
|
|
37
43
|
* Require the source Account to allow the caller to assume the target role.
|
|
@@ -16,9 +16,11 @@ import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
|
|
|
16
16
|
export class AssumeRoleSourcePrincipalAuthorizer {
|
|
17
17
|
sourceAccountId;
|
|
18
18
|
iamResolver;
|
|
19
|
+
regionName;
|
|
19
20
|
constructor(properties) {
|
|
20
21
|
this.sourceAccountId = properties.sourceAccountId;
|
|
21
22
|
this.iamResolver = properties.iamResolver;
|
|
23
|
+
this.regionName = properties.regionName;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Require the source Account to allow the caller to assume the target role.
|
|
@@ -33,6 +35,7 @@ export class AssumeRoleSourcePrincipalAuthorizer {
|
|
|
33
35
|
const decision = sourceIam.authorize({
|
|
34
36
|
action: "sts:AssumeRole",
|
|
35
37
|
resource: input.roleArn,
|
|
38
|
+
region: this.regionName,
|
|
36
39
|
caller: callerPrincipal,
|
|
37
40
|
});
|
|
38
41
|
if (decision.isExplicitDeny ||
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
2
|
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
4
|
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
4
5
|
import type { IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
5
6
|
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.command.js";
|
|
@@ -7,6 +8,10 @@ import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
|
7
8
|
import { type AssumeRoleTrustPolicyAuthorization } from "./assume-role-trust-policy-authorizer.js";
|
|
8
9
|
interface AssumeRoleTargetRoleAuthorizerProperties {
|
|
9
10
|
readonly iamResolver: SimIamAccountResolver;
|
|
11
|
+
/**
|
|
12
|
+
* The Region the STS request was made in.
|
|
13
|
+
*/
|
|
14
|
+
readonly regionName: AwsRegionName;
|
|
10
15
|
}
|
|
11
16
|
type AssumeRoleTargetRole = SimGetRoleCommandOutput["Role"];
|
|
12
17
|
interface AssumeRoleTargetAuthorizationInput {
|
|
@@ -31,6 +36,7 @@ interface AssumeRoleTargetAuthorization {
|
|
|
31
36
|
*/
|
|
32
37
|
export declare class AssumeRoleTargetRoleAuthorizer {
|
|
33
38
|
private readonly iamResolver;
|
|
39
|
+
private readonly regionName;
|
|
34
40
|
private readonly targetResolver;
|
|
35
41
|
private readonly trustPolicyAuthorizer;
|
|
36
42
|
constructor(properties: AssumeRoleTargetRoleAuthorizerProperties);
|
|
@@ -12,10 +12,12 @@ import { AssumeRoleTrustPolicyAuthorizer, } from "./assume-role-trust-policy-aut
|
|
|
12
12
|
*/
|
|
13
13
|
export class AssumeRoleTargetRoleAuthorizer {
|
|
14
14
|
iamResolver;
|
|
15
|
+
regionName;
|
|
15
16
|
targetResolver = new AssumeRoleTargetResolver();
|
|
16
17
|
trustPolicyAuthorizer = new AssumeRoleTrustPolicyAuthorizer();
|
|
17
18
|
constructor(properties) {
|
|
18
19
|
this.iamResolver = properties.iamResolver;
|
|
20
|
+
this.regionName = properties.regionName;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Resolve the requested Role, load it from the target account, and require its
|
|
@@ -38,6 +40,7 @@ export class AssumeRoleTargetRoleAuthorizer {
|
|
|
38
40
|
roleArn: input.roleArn,
|
|
39
41
|
role,
|
|
40
42
|
targetIam,
|
|
43
|
+
region: this.regionName,
|
|
41
44
|
caller: input.caller,
|
|
42
45
|
conditionContext: input.conditionContext,
|
|
43
46
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
2
3
|
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.command.js";
|
|
3
4
|
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
4
5
|
import type { SimIam } from "../../iam/sim-iam.js";
|
|
@@ -8,6 +9,11 @@ interface AssumeRoleTrustPolicyAuthorizationInput {
|
|
|
8
9
|
readonly roleArn: string;
|
|
9
10
|
readonly role: AssumeRoleTargetRole;
|
|
10
11
|
readonly targetIam: SimIam;
|
|
12
|
+
/**
|
|
13
|
+
* The Region the assume request was made in, which the trust policy and the
|
|
14
|
+
* target Account's service control policies can be conditioned on.
|
|
15
|
+
*/
|
|
16
|
+
readonly region?: AwsRegionName | undefined;
|
|
11
17
|
readonly caller: SimAwsPrincipal;
|
|
12
18
|
readonly conditionContext?: Readonly<Record<string, SimIamConditionValue>> | undefined;
|
|
13
19
|
}
|
|
@@ -37,6 +37,7 @@ export class AssumeRoleTrustPolicyAuthorizer {
|
|
|
37
37
|
const decision = input.targetIam.authorize({
|
|
38
38
|
action: "sts:AssumeRole",
|
|
39
39
|
resource: input.roleArn,
|
|
40
|
+
region: input.region,
|
|
40
41
|
caller: input.caller,
|
|
41
42
|
conditionContext: input.conditionContext,
|
|
42
43
|
resourcePolicies: [
|
|
@@ -3,9 +3,14 @@ import type { SimIamAccountResolver } from "../../../iam/registry/sim-iam-accoun
|
|
|
3
3
|
import type { SimAssumeRoleCommand, SimAssumeRoleCommandOutput } from "./assume-role.command.js";
|
|
4
4
|
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
5
5
|
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
6
|
+
import type { AwsRegionName } from "../../../aws/sim-aws-region.js";
|
|
6
7
|
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
7
8
|
interface AssumeRoleCommandHandlerProperties {
|
|
8
9
|
readonly sourceAccountId: SimAwsAccountId;
|
|
10
|
+
/**
|
|
11
|
+
* The Region this STS is in, which is the Region its requests are made in.
|
|
12
|
+
*/
|
|
13
|
+
readonly regionName: AwsRegionName;
|
|
9
14
|
readonly iamResolver: SimIamAccountResolver;
|
|
10
15
|
readonly background?: BackgroundScheduler;
|
|
11
16
|
}
|
|
@@ -22,12 +22,13 @@ export class AssumeRoleCommandHandler {
|
|
|
22
22
|
sessionCreator;
|
|
23
23
|
sourceAccountId;
|
|
24
24
|
constructor(properties) {
|
|
25
|
-
const { sourceAccountId, iamResolver, background = new BackgroundTasks(), } = properties;
|
|
25
|
+
const { sourceAccountId, regionName, iamResolver, background = new BackgroundTasks(), } = properties;
|
|
26
26
|
this.sourceAccountId = sourceAccountId;
|
|
27
27
|
this.background = background;
|
|
28
28
|
this.authorizationCoordinator = new AssumeRoleAuthorizationCoordinator({
|
|
29
29
|
sourceAccountId,
|
|
30
30
|
iamResolver,
|
|
31
|
+
regionName,
|
|
31
32
|
});
|
|
32
33
|
this.sessionCreator = new SimStsAssumeRoleSessionCreator({
|
|
33
34
|
iamResolver,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* The resource a service says it is assuming a role for, as `aws:SourceArn`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const simServiceRoleSourceArnConditionKey = "aws:SourceArn";
|
|
6
|
+
/**
|
|
7
|
+
* The Account owning that resource, as `aws:SourceAccount`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simServiceRoleSourceAccountConditionKey = "aws:SourceAccount";
|
|
10
|
+
/**
|
|
11
|
+
* Which of its own resources a service is assuming a role on behalf of.
|
|
12
|
+
*
|
|
13
|
+
* AWS recommends conditioning a service role's trust policy on these two
|
|
14
|
+
* against the confused deputy problem, so that a role trusting
|
|
15
|
+
* `scheduler.amazonaws.com` is assumable for one schedule group rather than by
|
|
16
|
+
* Scheduler at large. Which resource counts is the service's own answer, and
|
|
17
|
+
* differs between services: Scheduler names a schedule group and EventBridge
|
|
18
|
+
* names a rule.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimServiceRoleSource {
|
|
21
|
+
readonly arn: string;
|
|
22
|
+
readonly accountId: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The request-time values a trust policy statement's conditions are matched
|
|
26
|
+
* against.
|
|
27
|
+
*
|
|
28
|
+
* A service that states no source supplies neither key, so a trust policy
|
|
29
|
+
* conditioned on either fails to match instead of matching an empty string.
|
|
30
|
+
* That is the safe direction. A role scoped to one schedule group should refuse
|
|
31
|
+
* an assume request that says nothing about which group it is for.
|
|
32
|
+
*/
|
|
33
|
+
export declare function simServiceRoleConditionContext(source: SimServiceRoleSource | undefined): Readonly<Record<string, SimIamConditionValue>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The resource a service says it is assuming a role for, as `aws:SourceArn`.
|
|
3
|
+
*/
|
|
4
|
+
export const simServiceRoleSourceArnConditionKey = "aws:SourceArn";
|
|
5
|
+
/**
|
|
6
|
+
* The Account owning that resource, as `aws:SourceAccount`.
|
|
7
|
+
*/
|
|
8
|
+
export const simServiceRoleSourceAccountConditionKey = "aws:SourceAccount";
|
|
9
|
+
/**
|
|
10
|
+
* The request-time values a trust policy statement's conditions are matched
|
|
11
|
+
* against.
|
|
12
|
+
*
|
|
13
|
+
* A service that states no source supplies neither key, so a trust policy
|
|
14
|
+
* conditioned on either fails to match instead of matching an empty string.
|
|
15
|
+
* That is the safe direction. A role scoped to one schedule group should refuse
|
|
16
|
+
* an assume request that says nothing about which group it is for.
|
|
17
|
+
*/
|
|
18
|
+
export function simServiceRoleConditionContext(source) {
|
|
19
|
+
if (source === undefined) {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
[simServiceRoleSourceArnConditionKey]: source.arn,
|
|
24
|
+
[simServiceRoleSourceAccountConditionKey]: source.accountId,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
/**
|
|
4
|
+
* Which IAM a role ARN belongs to, and what the role is called there.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimServiceRoleTarget {
|
|
7
|
+
readonly accountId: SimAwsAccountId;
|
|
8
|
+
readonly roleName: string;
|
|
9
|
+
readonly roleArn: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read the Account and name out of a role ARN a service will assume.
|
|
13
|
+
*
|
|
14
|
+
* The ARN is checked for being a role ARN where the request that carried it was
|
|
15
|
+
* written, so this is reading a known shape rather than validating an unknown
|
|
16
|
+
* one.
|
|
17
|
+
*/
|
|
18
|
+
export declare function simServiceRoleTarget(roleArn: string): SimServiceRoleTarget;
|
|
19
|
+
/**
|
|
20
|
+
* The caller one assumed service-role session makes.
|
|
21
|
+
*
|
|
22
|
+
* It carries both principals. The request is attributed to the session, as it
|
|
23
|
+
* is on AWS, while the policies that apply are the role's. That is exactly the
|
|
24
|
+
* split `SimResolvedCaller` exists for.
|
|
25
|
+
*/
|
|
26
|
+
export declare function simServiceRoleCaller(target: SimServiceRoleTarget, sessionName: string): SimAwsCaller;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IamRoleArnParser } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the Account and name out of a role ARN a service will assume.
|
|
4
|
+
*
|
|
5
|
+
* The ARN is checked for being a role ARN where the request that carried it was
|
|
6
|
+
* written, so this is reading a known shape rather than validating an unknown
|
|
7
|
+
* one.
|
|
8
|
+
*/
|
|
9
|
+
export function simServiceRoleTarget(roleArn) {
|
|
10
|
+
const parts = new IamRoleArnParser().parse(roleArn);
|
|
11
|
+
return { accountId: parts.accountId, roleName: parts.roleName, roleArn };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The caller one assumed service-role session makes.
|
|
15
|
+
*
|
|
16
|
+
* It carries both principals. The request is attributed to the session, as it
|
|
17
|
+
* is on AWS, while the policies that apply are the role's. That is exactly the
|
|
18
|
+
* split `SimResolvedCaller` exists for.
|
|
19
|
+
*/
|
|
20
|
+
export function simServiceRoleCaller(target, sessionName) {
|
|
21
|
+
const session = `arn:aws:sts::${target.accountId}:assumed-role/${target.roleName}/${sessionName}`;
|
|
22
|
+
return {
|
|
23
|
+
kind: "resolved",
|
|
24
|
+
principal: { kind: "arn", arn: session },
|
|
25
|
+
identityPolicyPrincipal: { kind: "arn", arn: target.roleArn },
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
-
import type {
|
|
3
|
-
import type
|
|
4
|
-
|
|
5
|
-
* Which IAM a role ARN belongs to, and what the role is called there.
|
|
6
|
-
*/
|
|
7
|
-
export interface SimServiceRoleTarget {
|
|
8
|
-
readonly accountId: SimAwsAccountId;
|
|
9
|
-
readonly roleName: string;
|
|
10
|
-
readonly roleArn: string;
|
|
11
|
-
}
|
|
2
|
+
import type { SimAwsAccountRegionContainer } from "../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import { type SimServiceRoleSource } from "./sim-service-role-source.js";
|
|
4
|
+
import { type SimServiceRoleTarget } from "./sim-service-role-target.js";
|
|
12
5
|
/**
|
|
13
6
|
* How a service says that it could not assume a role, in its own words.
|
|
14
7
|
*
|
|
@@ -38,19 +31,22 @@ export interface SimServiceRoleAssumption {
|
|
|
38
31
|
*/
|
|
39
32
|
readonly sessionName: string;
|
|
40
33
|
/**
|
|
41
|
-
* The
|
|
34
|
+
* The Account and Region scope the role is assumed in.
|
|
35
|
+
*
|
|
36
|
+
* Its IAM is the role's own Account's, which is not always the target's, and
|
|
37
|
+
* its Region is the one the assume request is made in.
|
|
38
|
+
*/
|
|
39
|
+
readonly scope: SimAwsAccountRegionContainer;
|
|
40
|
+
/**
|
|
41
|
+
* Which of the service's own resources the role is assumed for.
|
|
42
|
+
*
|
|
43
|
+
* A service that states one has its trust policy evaluated with
|
|
44
|
+
* `aws:SourceArn` and `aws:SourceAccount` in hand, which is what a role
|
|
45
|
+
* carrying AWS's confused deputy condition needs to be assumable at all.
|
|
42
46
|
*/
|
|
43
|
-
readonly
|
|
47
|
+
readonly source?: SimServiceRoleSource | undefined;
|
|
44
48
|
readonly refusals: SimServiceRoleRefusals;
|
|
45
49
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Read the Account and name out of a role ARN a service will assume.
|
|
48
|
-
*
|
|
49
|
-
* The ARN is checked for being a role ARN where the request that carried it was
|
|
50
|
-
* written, so this is reading a known shape rather than validating an unknown
|
|
51
|
-
* one.
|
|
52
|
-
*/
|
|
53
|
-
export declare function simServiceRoleTarget(roleArn: string): SimServiceRoleTarget;
|
|
54
50
|
/**
|
|
55
51
|
* Assume a role as a service principal, and answer with the caller it makes.
|
|
56
52
|
*
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
|
|
2
|
-
import { IamRoleArnParser } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
3
2
|
import { AssumeRoleTrustPolicyAuthorizer } from "../auth-z/assume-role-trust-policy-authorizer.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
* The ARN is checked for being a role ARN where the request that carried it was
|
|
8
|
-
* written, so this is reading a known shape rather than validating an unknown
|
|
9
|
-
* one.
|
|
10
|
-
*/
|
|
11
|
-
export function simServiceRoleTarget(roleArn) {
|
|
12
|
-
const parts = new IamRoleArnParser().parse(roleArn);
|
|
13
|
-
return { accountId: parts.accountId, roleName: parts.roleName, roleArn };
|
|
14
|
-
}
|
|
3
|
+
import { simServiceRoleConditionContext, } from "./sim-service-role-source.js";
|
|
4
|
+
import { simServiceRoleCaller, } from "./sim-service-role-target.js";
|
|
15
5
|
/**
|
|
16
6
|
* Assume a role as a service principal, and answer with the caller it makes.
|
|
17
7
|
*
|
|
@@ -26,14 +16,17 @@ export function simServiceRoleTarget(roleArn) {
|
|
|
26
16
|
* exactly the split `SimResolvedCaller` exists for.
|
|
27
17
|
*/
|
|
28
18
|
export async function assumeSimServiceRole(assumption) {
|
|
29
|
-
const { target, servicePrincipal, sessionName,
|
|
19
|
+
const { target, servicePrincipal, sessionName, scope, source, refusals } = assumption;
|
|
20
|
+
const iam = scope.iam();
|
|
30
21
|
const role = await roleOrRefuse(target, iam, refusals);
|
|
31
22
|
try {
|
|
32
23
|
new AssumeRoleTrustPolicyAuthorizer().authorize({
|
|
33
24
|
roleArn: target.roleArn,
|
|
34
25
|
role,
|
|
35
26
|
targetIam: iam,
|
|
27
|
+
region: scope.accountRegionScope.regionName,
|
|
36
28
|
caller: { kind: "service", service: servicePrincipal },
|
|
29
|
+
conditionContext: simServiceRoleConditionContext(source),
|
|
37
30
|
});
|
|
38
31
|
}
|
|
39
32
|
catch (error) {
|
|
@@ -42,14 +35,7 @@ export async function assumeSimServiceRole(assumption) {
|
|
|
42
35
|
}
|
|
43
36
|
throw error;
|
|
44
37
|
}
|
|
45
|
-
return
|
|
46
|
-
kind: "resolved",
|
|
47
|
-
principal: {
|
|
48
|
-
kind: "arn",
|
|
49
|
-
arn: `arn:aws:sts::${target.accountId}:assumed-role/${target.roleName}/${sessionName}`,
|
|
50
|
-
},
|
|
51
|
-
identityPolicyPrincipal: { kind: "arn", arn: target.roleArn },
|
|
52
|
-
};
|
|
38
|
+
return simServiceRoleCaller(target, sessionName);
|
|
53
39
|
}
|
|
54
40
|
/**
|
|
55
41
|
* Load the role, refusing when it is not there.
|
|
@@ -28,6 +28,7 @@ export class SimSts {
|
|
|
28
28
|
async assumeRole(command, options) {
|
|
29
29
|
const handler = new AssumeRoleCommandHandler({
|
|
30
30
|
sourceAccountId: this.accountRegionScope.accountId,
|
|
31
|
+
regionName: this.accountRegionScope.regionName,
|
|
31
32
|
iamResolver: this.iamResolver,
|
|
32
33
|
background: this.background,
|
|
33
34
|
});
|
|
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
|
|
|
2
2
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
3
|
import type { SimWafV2 } from "../../sim-wafv2.js";
|
|
4
4
|
import { SimWafCfnWebAclAssociation } from "./sim-cfn-waf-web-acl-association.js";
|
|
5
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
5
6
|
interface SimCfnWafAssociationCreatorProperties {
|
|
6
7
|
readonly wafV2: SimWafV2;
|
|
7
8
|
}
|
|
@@ -26,7 +27,7 @@ export declare class SimCfnWafAssociationCreator {
|
|
|
26
27
|
/**
|
|
27
28
|
* Make the association an AWS::WAFv2::WebACLAssociation Resource describes.
|
|
28
29
|
*/
|
|
29
|
-
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimWafCfnWebAclAssociation>;
|
|
30
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimWafCfnWebAclAssociation>;
|
|
30
31
|
/**
|
|
31
32
|
* Take the association an AWS::WAFv2::WebACLAssociation Resource made off
|
|
32
33
|
* again.
|
|
@@ -40,6 +41,6 @@ export declare class SimCfnWafAssociationCreator {
|
|
|
40
41
|
* CloudFormation no reason to bring the association down first, and deleting
|
|
41
42
|
* the stage took the association with it, so there is nothing left to undo.
|
|
42
43
|
*/
|
|
43
|
-
delete(resource: SimCfnResource, association: SimWafCfnWebAclAssociation): Promise<void>;
|
|
44
|
+
delete(resource: SimCfnResource, association: SimWafCfnWebAclAssociation, options?: SimCfnResourceCallerOptions): Promise<void>;
|
|
44
45
|
}
|
|
45
46
|
export {};
|
|
@@ -27,7 +27,7 @@ export class SimCfnWafAssociationCreator {
|
|
|
27
27
|
/**
|
|
28
28
|
* Make the association an AWS::WAFv2::WebACLAssociation Resource describes.
|
|
29
29
|
*/
|
|
30
|
-
async create(resource, properties) {
|
|
30
|
+
async create(resource, properties, options) {
|
|
31
31
|
const config = new SimCfnWafAssociationConfig({ resource, properties });
|
|
32
32
|
const association = new SimWafCfnWebAclAssociation({
|
|
33
33
|
resourceArn: config.resourceArn(),
|
|
@@ -43,7 +43,7 @@ export class SimCfnWafAssociationCreator {
|
|
|
43
43
|
ResourceArn: association.resourceArn,
|
|
44
44
|
WebACLArn: association.webAclArn,
|
|
45
45
|
},
|
|
46
|
-
});
|
|
46
|
+
}, options);
|
|
47
47
|
return association;
|
|
48
48
|
});
|
|
49
49
|
}
|
|
@@ -60,12 +60,10 @@ export class SimCfnWafAssociationCreator {
|
|
|
60
60
|
* CloudFormation no reason to bring the association down first, and deleting
|
|
61
61
|
* the stage took the association with it, so there is nothing left to undo.
|
|
62
62
|
*/
|
|
63
|
-
async delete(resource, association) {
|
|
63
|
+
async delete(resource, association, options) {
|
|
64
64
|
await simCfnWafResourceCommand(wafWebAclAssociationResourceType, resource.logicalId, async () => {
|
|
65
65
|
try {
|
|
66
|
-
await this.#wafV2.disassociateWebAcl({
|
|
67
|
-
input: { ResourceArn: association.resourceArn },
|
|
68
|
-
});
|
|
66
|
+
await this.#wafV2.disassociateWebAcl({ input: { ResourceArn: association.resourceArn } }, options);
|
|
69
67
|
}
|
|
70
68
|
catch (error) {
|
|
71
69
|
if (!(error instanceof SimWafUnavailableEntityException)) {
|