@kensio/yulin 1.20.13 → 1.20.15

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