@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
@@ -18,7 +18,7 @@ export class SimCfnEventBusCreator {
18
18
  /**
19
19
  * Create an event bus from an AWS::Events::EventBus Resource.
20
20
  */
21
- async create(resource, properties) {
21
+ async create(resource, properties, options) {
22
22
  const busProperties = new SimCfnEventBusProperties({
23
23
  resource,
24
24
  properties,
@@ -27,9 +27,7 @@ export class SimCfnEventBusCreator {
27
27
  const name = busProperties.name();
28
28
  const description = busProperties.description();
29
29
  return await simCfnEventBridgeResourceCreation(eventBusResourceType, resource.logicalId, async () => {
30
- await this.eventBridge.createEventBus({
31
- input: { Name: name, Description: description },
32
- });
30
+ await this.eventBridge.createEventBus({ input: { Name: name, Description: description } }, options);
33
31
  const bus = this.eventBridge.findEventBus(name);
34
32
  assertDefined(bus, `sim EventBridge bus ${name} after CloudFormation creation`);
35
33
  return bus;
@@ -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 { SimEventRule } from "../../rule/sim-event-rule.js";
4
4
  import type { SimEventBridge } from "../../sim-event-bridge.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnEventRuleCreatorProperties {
6
7
  readonly eventBridge: SimEventBridge;
7
8
  }
@@ -23,7 +24,7 @@ export declare class SimCfnEventRuleCreator {
23
24
  /**
24
25
  * Create a rule, and its targets, from an AWS::Events::Rule Resource.
25
26
  */
26
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimEventRule>;
27
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimEventRule>;
27
28
  /**
28
29
  * Add everything the rule's own `Targets` list declares.
29
30
  */
@@ -22,7 +22,7 @@ export class SimCfnEventRuleCreator {
22
22
  /**
23
23
  * Create a rule, and its targets, from an AWS::Events::Rule Resource.
24
24
  */
25
- async create(resource, properties) {
25
+ async create(resource, properties, options) {
26
26
  const ruleProperties = new SimCfnEventRuleProperties({
27
27
  resource,
28
28
  properties,
@@ -41,8 +41,8 @@ export class SimCfnEventRuleCreator {
41
41
  State: ruleProperties.state(),
42
42
  Description: ruleProperties.description(),
43
43
  },
44
- });
45
- await this.putTargets(name, busName, targets);
44
+ }, options);
45
+ await this.putTargets(name, busName, targets, options);
46
46
  const rule = this.eventBridge.findRule(name, busName);
47
47
  assertDefined(rule, `sim EventBridge rule ${name} after CloudFormation creation`);
48
48
  return rule;
@@ -51,7 +51,7 @@ export class SimCfnEventRuleCreator {
51
51
  /**
52
52
  * Add everything the rule's own `Targets` list declares.
53
53
  */
54
- async putTargets(ruleName, busName, targets) {
54
+ async putTargets(ruleName, busName, targets, options) {
55
55
  if (targets.length === 0) {
56
56
  return;
57
57
  }
@@ -65,6 +65,6 @@ export class SimCfnEventRuleCreator {
65
65
  Input: target.Input,
66
66
  })),
67
67
  },
68
- });
68
+ }, options);
69
69
  }
70
70
  }
@@ -1,4 +1,5 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
2
3
  import type { SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
4
  import type { SimEventBridge } from "../sim-event-bridge.js";
4
5
  interface SimCfnEventBridgeResourceDeleterProperties {
@@ -18,7 +19,7 @@ export declare class SimCfnEventBridgeResourceDeleter {
18
19
  /**
19
20
  * Delete one simulated EventBridge Resource.
20
21
  */
21
- delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<void>;
22
+ delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<void>;
22
23
  /**
23
24
  * Delete the bus a Resource created, and the rules that hang off it.
24
25
  */
@@ -16,14 +16,14 @@ export class SimCfnEventBridgeResourceDeleter {
16
16
  /**
17
17
  * Delete one simulated EventBridge Resource.
18
18
  */
19
- async delete(resourceTypeName, resource, properties) {
19
+ async delete(resourceTypeName, resource, properties, options) {
20
20
  switch (resourceTypeName) {
21
21
  case "EventBus": {
22
- await this.deleteBus(resource, properties);
22
+ await this.deleteBus(resource, properties, options);
23
23
  return;
24
24
  }
25
25
  case "Rule": {
26
- await this.deleteRule(resource, properties);
26
+ await this.deleteRule(resource, properties, options);
27
27
  return;
28
28
  }
29
29
  default: {
@@ -34,17 +34,17 @@ export class SimCfnEventBridgeResourceDeleter {
34
34
  /**
35
35
  * Delete the bus a Resource created, and the rules that hang off it.
36
36
  */
37
- async deleteBus(resource, properties) {
37
+ async deleteBus(resource, properties, options) {
38
38
  const name = new SimCfnEventBusProperties({
39
39
  resource,
40
40
  properties,
41
41
  }).name();
42
- await this.eventBridge.deleteEventBus({ input: { Name: name } });
42
+ await this.eventBridge.deleteEventBus({ input: { Name: name } }, options);
43
43
  }
44
44
  /**
45
45
  * Delete the rule a Resource created, and its targets with it.
46
46
  */
47
- async deleteRule(resource, properties) {
47
+ async deleteRule(resource, properties, options) {
48
48
  const ruleProperties = new SimCfnEventRuleProperties({
49
49
  resource,
50
50
  properties,
@@ -54,6 +54,6 @@ export class SimCfnEventBridgeResourceDeleter {
54
54
  Name: ruleProperties.name(),
55
55
  EventBusName: ruleProperties.busName(),
56
56
  },
57
- });
57
+ }, options);
58
58
  }
59
59
  }
@@ -1,3 +1,4 @@
1
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
1
2
  import { SimCfnEventBusCreator } from "./bus/sim-cfn-event-bus-creator.js";
2
3
  import { SimCfnEventRuleCreator } from "./rule/sim-cfn-event-rule-creator.js";
3
4
  import { SimCfnEventBridgeResourceDeleter } from "./sim-cfn-event-bridge-resource-deleter.js";
@@ -28,12 +29,13 @@ export class SimEventBridgeCfnResourceFactory {
28
29
  */
29
30
  async create(resourceTypeName, resource, context) {
30
31
  const properties = context.resolvedProperties ?? resource.properties;
32
+ const options = simCfnResourceCallerOptions(context.caller);
31
33
  switch (resourceTypeName) {
32
34
  case "EventBus": {
33
- return await this.busCreator.create(resource, properties);
35
+ return await this.busCreator.create(resource, properties, options);
34
36
  }
35
37
  case "Rule": {
36
- return await this.ruleCreator.create(resource, properties);
38
+ return await this.ruleCreator.create(resource, properties, options);
37
39
  }
38
40
  default: {
39
41
  throw new Error(`Unsupported sim EventBridge CloudFormation Resource ${resourceTypeName}`);
@@ -45,6 +47,6 @@ export class SimEventBridgeCfnResourceFactory {
45
47
  * Resource.
46
48
  */
47
49
  async delete(resourceTypeName, resource, context) {
48
- await this.deleter.delete(resourceTypeName, resource, context.resolvedProperties ?? resource.properties);
50
+ await this.deleter.delete(resourceTypeName, resource, context.resolvedProperties ?? resource.properties, simCfnResourceCallerOptions(context.caller));
49
51
  }
50
52
  }
@@ -1,6 +1,7 @@
1
1
  import { SimLambdaServiceInvokeAuthorizer } from "../../lambda/command/authorize/sim-lambda-service-invoke-authorizer.js";
2
2
  import { SimEventBridgeDeliveryNotPermitted, SimEventBridgeTargetNotFound, } from "../error/sim-event-bridge-delivery.error.js";
3
3
  import { simEventBridgeDeliveryDocument, simEventBridgeDeliverySource, simEventBridgeServicePrincipal, } from "./sim-event-bridge-delivery.js";
4
+ import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
4
5
  /**
5
6
  * A Lambda function a simulated rule is sending an event to, in the Account
6
7
  * and Region the target ARN names.
@@ -38,7 +39,7 @@ export class SimEventBridgeDeliveryFunction {
38
39
  "or alias.");
39
40
  }
40
41
  const decision = new SimLambdaServiceInvokeAuthorizer({
41
- iam: this.scope.iam(),
42
+ iam: simScopeIamAuthZ(this.scope),
42
43
  }).authorize({
43
44
  resource: target.resource,
44
45
  servicePrincipal: simEventBridgeServicePrincipal,
@@ -1,6 +1,7 @@
1
1
  import { SimSqsServiceSendAuthorizer } from "../../sqs/command/authorize/sim-sqs-service-send-authorizer.js";
2
2
  import { SimEventBridgeDeliveryNotPermitted, SimEventBridgeTargetNotFound, } from "../error/sim-event-bridge-delivery.error.js";
3
3
  import { simEventBridgeDeliveryJson, simEventBridgeDeliverySource, simEventBridgeServicePrincipal, } from "./sim-event-bridge-delivery.js";
4
+ import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
4
5
  /**
5
6
  * A queue a simulated rule is sending an event to, in the Account and Region
6
7
  * the target ARN names.
@@ -25,7 +26,7 @@ export class SimEventBridgeDeliveryQueue {
25
26
  throw new SimEventBridgeTargetNotFound(`${targetArn.value} is not a simulated SQS queue.`);
26
27
  }
27
28
  const decision = new SimSqsServiceSendAuthorizer({
28
- iam: this.scope.iam(),
29
+ iam: simScopeIamAuthZ(this.scope),
29
30
  }).authorize({
30
31
  queue,
31
32
  servicePrincipal: simEventBridgeServicePrincipal,
@@ -24,7 +24,10 @@ export class SimEventBridgeDeliveryTask {
24
24
  const ecs = this.taskTarget(request);
25
25
  const role = eventBridgeTargetRole(ecs.roleArn);
26
26
  const roleScope = this.simAws.accountRegionScope(role.accountId, arn.regionName);
27
- const caller = await assumeEventBridgeTargetRole(role, roleScope.iam());
27
+ const caller = await assumeEventBridgeTargetRole(role, roleScope, {
28
+ arn: request.ruleArn,
29
+ accountId: request.ruleOwnerAccountId,
30
+ });
28
31
  await new SimEcsTargetRun({
29
32
  scope: this.simAws.accountRegionScope(arn.accountId, arn.regionName),
30
33
  }).run({ cluster: arn.value, task: ecs.task, caller });
@@ -1,6 +1,7 @@
1
1
  import { SimSnsServicePublishAuthorizer } from "../../sns/command/authorize/sim-sns-service-publish-authorizer.js";
2
2
  import { SimEventBridgeDeliveryNotPermitted, SimEventBridgeTargetNotFound, } from "../error/sim-event-bridge-delivery.error.js";
3
3
  import { simEventBridgeDeliveryJson, simEventBridgeDeliverySource, simEventBridgeServicePrincipal, } from "./sim-event-bridge-delivery.js";
4
+ import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
4
5
  /**
5
6
  * A topic a simulated rule is sending an event to, in the Account and Region
6
7
  * the target ARN names.
@@ -26,7 +27,7 @@ export class SimEventBridgeDeliveryTopic {
26
27
  throw new SimEventBridgeTargetNotFound(`${targetArn.value} is not a simulated SNS topic.`);
27
28
  }
28
29
  const decision = new SimSnsServicePublishAuthorizer({
29
- iam: this.scope.iam(),
30
+ iam: simScopeIamAuthZ(this.scope),
30
31
  }).authorize({
31
32
  topic,
32
33
  servicePrincipal: simEventBridgeServicePrincipal,
@@ -1,6 +1,7 @@
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
+ import type { SimServiceRoleSource } from "../../sts/service-role/sim-service-role-source.js";
4
5
  export type SimEventBridgeTargetRole = SimServiceRoleTarget;
5
6
  /**
6
7
  * Read the Account and name out of a target's role ARN.
@@ -14,5 +15,9 @@ export declare function eventBridgeTargetRole(roleArn: string): SimServiceRoleTa
14
15
  * policy, but there is no resource policy on a task definition for a rule to be
15
16
  * admitted by, so running a task is a call the rule makes as a role of the
16
17
  * account instead. Real EventBridge requires the role for that reason.
18
+ *
19
+ * The rule is the `aws:SourceArn` AWS documents for the trust policy condition
20
+ * it recommends against the confused deputy problem. It is the same rule ARN a
21
+ * queue or topic policy is conditioned on for the other target types.
17
22
  */
18
- export declare function assumeEventBridgeTargetRole(target: SimEventBridgeTargetRole, iam: SimIam): Promise<SimAwsCaller>;
23
+ export declare function assumeEventBridgeTargetRole(target: SimEventBridgeTargetRole, scope: SimAwsAccountRegionContainer, source: SimServiceRoleSource): 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 { SimEventBridgeDeliveryNotPermitted } from "../error/sim-event-bridge-delivery.error.js";
3
4
  import { simEventBridgeServicePrincipal } from "./sim-event-bridge-delivery.js";
4
5
  /**
@@ -29,13 +30,18 @@ const refusals = {
29
30
  * policy, but there is no resource policy on a task definition for a rule to be
30
31
  * admitted by, so running a task is a call the rule makes as a role of the
31
32
  * account instead. Real EventBridge requires the role for that reason.
33
+ *
34
+ * The rule is the `aws:SourceArn` AWS documents for the trust policy condition
35
+ * it recommends against the confused deputy problem. It is the same rule ARN a
36
+ * queue or topic policy is conditioned on for the other target types.
32
37
  */
33
- export async function assumeEventBridgeTargetRole(target, iam) {
38
+ export async function assumeEventBridgeTargetRole(target, scope, source) {
34
39
  return await assumeSimServiceRole({
35
40
  target,
36
41
  servicePrincipal: simEventBridgeServicePrincipal,
37
42
  sessionName,
38
- iam,
43
+ scope,
44
+ source,
39
45
  refusals,
40
46
  });
41
47
  }
@@ -1,7 +1,7 @@
1
1
  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 { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
4
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
5
5
  import { SimEventBusStore } from "./bus/sim-event-bus-store.js";
6
6
  import type * as simEventBridgeCommands from "./command/sim-event-bridge-command.types.js";
7
7
  import type { SimEventBridgeRequestOptions } from "./command/sim-event-bridge-request-options.js";
@@ -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 { SimEventBus } from "./bus/sim-event-bus.js";
5
5
  import { SimEventBusStore } from "./bus/sim-event-bus-store.js";
6
6
  import { SimEventBridgeCommands } from "./command/sim-event-bridge-commands.js";
@@ -34,7 +34,8 @@ export class SimEventBridge extends SimEventBridgeInspection {
34
34
  });
35
35
  constructor(properties = {}) {
36
36
  super();
37
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
37
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), } = properties;
38
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
38
39
  this.background = background;
39
40
  this.buses = new SimEventBusStore(SimEventBus.default({ accountRegionScope, createdAt: background.now() }));
40
41
  this.commands = new SimEventBridgeCommands({
@@ -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 { SimFirehose } from "../../sim-firehose.js";
4
4
  import type { SimFirehoseDeliveryStream } from "../../stream/sim-firehose-delivery-stream.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnFirehoseDeliveryStreamCreatorProperties {
6
7
  readonly firehose: SimFirehose;
7
8
  }
@@ -27,6 +28,6 @@ export declare class SimCfnFirehoseDeliveryStreamCreator {
27
28
  * Create a delivery stream from an AWS::KinesisFirehose::DeliveryStream
28
29
  * Resource.
29
30
  */
30
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimFirehoseDeliveryStream>;
31
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimFirehoseDeliveryStream>;
31
32
  }
32
33
  export {};
@@ -26,14 +26,14 @@ export class SimCfnFirehoseDeliveryStreamCreator {
26
26
  * Create a delivery stream from an AWS::KinesisFirehose::DeliveryStream
27
27
  * Resource.
28
28
  */
29
- async create(resource, properties) {
29
+ async create(resource, properties, options) {
30
30
  return await simCfnFirehoseResourceCreation(firehoseDeliveryStreamResourceType, resource.logicalId, async () => {
31
31
  const streamProperties = new SimCfnFirehoseDeliveryStreamProperties({
32
32
  resource,
33
33
  properties,
34
34
  });
35
35
  const input = streamProperties.createInput();
36
- await this.firehose.createDeliveryStream({ input });
36
+ await this.firehose.createDeliveryStream({ input }, options);
37
37
  const deliveryStream = this.firehose.findDeliveryStream(streamProperties.name());
38
38
  assertDefined(deliveryStream, `sim Firehose delivery stream ${streamProperties.name()} after ` +
39
39
  `CloudFormation creation`);
@@ -1,5 +1,6 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimFirehose } from "../sim-firehose.js";
3
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  interface SimCfnFirehoseResourceDeleterProperties {
4
5
  readonly firehose: SimFirehose;
5
6
  }
@@ -13,6 +14,6 @@ export declare class SimCfnFirehoseResourceDeleter {
13
14
  * Delete a simulated Firehose resource created from a CloudFormation
14
15
  * Resource.
15
16
  */
16
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
17
+ delete(resourceTypeName: string, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
17
18
  }
18
19
  export {};
@@ -12,14 +12,12 @@ export class SimCfnFirehoseResourceDeleter {
12
12
  * Delete a simulated Firehose resource created from a CloudFormation
13
13
  * Resource.
14
14
  */
15
- async delete(resourceTypeName, resource) {
15
+ async delete(resourceTypeName, resource, options) {
16
16
  if (resourceTypeName !== firehoseDeliveryStreamResourceTypeName) {
17
17
  throw new Error(`Unsupported sim Firehose CloudFormation Resource ${resourceTypeName} deletion`);
18
18
  }
19
19
  const deliveryStream = resource.simResource;
20
20
  assertDefined(deliveryStream, `sim Firehose delivery stream for CloudFormation Resource ${resource.logicalId}`);
21
- await this.firehose.deleteDeliveryStream({
22
- input: { DeliveryStreamName: deliveryStream.name },
23
- });
21
+ await this.firehose.deleteDeliveryStream({ input: { DeliveryStreamName: deliveryStream.name } }, options);
24
22
  }
25
23
  }
@@ -23,6 +23,6 @@ export declare class SimFirehoseCfnResourceFactory implements SimCfnServiceResou
23
23
  * Delete a simulated Firehose resource created from a CloudFormation
24
24
  * Resource.
25
25
  */
26
- delete(resourceTypeName: string, resource: SimCfnResource, _context: SimCloudFormationResourceDeleteContext): Promise<void>;
26
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
27
27
  }
28
28
  export {};
@@ -1,6 +1,7 @@
1
1
  import { SimCfnFirehoseDeliveryStreamCreator } from "./delivery-stream/sim-cfn-firehose-delivery-stream-creator.js";
2
2
  import { SimCfnFirehoseResourceDeleter } from "./sim-cfn-firehose-resource-deleter.js";
3
3
  import { firehoseDeliveryStreamResourceTypeName } from "./sim-cfn-firehose-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 Firehose resources.
6
7
  */
@@ -25,13 +26,13 @@ export class SimFirehoseCfnResourceFactory {
25
26
  if (resourceTypeName !== firehoseDeliveryStreamResourceTypeName) {
26
27
  throw new Error(`Unsupported sim Firehose CloudFormation Resource ${resourceTypeName}`);
27
28
  }
28
- return await this.deliveryStreamCreator.create(resource, context.resolvedProperties ?? resource.properties);
29
+ return await this.deliveryStreamCreator.create(resource, context.resolvedProperties ?? resource.properties, simCfnResourceCallerOptions(context.caller));
29
30
  }
30
31
  /**
31
32
  * Delete a simulated Firehose resource created from a CloudFormation
32
33
  * Resource.
33
34
  */
34
- async delete(resourceTypeName, resource, _context) {
35
- await this.deleter.delete(resourceTypeName, resource);
35
+ async delete(resourceTypeName, resource, context) {
36
+ await this.deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
36
37
  }
37
38
  }
@@ -1,7 +1,7 @@
1
1
  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 { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
4
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
5
5
  import type * as simFirehoseCommands from "./command/sim-firehose-command.types.js";
6
6
  import type { SimFirehoseRequestOptions } from "./command/sim-firehose-request-options.js";
7
7
  import { SimFirehoseCfnResourceFactory } from "./cfn/sim-firehose-cfn-resource-factory.js";
@@ -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 { SimFirehoseCommands } from "./command/sim-firehose-commands.js";
5
5
  import { SimFirehoseCfnResourceFactory } from "./cfn/sim-firehose-cfn-resource-factory.js";
6
6
  import { SimFirehoseFailures } from "./failure/sim-firehose-failures.js";
@@ -40,7 +40,8 @@ export class SimFirehose {
40
40
  firehose: this,
41
41
  });
42
42
  constructor(properties) {
43
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), kinesis = new SimFirehoseNoRecordSource(), } = properties;
43
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), kinesis = new SimFirehoseNoRecordSource(), } = properties;
44
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
44
45
  this.background = background;
45
46
  this.commands = new SimFirehoseCommands({
46
47
  deliveryStreams: this.deliveryStreams,
@@ -2,7 +2,7 @@ import { type BackgroundScheduler } from "../../util/background/background.js";
2
2
  import type { SimCfnServiceResourceFactory } from "../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
3
3
  import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.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 simGlueCommands from "./command/database/database.command.js";
7
7
  import type * as simGlueTableCommands from "./command/table/table.command.js";
8
8
  import type * as simGluePartitionCommands from "./command/partition/partition.command.js";
@@ -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 { SimGlueAuthorizer } from "./command/authorize/sim-glue-authorizer.js";
5
5
  import { SimGlueDatabaseCommands } from "./command/database/sim-glue-database-commands.js";
6
6
  import { SimGlueTableCommands } from "./command/table/sim-glue-table-commands.js";
@@ -36,7 +36,8 @@ export class SimGlue {
36
36
  #sdkRouter = new SimGlueSdkCommandRouter(this);
37
37
  #cfnFactory;
38
38
  constructor(properties = {}) {
39
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
39
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), } = properties;
40
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
40
41
  const authorizer = new SimGlueAuthorizer({ iam, accountRegionScope });
41
42
  this.#databases = new SimGlueDatabaseStore({ accountRegionScope });
42
43
  this.#tables = new SimGlueTableStore({ accountRegionScope });
@@ -1,4 +1,5 @@
1
1
  import type { SimArn } from "../../../aws/arn.js";
2
+ import type { AwsRegionName } from "../../../aws/sim-aws-region.js";
2
3
  import type { SimAwsCaller, SimAwsPrincipal } from "../../../aws/caller/sim-aws-caller.js";
3
4
  import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
4
5
  import type { SimIamAccountResolver } from "../../registry/sim-iam-account-resolver.js";
@@ -21,6 +22,17 @@ export interface SimIamResourcePolicyInput {
21
22
  export interface SimIamAuthorizationInput {
22
23
  readonly action: string;
23
24
  readonly resource: string;
25
+ /**
26
+ * The Region the request was made in, which sim IAM derives
27
+ * `aws:RequestedRegion` from.
28
+ *
29
+ * A simulated service supplies its own Region. A request reaching one
30
+ * through its command handlers therefore carries it, with the caller saying
31
+ * nothing. IAM itself belongs to an Account and has no Region to fall back
32
+ * on. A request arriving without one leaves the key out of the condition
33
+ * context, and a statement conditioned on it matches nothing.
34
+ */
35
+ readonly region?: AwsRegionName | undefined;
24
36
  /**
25
37
  * Condition values known by the service handling the simulated request, such
26
38
  * as S3 object tags. Sim IAM automatically supplies global condition values
@@ -119,6 +131,7 @@ export declare class SimIamAuthZContextBuilder {
119
131
  private readonly identityPolicyCoordinator;
120
132
  private readonly callerAccountResolver;
121
133
  private readonly allowRequirement;
134
+ private readonly derivedConditions;
122
135
  private readonly scpSourceBuilder;
123
136
  constructor(properties: SimIamAuthZContextBuilderProperties);
124
137
  /**
@@ -139,23 +152,14 @@ export declare class SimIamAuthZContextBuilder {
139
152
  */
140
153
  private ownIdentityPolicySources;
141
154
  /**
142
- * Combine service-provided condition values with global values that IAM can
143
- * derive from the resolved caller.
155
+ * Combine service-provided condition values with the global values IAM
156
+ * derives itself.
144
157
  *
145
158
  * A service supplies values it knows from the request, and values it can
146
159
  * only work out once the caller is resolved. IAM's own values are applied
147
160
  * last, so nothing a service supplies can overwrite them.
148
161
  */
149
162
  private conditionContext;
150
- /**
151
- * The condition values IAM derives from the caller itself.
152
- *
153
- * AWS:PrincipalArn identifies the IAM identity whose policies apply; for
154
- * temporary Role credentials this is the underlying Role ARN, rather than
155
- * the STS assumed-role session ARN retained as the effective caller for
156
- * diagnostics.
157
- */
158
- private callerDerivedConditions;
159
163
  /**
160
164
  * Convert resource policies supplied by the resource-owning service into
161
165
  * authorization policy sources.
@@ -4,6 +4,7 @@ import { SimIamAuthZAllowRequirement } from "./sim-iam-auth-z-allow-requirement.
4
4
  import { SimIamAuthZIdentityPolicyCoordinator } from "./identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js";
5
5
  import { SimIamAuthZCallerContextBuilder, } from "./sim-iam-auth-z-caller-context-builder.js";
6
6
  import { SimIamAuthZScpSourceBuilder } from "./sim-iam-auth-z-scp-source-builder.js";
7
+ import { SimIamDerivedConditions } from "./sim-iam-derived-conditions.js";
7
8
  /**
8
9
  * Builds the authorization context consumed by SimIamAuthorizer.
9
10
  *
@@ -39,6 +40,7 @@ export class SimIamAuthZContextBuilder {
39
40
  identityPolicyCoordinator;
40
41
  callerAccountResolver;
41
42
  allowRequirement = new SimIamAuthZAllowRequirement();
43
+ derivedConditions = new SimIamDerivedConditions();
42
44
  scpSourceBuilder;
43
45
  constructor(properties) {
44
46
  this.callerContextBuilder = new SimIamAuthZCallerContextBuilder(makeSimAwsAccountRootPrincipal(properties.accountId), properties.credentialIdentityResolver);
@@ -97,8 +99,8 @@ export class SimIamAuthZContextBuilder {
97
99
  ];
98
100
  }
99
101
  /**
100
- * Combine service-provided condition values with global values that IAM can
101
- * derive from the resolved caller.
102
+ * Combine service-provided condition values with the global values IAM
103
+ * derives itself.
102
104
  *
103
105
  * A service supplies values it knows from the request, and values it can
104
106
  * only work out once the caller is resolved. IAM's own values are applied
@@ -108,24 +110,9 @@ export class SimIamAuthZContextBuilder {
108
110
  return {
109
111
  ...input.conditionContext,
110
112
  ...input.callerConditions?.conditionValuesFor(caller),
111
- ...this.callerDerivedConditions(caller),
113
+ ...this.derivedConditions.of({ caller, region: input.region }),
112
114
  };
113
115
  }
114
- /**
115
- * The condition values IAM derives from the caller itself.
116
- *
117
- * AWS:PrincipalArn identifies the IAM identity whose policies apply; for
118
- * temporary Role credentials this is the underlying Role ARN, rather than
119
- * the STS assumed-role session ARN retained as the effective caller for
120
- * diagnostics.
121
- */
122
- callerDerivedConditions(caller) {
123
- const principalArn = caller.identityPolicyArn ?? caller.arn;
124
- if (principalArn === undefined) {
125
- return {};
126
- }
127
- return { "aws:PrincipalArn": principalArn };
128
- }
129
116
  /**
130
117
  * Convert resource policies supplied by the resource-owning service into
131
118
  * authorization policy sources.
@@ -0,0 +1,42 @@
1
+ import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
2
+ import type { AwsRegionName } from "../../../aws/sim-aws-region.js";
3
+ import type { SimIamConditionValue } from "../../policy/sim-iam-policy.js";
4
+ /**
5
+ * What a request has to say about itself for IAM to derive its global
6
+ * condition values.
7
+ */
8
+ export interface SimIamDerivedConditionRequest {
9
+ readonly caller: SimAwsResolvedCaller;
10
+ readonly region?: AwsRegionName | undefined;
11
+ }
12
+ /**
13
+ * The global condition values IAM works out for itself.
14
+ *
15
+ * These are the keys a policy can be written against without the service
16
+ * handling the request supplying anything. They are applied over the values a
17
+ * service does supply. A service cannot overwrite one of them.
18
+ *
19
+ * A key the request leaves unsaid is left out. The condition matcher counts a
20
+ * missing key as no match, and a statement conditioned on one then matches
21
+ * nothing.
22
+ */
23
+ export declare class SimIamDerivedConditions {
24
+ /**
25
+ * Derive what IAM knows about this request.
26
+ */
27
+ of(request: SimIamDerivedConditionRequest): Readonly<Record<string, SimIamConditionValue>>;
28
+ /**
29
+ * AWS:PrincipalArn identifies the IAM identity whose policies apply. For
30
+ * temporary Role credentials this is the underlying Role ARN, rather than
31
+ * the STS assumed-role session ARN retained as the effective caller for
32
+ * diagnostics.
33
+ */
34
+ private principalArn;
35
+ /**
36
+ * AWS:RequestedRegion is the Region the request was made in, which on real
37
+ * AWS is the Region of the endpoint it was sent to. Here it is the Region of
38
+ * the simulated service handling the request. A service in one Region's
39
+ * scope answers only requests made to that Region.
40
+ */
41
+ private region;
42
+ }