@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.
Files changed (535) hide show
  1. package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
  2. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
  3. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
  4. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
  5. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
  6. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
  7. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
  8. package/dist/service/acm/sim-acm.d.ts +1 -1
  9. package/dist/service/acm/sim-acm.js +3 -2
  10. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
  11. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
  12. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
  13. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
  14. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
  15. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
  16. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
  17. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
  18. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
  19. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
  20. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
  21. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
  22. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
  23. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
  24. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
  25. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
  26. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
  27. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
  28. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
  29. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
  30. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
  31. package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
  32. package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
  33. package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
  34. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
  35. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
  36. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
  37. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
  38. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
  39. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
  40. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
  41. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
  42. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
  43. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
  44. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
  45. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
  46. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
  47. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
  48. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
  49. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
  50. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
  51. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
  52. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
  53. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
  54. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
  55. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
  56. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
  57. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
  58. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
  59. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
  60. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
  61. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
  62. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
  63. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
  64. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
  65. package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
  66. package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
  67. package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
  68. package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
  69. package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
  70. package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
  71. package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
  72. package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
  73. package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
  74. package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
  75. package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
  76. package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
  77. package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
  78. package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
  79. package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
  80. package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
  81. package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
  82. package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
  83. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  84. package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
  85. package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
  86. package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
  87. package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
  88. package/dist/service/athena/sim-athena-executions.d.ts +1 -1
  89. package/dist/service/athena/sim-athena-executions.js +3 -2
  90. package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
  91. package/dist/service/bedrock/sim-bedrock.js +3 -2
  92. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
  93. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
  94. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  95. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  96. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  97. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
  98. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  99. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
  100. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  101. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
  102. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
  103. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
  104. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
  105. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  106. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  107. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  108. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
  109. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
  110. package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
  111. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +12 -0
  112. package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
  113. package/dist/service/cloudformation/sim-cloudformation.js +3 -2
  114. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
  115. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
  116. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  117. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  118. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
  119. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
  120. package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
  121. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
  122. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  123. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  124. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
  125. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  126. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
  127. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
  128. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
  129. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
  130. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
  131. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
  132. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
  133. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
  134. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
  135. package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
  136. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
  137. package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
  138. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
  139. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
  140. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
  141. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
  142. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
  143. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
  144. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
  145. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
  146. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
  147. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
  148. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
  149. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
  150. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
  151. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
  152. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
  153. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
  154. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
  155. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
  156. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
  157. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
  158. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
  159. package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
  160. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
  161. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
  162. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
  163. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
  164. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
  165. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
  166. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
  167. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
  168. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
  169. package/dist/service/dynamodb/sim-dynamodb.js +3 -2
  170. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
  171. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
  172. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
  173. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
  174. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
  175. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
  176. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
  177. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
  178. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
  179. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
  180. package/dist/service/ecs/sim-ecs-commands.js +3 -2
  181. package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
  182. package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
  183. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
  184. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
  185. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
  186. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
  187. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
  188. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
  189. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
  190. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
  191. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
  192. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
  193. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
  194. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
  195. package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
  196. package/dist/service/elbv2/sim-elbv2.js +3 -3
  197. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
  198. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
  199. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
  200. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
  201. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
  202. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
  203. package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
  204. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
  205. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
  206. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
  207. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
  208. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
  209. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
  210. package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
  211. package/dist/service/eventbridge/sim-event-bridge.js +3 -2
  212. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
  213. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
  214. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
  215. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
  216. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
  217. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
  218. package/dist/service/firehose/sim-firehose.d.ts +1 -1
  219. package/dist/service/firehose/sim-firehose.js +3 -2
  220. package/dist/service/glue/sim-glue.d.ts +1 -1
  221. package/dist/service/glue/sim-glue.js +3 -2
  222. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +15 -11
  223. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +5 -18
  224. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
  225. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
  226. package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
  227. package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
  228. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
  229. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
  230. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
  231. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
  232. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
  233. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
  234. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
  235. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
  236. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
  237. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
  238. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
  239. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
  240. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
  241. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  242. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
  243. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
  244. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
  245. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
  246. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
  247. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
  248. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
  249. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
  250. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
  251. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
  252. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
  253. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
  254. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
  255. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
  256. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
  257. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
  258. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
  259. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
  260. package/dist/service/iam/authorize/sim-iam-decision.d.ts +12 -0
  261. package/dist/service/iam/authorize/sim-iam-decision.js +14 -0
  262. package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
  263. package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
  264. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
  265. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
  266. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
  267. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
  268. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
  269. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
  270. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
  271. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
  272. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
  273. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
  274. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
  275. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
  276. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
  277. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
  278. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
  279. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
  280. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
  281. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
  282. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
  283. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
  284. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
  285. package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
  286. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
  287. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
  288. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
  289. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
  290. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
  291. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
  292. package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
  293. package/dist/service/kinesis/sim-kinesis.js +3 -2
  294. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
  295. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
  296. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
  297. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
  298. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
  299. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
  300. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
  301. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
  302. package/dist/service/kms/sim-kms-commands.d.ts +1 -1
  303. package/dist/service/kms/sim-kms-commands.js +3 -2
  304. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
  305. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
  306. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
  307. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
  308. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
  309. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
  310. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
  311. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
  312. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
  313. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
  314. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
  315. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
  316. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
  317. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
  318. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
  319. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
  320. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
  321. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
  322. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
  323. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
  324. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
  325. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
  326. package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
  327. package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
  328. package/dist/service/lambda/sim-lambda-commands.js +3 -2
  329. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
  330. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
  331. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
  332. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
  333. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
  334. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
  335. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
  336. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
  337. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
  338. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
  339. package/dist/service/logs/sim-logs-commands.d.ts +1 -1
  340. package/dist/service/logs/sim-logs-commands.js +3 -2
  341. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
  342. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
  343. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
  344. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
  345. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
  346. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
  347. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
  348. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
  349. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
  350. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
  351. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
  352. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
  353. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
  354. package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
  355. package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
  356. package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
  357. package/dist/service/rekognition/sim-rekognition.js +3 -2
  358. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
  359. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
  360. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
  361. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
  362. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
  363. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
  364. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
  365. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
  366. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
  367. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
  368. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
  369. package/dist/service/route53/sim-route53.d.ts +1 -1
  370. package/dist/service/route53/sim-route53.js +5 -2
  371. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
  372. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
  373. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
  374. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
  375. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
  376. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
  377. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
  378. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
  379. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
  380. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
  381. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
  382. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
  383. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
  384. package/dist/service/s3/sim-s3-commands.d.ts +1 -1
  385. package/dist/service/s3/sim-s3-commands.js +3 -2
  386. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
  387. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
  388. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
  389. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
  390. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
  391. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
  392. package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
  393. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
  394. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
  395. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
  396. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
  397. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
  398. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
  399. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
  400. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
  401. package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
  402. package/dist/service/scheduler/command/group/group.command.js +1 -0
  403. package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
  404. package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
  405. package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
  406. package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
  407. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
  408. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
  409. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
  410. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
  411. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
  412. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
  413. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  414. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
  415. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
  416. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
  417. package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
  418. package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
  419. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
  420. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
  421. package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
  422. package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
  423. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
  424. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
  425. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
  426. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
  427. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
  428. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
  429. package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
  430. package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
  431. package/dist/service/scheduler/index.d.ts +2 -0
  432. package/dist/service/scheduler/index.js +2 -0
  433. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
  434. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
  435. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
  436. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
  437. package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
  438. package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
  439. package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
  440. package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
  441. package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
  442. package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
  443. package/dist/service/scheduler/sim-scheduler.js +38 -2
  444. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
  445. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
  446. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
  447. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
  448. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
  449. package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
  450. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
  451. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
  452. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
  453. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
  454. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
  455. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
  456. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
  457. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
  458. package/dist/service/ses/sim-ses-commands.d.ts +1 -1
  459. package/dist/service/ses/sim-ses-commands.js +3 -2
  460. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
  461. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
  462. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
  463. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
  464. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
  465. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
  466. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
  467. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
  468. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
  469. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
  470. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
  471. package/dist/service/sns/sim-sns.d.ts +1 -1
  472. package/dist/service/sns/sim-sns.js +3 -2
  473. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
  474. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
  475. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
  476. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
  477. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
  478. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
  479. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
  480. package/dist/service/sqs/sim-sqs.d.ts +1 -1
  481. package/dist/service/sqs/sim-sqs.js +3 -2
  482. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
  483. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
  484. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
  485. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
  486. package/dist/service/ssm/sim-ssm.d.ts +1 -1
  487. package/dist/service/ssm/sim-ssm.js +3 -2
  488. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
  489. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
  490. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
  491. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
  492. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
  493. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
  494. package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
  495. package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
  496. package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
  497. package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
  498. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
  499. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
  500. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
  501. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
  502. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
  503. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
  504. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
  505. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
  506. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  507. package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
  508. package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
  509. package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
  510. package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
  511. package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
  512. package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
  513. package/dist/service/sts/service-role/sim-service-role.js +7 -21
  514. package/dist/service/sts/sim-sts.js +1 -0
  515. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
  516. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
  517. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
  518. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
  519. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
  520. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
  521. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
  522. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
  523. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
  524. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
  525. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
  526. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
  527. package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
  528. package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
  529. package/dist/util/clock/sim-clock-control.d.ts +3 -1
  530. package/dist/util/clock/sim-clock-control.js +2 -0
  531. package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
  532. package/dist/util/clock/sim-controllable-clock.js +2 -0
  533. package/dist/util/clock/sim-duration.d.ts +6 -2
  534. package/dist/util/clock/sim-duration.js +8 -1
  535. 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, _context: SimCloudFormationResourceDeleteContext): Promise<void>;
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, _context) {
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 iam = this.#simAws
33
- .accountRegionScope(role.accountId, this.#accountRegionScope.regionName)
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 { SimIam } from "../../iam/sim-iam.js";
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, iam: SimIam): Promise<SimAwsCaller>;
24
+ export declare function assumeSimStatesExecutionRole(target: SimServiceRoleTarget, scope: SimAwsAccountRegionContainer): Promise<SimAwsCaller>;
@@ -1,4 +1,5 @@
1
- import { assumeSimServiceRole, simServiceRoleTarget, } from "../../sts/service-role/sim-service-role.js";
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, iam) {
49
+ export async function assumeSimStatesExecutionRole(target, scope) {
49
50
  return await assumeSimServiceRole({
50
51
  target,
51
52
  servicePrincipal: simStatesServicePrincipal,
52
53
  sessionName,
53
- iam,
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.iam().authorize({
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
- sourceAccountId: properties.sourceAccountId,
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 { SimAwsAccountId } from "../../aws/sim-aws-account.js";
3
- import type { SimIam } from "../../iam/sim-iam.js";
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 IAM of the role's own Account, which is not always the target's.
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 iam: SimIam;
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
- * Read the Account and name out of a role ARN a service will assume.
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, iam, refusals } = assumption;
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)) {