@kensio/yulin 1.20.12 → 1.20.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (662) 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/command/delete-certificate/delete-certificate-authorizer.js +1 -0
  9. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +1 -0
  10. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +1 -0
  11. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +1 -0
  12. package/dist/service/acm/sim-acm.d.ts +1 -1
  13. package/dist/service/acm/sim-acm.js +3 -2
  14. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
  15. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
  16. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
  17. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
  18. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
  19. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
  20. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
  21. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
  22. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
  23. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
  24. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
  25. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
  26. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
  27. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
  28. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
  29. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
  30. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
  31. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
  32. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
  33. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
  34. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
  35. package/dist/service/apigateway/serve/auth/sim-rest-api-authorizer-policy.js +3 -0
  36. package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
  37. package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
  38. package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
  39. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
  40. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
  41. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
  42. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
  43. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
  44. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
  45. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
  46. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
  47. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
  48. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
  49. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
  50. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
  51. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
  52. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
  53. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
  54. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
  55. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
  56. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
  57. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
  58. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
  59. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
  60. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
  61. package/dist/service/apigatewayv2/serve/auth/sim-http-api-authorizer-policy.js +3 -0
  62. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
  63. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
  64. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
  65. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
  66. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
  67. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
  68. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
  69. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
  70. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
  71. package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
  72. package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
  73. package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
  74. package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
  75. package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
  76. package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
  77. package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
  78. package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
  79. package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
  80. package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
  81. package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
  82. package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
  83. package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
  84. package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
  85. package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
  86. package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
  87. package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
  88. package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
  89. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  90. package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
  91. package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
  92. package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
  93. package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
  94. package/dist/service/athena/sim-athena-executions.d.ts +1 -1
  95. package/dist/service/athena/sim-athena-executions.js +3 -2
  96. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
  97. package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -0
  98. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -0
  99. package/dist/service/aws/factory/sim-aws-service-factory.js +10 -0
  100. package/dist/service/aws/sim-aws.d.ts +18 -0
  101. package/dist/service/aws/sim-aws.js +19 -0
  102. package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
  103. package/dist/service/bedrock/sim-bedrock.js +3 -2
  104. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
  105. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
  106. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  107. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  108. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  109. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
  110. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  111. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
  112. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  113. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
  114. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
  115. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
  116. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
  117. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  118. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  119. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  120. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
  121. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
  122. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn-value-adapter.d.ts +6 -0
  123. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn-value-adapter.js +23 -0
  124. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.d.ts +66 -0
  125. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.js +136 -0
  126. package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
  127. package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
  128. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +7 -0
  129. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +12 -0
  130. package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
  131. package/dist/service/cloudformation/sim-cloudformation.js +3 -2
  132. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
  133. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
  134. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  135. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  136. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
  137. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
  138. package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
  139. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
  140. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  141. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  142. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
  143. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  144. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
  145. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
  146. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
  147. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
  148. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
  149. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
  150. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
  151. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
  152. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
  153. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js +1 -0
  154. package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +1 -0
  155. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js +1 -0
  156. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js +1 -0
  157. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +1 -0
  158. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js +1 -0
  159. package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
  160. package/dist/service/cloudfront/edge/sim-cf-edge-association-auth-z.js +1 -0
  161. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +1 -0
  162. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
  163. package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
  164. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
  165. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
  166. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
  167. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
  168. package/dist/service/cloudwatch/command/authorize/sim-cloudwatch-decide.js +1 -0
  169. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
  170. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
  171. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
  172. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
  173. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
  174. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
  175. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
  176. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
  177. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
  178. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
  179. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
  180. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
  181. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
  182. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
  183. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
  184. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
  185. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js +1 -0
  186. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
  187. package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
  188. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
  189. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
  190. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
  191. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
  192. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
  193. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
  194. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
  195. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
  196. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
  197. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +1 -0
  198. package/dist/service/dynamodb/sim-dynamodb.js +3 -2
  199. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
  200. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
  201. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
  202. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
  203. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
  204. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
  205. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
  206. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
  207. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
  208. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
  209. package/dist/service/ecs/sim-ecs-commands.js +3 -2
  210. package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
  211. package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
  212. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
  213. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
  214. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
  215. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
  216. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
  217. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
  218. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
  219. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
  220. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
  221. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
  222. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
  223. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
  224. package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
  225. package/dist/service/elbv2/sim-elbv2.js +3 -3
  226. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
  227. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
  228. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
  229. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
  230. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
  231. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
  232. package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
  233. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
  234. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
  235. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
  236. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
  237. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
  238. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
  239. package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
  240. package/dist/service/eventbridge/sim-event-bridge.js +3 -2
  241. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
  242. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
  243. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
  244. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
  245. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
  246. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
  247. package/dist/service/firehose/command/authorize/sim-firehose-authorizer.js +1 -0
  248. package/dist/service/firehose/sim-firehose.d.ts +1 -1
  249. package/dist/service/firehose/sim-firehose.js +3 -2
  250. package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js +1 -0
  251. package/dist/service/glue/sim-glue.d.ts +1 -1
  252. package/dist/service/glue/sim-glue.js +3 -2
  253. package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.d.ts +45 -0
  254. package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.js +59 -0
  255. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -15
  256. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +20 -22
  257. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +31 -1
  258. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +1 -0
  259. package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.d.ts +46 -0
  260. package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.js +71 -0
  261. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
  262. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
  263. package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
  264. package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
  265. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
  266. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
  267. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
  268. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
  269. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
  270. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
  271. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
  272. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
  273. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
  274. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
  275. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
  276. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
  277. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
  278. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  279. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
  280. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
  281. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
  282. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
  283. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
  284. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
  285. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
  286. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
  287. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
  288. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
  289. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
  290. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
  291. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
  292. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
  293. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
  294. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
  295. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
  296. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
  297. package/dist/service/iam/authorize/scp/sim-iam-scp-gate.d.ts +96 -0
  298. package/dist/service/iam/authorize/scp/sim-iam-scp-gate.js +148 -0
  299. package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.d.ts +53 -0
  300. package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.js +1 -0
  301. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +8 -0
  302. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +1 -0
  303. package/dist/service/iam/authorize/sim-iam-action-authorizer.js +1 -0
  304. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +2 -0
  305. package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -0
  306. package/dist/service/iam/authorize/sim-iam-decision-value.d.ts +13 -0
  307. package/dist/service/iam/authorize/sim-iam-decision-value.js +12 -0
  308. package/dist/service/iam/authorize/sim-iam-decision.d.ts +44 -15
  309. package/dist/service/iam/authorize/sim-iam-decision.js +77 -48
  310. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +8 -0
  311. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +1 -0
  312. package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
  313. package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
  314. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
  315. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
  316. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
  317. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
  318. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
  319. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
  320. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
  321. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
  322. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
  323. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
  324. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
  325. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
  326. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
  327. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
  328. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
  329. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
  330. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
  331. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
  332. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
  333. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
  334. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
  335. package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
  336. package/dist/service/iam/error/sim-iam.error.d.ts +8 -0
  337. package/dist/service/iam/error/sim-iam.error.js +2 -1
  338. package/dist/service/iam/sim-iam-account-parts.d.ts +9 -0
  339. package/dist/service/iam/sim-iam-account-parts.js +1 -0
  340. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
  341. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
  342. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
  343. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
  344. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
  345. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
  346. package/dist/service/kinesis/command/authorize/sim-kinesis-authorizer.js +1 -0
  347. package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
  348. package/dist/service/kinesis/sim-kinesis.js +3 -2
  349. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
  350. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
  351. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
  352. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
  353. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
  354. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
  355. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
  356. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
  357. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +2 -0
  358. package/dist/service/kms/sim-kms-commands.d.ts +1 -1
  359. package/dist/service/kms/sim-kms-commands.js +3 -2
  360. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
  361. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
  362. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
  363. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
  364. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
  365. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
  366. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
  367. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
  368. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
  369. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
  370. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
  371. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
  372. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
  373. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
  374. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
  375. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
  376. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
  377. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
  378. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
  379. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
  380. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
  381. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
  382. package/dist/service/lambda/command/create-function/create-function-authorizer.js +1 -0
  383. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +1 -0
  384. package/dist/service/lambda/command/event-invoke-config/event-invoke-config-authorizer.js +1 -0
  385. package/dist/service/lambda/command/function-url/function-url-authorizer.js +1 -0
  386. package/dist/service/lambda/command/get-function/get-function-authorizer.js +1 -0
  387. package/dist/service/lambda/command/invoke/invoke-authorizer.js +1 -0
  388. package/dist/service/lambda/command/list-functions/list-functions-authorizer.js +1 -0
  389. package/dist/service/lambda/command/update-function-code/update-function-code-authorizer.js +1 -0
  390. package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +1 -0
  391. package/dist/service/lambda/command/version/version-authorizer.js +1 -0
  392. package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
  393. package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
  394. package/dist/service/lambda/sim-lambda-commands.js +3 -2
  395. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
  396. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
  397. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
  398. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
  399. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
  400. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
  401. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
  402. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
  403. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
  404. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
  405. package/dist/service/logs/command/authorize/sim-logs-authorizer.js +1 -0
  406. package/dist/service/logs/sim-logs-commands.d.ts +1 -1
  407. package/dist/service/logs/sim-logs-commands.js +3 -2
  408. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
  409. package/dist/service/organizations/cfn/sim-cfn-organization-creator.d.ts +19 -0
  410. package/dist/service/organizations/cfn/sim-cfn-organization-creator.js +25 -0
  411. package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.d.ts +16 -0
  412. package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.js +21 -0
  413. package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.d.ts +20 -0
  414. package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.js +34 -0
  415. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.d.ts +21 -0
  416. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.js +40 -0
  417. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.d.ts +20 -0
  418. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.js +33 -0
  419. package/dist/service/organizations/cfn/sim-cfn-organizations-properties.d.ts +36 -0
  420. package/dist/service/organizations/cfn/sim-cfn-organizations-properties.js +78 -0
  421. package/dist/service/organizations/cfn/sim-cfn-organizations-record.d.ts +40 -0
  422. package/dist/service/organizations/cfn/sim-cfn-organizations-record.js +54 -0
  423. package/dist/service/organizations/cfn/sim-cfn-organizations-remover.d.ts +17 -0
  424. package/dist/service/organizations/cfn/sim-cfn-organizations-remover.js +40 -0
  425. package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.d.ts +24 -0
  426. package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.js +50 -0
  427. package/dist/service/organizations/index.d.ts +6 -0
  428. package/dist/service/organizations/index.js +6 -0
  429. package/dist/service/organizations/policy/sim-organizations-effective-policies.d.ts +43 -0
  430. package/dist/service/organizations/policy/sim-organizations-effective-policies.js +58 -0
  431. package/dist/service/organizations/policy/sim-organizations-scp-store.d.ts +61 -0
  432. package/dist/service/organizations/policy/sim-organizations-scp-store.js +103 -0
  433. package/dist/service/organizations/sim-organizations-structure.d.ts +94 -0
  434. package/dist/service/organizations/sim-organizations-structure.js +140 -0
  435. package/dist/service/organizations/sim-organizations.d.ts +95 -0
  436. package/dist/service/organizations/sim-organizations.js +99 -0
  437. package/dist/service/organizations/tree/sim-organizations-node.d.ts +57 -0
  438. package/dist/service/organizations/tree/sim-organizations-node.js +58 -0
  439. package/dist/service/organizations/tree/sim-organizations-tree.d.ts +91 -0
  440. package/dist/service/organizations/tree/sim-organizations-tree.js +154 -0
  441. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
  442. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
  443. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
  444. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
  445. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
  446. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
  447. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
  448. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
  449. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
  450. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
  451. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
  452. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
  453. package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
  454. package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
  455. package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
  456. package/dist/service/rekognition/sim-rekognition.js +3 -2
  457. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
  458. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
  459. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
  460. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
  461. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
  462. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
  463. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
  464. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
  465. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
  466. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
  467. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
  468. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets-authorizer.js +1 -0
  469. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone-authorizer.js +1 -0
  470. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +1 -0
  471. package/dist/service/route53/command/dnssec/sim-route53-dnssec-authorizer.js +1 -0
  472. package/dist/service/route53/command/get-hosted-zone/get-hosted-zone-authorizer.js +1 -0
  473. package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name-authorizer.js +1 -0
  474. package/dist/service/route53/command/list-resource-record-sets/list-resource-record-sets-authorizer.js +1 -0
  475. package/dist/service/route53/sim-route53.d.ts +1 -1
  476. package/dist/service/route53/sim-route53.js +5 -2
  477. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
  478. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
  479. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
  480. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
  481. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
  482. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
  483. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
  484. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
  485. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
  486. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
  487. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -0
  488. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +1 -0
  489. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +1 -0
  490. package/dist/service/s3/command/delete-object/delete-object-authorizer.js +1 -0
  491. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +1 -0
  492. package/dist/service/s3/command/get-object/get-object-authorizer.js +1 -0
  493. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.js +1 -0
  494. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js +1 -0
  495. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +1 -0
  496. package/dist/service/s3/command/list-objects/list-objects-authorizer.js +1 -0
  497. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js +1 -0
  498. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.js +1 -0
  499. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +1 -0
  500. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +1 -0
  501. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +1 -0
  502. package/dist/service/s3/command/put-object/put-object-authorizer.js +1 -0
  503. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
  504. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
  505. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
  506. package/dist/service/s3/sim-s3-commands.d.ts +1 -1
  507. package/dist/service/s3/sim-s3-commands.js +3 -2
  508. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
  509. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
  510. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
  511. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
  512. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
  513. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
  514. package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
  515. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
  516. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
  517. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
  518. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
  519. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
  520. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
  521. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
  522. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
  523. package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
  524. package/dist/service/scheduler/command/group/group.command.js +1 -0
  525. package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
  526. package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
  527. package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
  528. package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
  529. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
  530. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
  531. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
  532. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
  533. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
  534. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
  535. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  536. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
  537. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
  538. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
  539. package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
  540. package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
  541. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
  542. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
  543. package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
  544. package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
  545. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
  546. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
  547. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
  548. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
  549. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
  550. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
  551. package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
  552. package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
  553. package/dist/service/scheduler/index.d.ts +2 -0
  554. package/dist/service/scheduler/index.js +2 -0
  555. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
  556. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
  557. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
  558. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
  559. package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
  560. package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
  561. package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
  562. package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
  563. package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
  564. package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
  565. package/dist/service/scheduler/sim-scheduler.js +38 -2
  566. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
  567. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
  568. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
  569. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
  570. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +1 -0
  571. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
  572. package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
  573. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
  574. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
  575. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
  576. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
  577. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
  578. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
  579. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
  580. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
  581. package/dist/service/ses/command/authorize/sim-ses-authorizer.js +1 -0
  582. package/dist/service/ses/sim-ses-commands.d.ts +1 -1
  583. package/dist/service/ses/sim-ses-commands.js +3 -2
  584. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
  585. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
  586. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
  587. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
  588. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
  589. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
  590. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
  591. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
  592. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
  593. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
  594. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
  595. package/dist/service/sns/sim-sns.d.ts +1 -1
  596. package/dist/service/sns/sim-sns.js +3 -2
  597. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
  598. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
  599. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
  600. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
  601. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
  602. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
  603. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
  604. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +1 -0
  605. package/dist/service/sqs/sim-sqs.d.ts +1 -1
  606. package/dist/service/sqs/sim-sqs.js +3 -2
  607. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
  608. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
  609. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
  610. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
  611. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js +1 -0
  612. package/dist/service/ssm/sim-ssm.d.ts +1 -1
  613. package/dist/service/ssm/sim-ssm.js +3 -2
  614. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
  615. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
  616. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
  617. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
  618. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
  619. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
  620. package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
  621. package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
  622. package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
  623. package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
  624. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
  625. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
  626. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
  627. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
  628. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
  629. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
  630. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
  631. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
  632. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  633. package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
  634. package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
  635. package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
  636. package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
  637. package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
  638. package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
  639. package/dist/service/sts/service-role/sim-service-role.js +7 -21
  640. package/dist/service/sts/sim-sts.js +1 -0
  641. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
  642. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
  643. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
  644. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
  645. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
  646. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
  647. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
  648. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
  649. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
  650. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
  651. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
  652. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
  653. package/dist/service/wafv2/command/authorize/sim-wafv2-authorizer.js +1 -0
  654. package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
  655. package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
  656. package/dist/util/clock/sim-clock-control.d.ts +3 -1
  657. package/dist/util/clock/sim-clock-control.js +2 -0
  658. package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
  659. package/dist/util/clock/sim-controllable-clock.js +2 -0
  660. package/dist/util/clock/sim-duration.d.ts +6 -2
  661. package/dist/util/clock/sim-duration.js +8 -1
  662. package/package.json +5 -1
@@ -1,4 +1,5 @@
1
- import { assertDefined } from "../../../util/type-guard/defined.js";
1
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
2
+ import { simCfnEcsCreatedResource } from "./sim-cfn-ecs-created-resource.js";
2
3
  import { SimCfnEcsClusterCreator } from "./cluster/sim-cfn-ecs-cluster-creator.js";
3
4
  import { SimCfnEcsServiceCreator } from "./service/sim-cfn-ecs-service-creator.js";
4
5
  import { SimCfnEcsTaskDefinitionCreator } from "./task-definition/sim-cfn-ecs-task-definition-creator.js";
@@ -27,15 +28,16 @@ export class SimEcsCfnResourceFactory {
27
28
  */
28
29
  async create(resourceTypeName, resource, context) {
29
30
  const properties = context.resolvedProperties ?? resource.properties;
31
+ const options = simCfnResourceCallerOptions(context.caller);
30
32
  switch (resourceTypeName) {
31
33
  case "Cluster": {
32
- return await this.clusterCreator.create(resource, properties);
34
+ return await this.clusterCreator.create(resource, properties, options);
33
35
  }
34
36
  case "TaskDefinition": {
35
- return await this.taskDefinitionCreator.create(resource, properties, context.bindings);
37
+ return await this.taskDefinitionCreator.create(resource, properties, context.bindings, options);
36
38
  }
37
39
  case "Service": {
38
- return await this.serviceCreator.create(resource, properties);
40
+ return await this.serviceCreator.create(resource, properties, options);
39
41
  }
40
42
  default: {
41
43
  throw new Error(`Unsupported sim ECS CloudFormation Resource ${resourceTypeName}`);
@@ -45,18 +47,19 @@ export class SimEcsCfnResourceFactory {
45
47
  /**
46
48
  * Delete a simulated ECS resource created from a CloudFormation Resource.
47
49
  */
48
- async delete(resourceTypeName, resource) {
50
+ async delete(resourceTypeName, resource, context) {
51
+ const options = simCfnResourceCallerOptions(context.caller);
49
52
  switch (resourceTypeName) {
50
53
  case "Cluster": {
51
- await this.clusterCreator.delete(simCfnEcsCreatedResource(resource, "cluster"));
54
+ await this.clusterCreator.delete(simCfnEcsCreatedResource(resource, "cluster"), options);
52
55
  return;
53
56
  }
54
57
  case "TaskDefinition": {
55
- await this.taskDefinitionCreator.delete(simCfnEcsCreatedResource(resource, "task definition"));
58
+ await this.taskDefinitionCreator.delete(simCfnEcsCreatedResource(resource, "task definition"), options);
56
59
  return;
57
60
  }
58
61
  case "Service": {
59
- await this.serviceCreator.delete(simCfnEcsCreatedResource(resource, "service"));
62
+ await this.serviceCreator.delete(simCfnEcsCreatedResource(resource, "service"), options);
60
63
  return;
61
64
  }
62
65
  default: {
@@ -66,11 +69,3 @@ export class SimEcsCfnResourceFactory {
66
69
  }
67
70
  }
68
71
  }
69
- /**
70
- * The simulated resource a Resource created, which a teardown reaches it by.
71
- */
72
- function simCfnEcsCreatedResource(resource, described) {
73
- const created = resource.simResource;
74
- assertDefined(created, `sim ECS ${described} for CloudFormation Resource ${resource.logicalId}`);
75
- return created;
76
- }
@@ -3,6 +3,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
3
3
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
4
4
  import type { SimEcsTaskDefinition } from "../../task-definition/sim-ecs-task-definition.js";
5
5
  import type { SimEcs } from "../../sim-ecs.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimCfnEcsTaskDefinitionCreatorProperties {
7
8
  readonly ecs: SimEcs;
8
9
  }
@@ -32,7 +33,7 @@ export declare class SimCfnEcsTaskDefinitionCreator {
32
33
  * one registered and then found to be unbindable could only be deregistered,
33
34
  * and simulated CloudFormation rolls nothing back.
34
35
  */
35
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, bindings?: readonly SimCfnBinding[]): Promise<SimEcsTaskDefinition>;
36
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, bindings?: readonly SimCfnBinding[], options?: SimCfnResourceCallerOptions): Promise<SimEcsTaskDefinition>;
36
37
  /**
37
38
  * Deregister a revision registered from an AWS::ECS::TaskDefinition
38
39
  * Resource.
@@ -43,6 +44,6 @@ export declare class SimCfnEcsTaskDefinitionCreator {
43
44
  * is also what an update does with the revision it replaces, since sim
44
45
  * CloudFormation replaces a changed Resource rather than updating it.
45
46
  */
46
- delete(taskDefinition: SimEcsTaskDefinition): Promise<void>;
47
+ delete(taskDefinition: SimEcsTaskDefinition, options?: SimCfnResourceCallerOptions): Promise<void>;
47
48
  }
48
49
  export {};
@@ -29,7 +29,7 @@ export class SimCfnEcsTaskDefinitionCreator {
29
29
  * one registered and then found to be unbindable could only be deregistered,
30
30
  * and simulated CloudFormation rolls nothing back.
31
31
  */
32
- async create(resource, properties, bindings) {
32
+ async create(resource, properties, bindings, options) {
33
33
  const taskDefinitionProperties = new SimCfnEcsTaskDefinitionProperties({
34
34
  resource,
35
35
  properties,
@@ -40,7 +40,7 @@ export class SimCfnEcsTaskDefinitionCreator {
40
40
  family: taskDefinitionProperties.family(),
41
41
  containerNames: simCfnEcsDeclaredContainerNames(input),
42
42
  });
43
- const registered = await this.ecs.registerTaskDefinition({ input });
43
+ const registered = await this.ecs.registerTaskDefinition({ input }, options);
44
44
  const taskDefinitionArn = registered.taskDefinition?.taskDefinitionArn;
45
45
  assertDefined(taskDefinitionArn, `sim ECS task definition ARN for CloudFormation Resource ${resource.logicalId}`);
46
46
  return this.ecs.taskDefinition(taskDefinitionArn);
@@ -55,10 +55,8 @@ export class SimCfnEcsTaskDefinitionCreator {
55
55
  * is also what an update does with the revision it replaces, since sim
56
56
  * CloudFormation replaces a changed Resource rather than updating it.
57
57
  */
58
- async delete(taskDefinition) {
59
- await this.ecs.deregisterTaskDefinition({
60
- input: { taskDefinition: taskDefinition.taskDefinitionArn },
61
- });
58
+ async delete(taskDefinition, options) {
59
+ await this.ecs.deregisterTaskDefinition({ input: { taskDefinition: taskDefinition.taskDefinitionArn } }, options);
62
60
  }
63
61
  }
64
62
  /**
@@ -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 { SimEcsContainerBindings } from "./bind/sim-ecs-container-bindings.js";
5
5
  import { SimEcsUnreachableConsumerQueues } from "./service/consume/sim-ecs-consumer-queues.js";
6
6
  import { SimEcsUnreachableTargetGroups } from "./service/load-balancer/sim-ecs-target-groups.js";
@@ -67,7 +67,8 @@ export class SimEcsCommands {
67
67
  serviceTasks;
68
68
  targetGroupContainers;
69
69
  constructor(properties) {
70
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), runAsOwner, secretStores = new SimEcsUnreachableSecretStores(), consumerQueues = new SimEcsUnreachableConsumerQueues(), targetGroups = new SimEcsUnreachableTargetGroups(), } = properties;
70
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), runAsOwner, secretStores = new SimEcsUnreachableSecretStores(), consumerQueues = new SimEcsUnreachableConsumerQueues(), targetGroups = new SimEcsUnreachableTargetGroups(), } = properties;
71
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
71
72
  const contexts = new SimEcsCommandContexts({
72
73
  accountRegionScope,
73
74
  authorizer: new SimEcsAuthorizer({ iam }),
@@ -22,8 +22,9 @@ interface SimEcsContainerEnvironmentProperties {
22
22
  * The variables are applied to `process.env` for the length of the run, in the
23
23
  * same way a sim Lambda function's are: a bound handler is an ordinary closure
24
24
  * with no sandbox of its own, so asynchronous context tracking is what gives
25
- * it an environment. A container declaring nothing is left reading the host
26
- * environment untouched.
25
+ * it an environment. They are laid over the host process environment, so a
26
+ * container still reads what the test process set, and a container declaring
27
+ * nothing of its own still runs in its task's Region.
27
28
  */
28
29
  export declare class SimEcsContainerEnvironment {
29
30
  #private;
@@ -39,17 +40,18 @@ export declare class SimEcsContainerEnvironment {
39
40
  * declaration as it comes and there is nothing to set without a name.
40
41
  */
41
42
  private static namedValues;
42
- /**
43
- * Whether this container has an environment of its own at all.
44
- */
45
- get hasVariables(): boolean;
46
43
  /**
47
44
  * Run a container's handler with this environment applied to process.env.
48
45
  *
49
- * A container with nothing of its own is left reading the host environment
50
- * untouched, Region variables included. Giving it only the Region ones would
51
- * take away everything the test process set, which is where an in-process
52
- * handler's configuration usually comes from.
46
+ * The host process environment is underneath, because that is where an
47
+ * in-process handler's configuration usually comes from. It is read for each
48
+ * run, so a variable the test process sets between two runs reaches the
49
+ * second of them.
50
+ *
51
+ * The container's own variables are laid over it, the Region ones included.
52
+ * A real task agent sets those whatever the definition declares, and without
53
+ * them a client the handler builds resolves its Region from the machine the
54
+ * test happens to run on.
53
55
  */
54
56
  runWith<T>(run: () => Promise<T>): Promise<T>;
55
57
  /**
@@ -16,8 +16,9 @@ import { simProcessEnvironment } from "../../../../util/process/sim-process-envi
16
16
  * The variables are applied to `process.env` for the length of the run, in the
17
17
  * same way a sim Lambda function's are: a bound handler is an ordinary closure
18
18
  * with no sandbox of its own, so asynchronous context tracking is what gives
19
- * it an environment. A container declaring nothing is left reading the host
20
- * environment untouched.
19
+ * it an environment. They are laid over the host process environment, so a
20
+ * container still reads what the test process set, and a container declaring
21
+ * nothing of its own still runs in its task's Region.
21
22
  */
22
23
  export class SimEcsContainerEnvironment {
23
24
  regionName;
@@ -43,27 +44,24 @@ export class SimEcsContainerEnvironment {
43
44
  .map((pair) => [pair.name ?? "", pair.value ?? ""]);
44
45
  return Object.fromEntries(named);
45
46
  }
46
- /**
47
- * Whether this container has an environment of its own at all.
48
- */
49
- get hasVariables() {
50
- return (this.declared.length > 0 ||
51
- this.overridden.length > 0 ||
52
- Object.keys(this.secrets).length > 0);
53
- }
54
47
  /**
55
48
  * Run a container's handler with this environment applied to process.env.
56
49
  *
57
- * A container with nothing of its own is left reading the host environment
58
- * untouched, Region variables included. Giving it only the Region ones would
59
- * take away everything the test process set, which is where an in-process
60
- * handler's configuration usually comes from.
50
+ * The host process environment is underneath, because that is where an
51
+ * in-process handler's configuration usually comes from. It is read for each
52
+ * run, so a variable the test process sets between two runs reaches the
53
+ * second of them.
54
+ *
55
+ * The container's own variables are laid over it, the Region ones included.
56
+ * A real task agent sets those whatever the definition declares, and without
57
+ * them a client the handler builds resolves its Region from the machine the
58
+ * test happens to run on.
61
59
  */
62
60
  async runWith(run) {
63
- if (!this.hasVariables) {
64
- return await run();
65
- }
66
- return await simProcessEnvironment.run(this.variables(), run);
61
+ return await simProcessEnvironment.run({
62
+ ...simProcessEnvironment.definedHostVariables(),
63
+ ...this.variables(),
64
+ }, run);
67
65
  }
68
66
  /**
69
67
  * The complete process.env-shaped variables the container code sees.
@@ -3,6 +3,7 @@ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template
3
3
  import type { SimElbV2Listener } from "../../listener/sim-elbv2-listener.js";
4
4
  import type { SimElbV2 } from "../../sim-elbv2.js";
5
5
  import type { SimElbV2Stores } from "../../sim-elbv2-stores.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimCfnElbV2ListenerCreatorProperties {
7
8
  readonly elbV2: SimElbV2;
8
9
  readonly stores: SimElbV2Stores;
@@ -24,12 +25,12 @@ export declare class SimCfnElbV2ListenerCreator {
24
25
  /**
25
26
  * Create a listener from a Listener Resource.
26
27
  */
27
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimElbV2Listener>;
28
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimElbV2Listener>;
28
29
  /**
29
30
  * Delete a listener created from a Listener Resource.
30
31
  *
31
32
  * Its rules come down with it, as they do on real ELB.
32
33
  */
33
- delete(listener: SimElbV2Listener): Promise<void>;
34
+ delete(listener: SimElbV2Listener, options?: SimCfnResourceCallerOptions): Promise<void>;
34
35
  }
35
36
  export {};
@@ -20,14 +20,14 @@ export class SimCfnElbV2ListenerCreator {
20
20
  /**
21
21
  * Create a listener from a Listener Resource.
22
22
  */
23
- async create(resource, properties) {
23
+ async create(resource, properties, options) {
24
24
  const declared = new SimCfnElbV2ListenerProperties({
25
25
  resource,
26
26
  properties,
27
27
  });
28
28
  const input = declared.createListenerInput();
29
29
  declared.recordIgnoredProperties();
30
- const created = await this.elbV2.createListener({ input });
30
+ const created = await this.elbV2.createListener({ input }, options);
31
31
  const listenerArn = created.Listeners?.[0]?.ListenerArn;
32
32
  assertDefined(listenerArn, `sim ELBv2 listener ARN after CloudFormation creation for ${resource.logicalId}`);
33
33
  return this.stores.listeners.requireByArn(listenerArn);
@@ -37,9 +37,7 @@ export class SimCfnElbV2ListenerCreator {
37
37
  *
38
38
  * Its rules come down with it, as they do on real ELB.
39
39
  */
40
- async delete(listener) {
41
- await this.elbV2.deleteListener({
42
- input: { ListenerArn: listener.arn },
43
- });
40
+ async delete(listener, options) {
41
+ await this.elbV2.deleteListener({ input: { ListenerArn: listener.arn } }, options);
44
42
  }
45
43
  }
@@ -3,6 +3,7 @@ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template
3
3
  import type { SimElbV2LoadBalancer } from "../../load-balancer/sim-elbv2-load-balancer.js";
4
4
  import type { SimElbV2 } from "../../sim-elbv2.js";
5
5
  import type { SimElbV2Stores } from "../../sim-elbv2-stores.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimCfnElbV2LoadBalancerCreatorProperties {
7
8
  readonly elbV2: SimElbV2;
8
9
  readonly stores: SimElbV2Stores;
@@ -23,7 +24,7 @@ export declare class SimCfnElbV2LoadBalancerCreator {
23
24
  /**
24
25
  * Create a load balancer from a LoadBalancer Resource.
25
26
  */
26
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimElbV2LoadBalancer>;
27
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimElbV2LoadBalancer>;
27
28
  /**
28
29
  * Delete a load balancer created from a LoadBalancer Resource.
29
30
  *
@@ -31,6 +32,6 @@ export declare class SimCfnElbV2LoadBalancerCreator {
31
32
  * teardown has already deleted them itself, since each of them names the
32
33
  * load balancer, so what this removes is usually the load balancer alone.
33
34
  */
34
- delete(loadBalancer: SimElbV2LoadBalancer): Promise<void>;
35
+ delete(loadBalancer: SimElbV2LoadBalancer, options?: SimCfnResourceCallerOptions): Promise<void>;
35
36
  }
36
37
  export {};
@@ -18,14 +18,14 @@ export class SimCfnElbV2LoadBalancerCreator {
18
18
  /**
19
19
  * Create a load balancer from a LoadBalancer Resource.
20
20
  */
21
- async create(resource, properties) {
21
+ async create(resource, properties, options) {
22
22
  const declared = new SimCfnElbV2LoadBalancerProperties({
23
23
  resource,
24
24
  properties,
25
25
  });
26
26
  const input = declared.createLoadBalancerInput();
27
27
  declared.recordIgnoredProperties();
28
- await this.elbV2.createLoadBalancer({ input });
28
+ await this.elbV2.createLoadBalancer({ input }, options);
29
29
  return this.stores.loadBalancers.requireByName(declared.name());
30
30
  }
31
31
  /**
@@ -35,9 +35,7 @@ export class SimCfnElbV2LoadBalancerCreator {
35
35
  * teardown has already deleted them itself, since each of them names the
36
36
  * load balancer, so what this removes is usually the load balancer alone.
37
37
  */
38
- async delete(loadBalancer) {
39
- await this.elbV2.deleteLoadBalancer({
40
- input: { LoadBalancerArn: loadBalancer.arn },
41
- });
38
+ async delete(loadBalancer, options) {
39
+ await this.elbV2.deleteLoadBalancer({ input: { LoadBalancerArn: loadBalancer.arn } }, options);
42
40
  }
43
41
  }
@@ -3,6 +3,7 @@ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template
3
3
  import type { SimElbV2ListenerRule } from "../../listener/rule/sim-elbv2-listener-rule.js";
4
4
  import type { SimElbV2 } from "../../sim-elbv2.js";
5
5
  import type { SimElbV2Stores } from "../../sim-elbv2-stores.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimCfnElbV2ListenerRuleCreatorProperties {
7
8
  readonly elbV2: SimElbV2;
8
9
  readonly stores: SimElbV2Stores;
@@ -23,10 +24,10 @@ export declare class SimCfnElbV2ListenerRuleCreator {
23
24
  /**
24
25
  * Create a rule from a ListenerRule Resource.
25
26
  */
26
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimElbV2ListenerRule>;
27
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimElbV2ListenerRule>;
27
28
  /**
28
29
  * Delete a rule created from a ListenerRule Resource.
29
30
  */
30
- delete(rule: SimElbV2ListenerRule): Promise<void>;
31
+ delete(rule: SimElbV2ListenerRule, options?: SimCfnResourceCallerOptions): Promise<void>;
31
32
  }
32
33
  export {};
@@ -19,14 +19,14 @@ export class SimCfnElbV2ListenerRuleCreator {
19
19
  /**
20
20
  * Create a rule from a ListenerRule Resource.
21
21
  */
22
- async create(resource, properties) {
22
+ async create(resource, properties, options) {
23
23
  const declared = new SimCfnElbV2ListenerRuleProperties({
24
24
  resource,
25
25
  properties,
26
26
  });
27
27
  const input = declared.createRuleInput();
28
28
  declared.recordIgnoredProperties();
29
- const created = await this.elbV2.createRule({ input });
29
+ const created = await this.elbV2.createRule({ input }, options);
30
30
  const ruleArn = created.Rules?.[0]?.RuleArn;
31
31
  assertDefined(ruleArn, `sim ELBv2 rule ARN after CloudFormation creation for ${resource.logicalId}`);
32
32
  return this.stores.rules.requireByArn(ruleArn);
@@ -34,7 +34,7 @@ export class SimCfnElbV2ListenerRuleCreator {
34
34
  /**
35
35
  * Delete a rule created from a ListenerRule Resource.
36
36
  */
37
- async delete(rule) {
38
- await this.elbV2.deleteRule({ input: { RuleArn: rule.arn } });
37
+ async delete(rule, options) {
38
+ await this.elbV2.deleteRule({ input: { RuleArn: rule.arn } }, options);
39
39
  }
40
40
  }
@@ -3,6 +3,7 @@ import type { SimCfnElbV2ListenerCreator } from "./listener/sim-cfn-elbv2-listen
3
3
  import type { SimCfnElbV2LoadBalancerCreator } from "./load-balancer/sim-cfn-elbv2-load-balancer-creator.js";
4
4
  import type { SimCfnElbV2ListenerRuleCreator } from "./rule/sim-cfn-elbv2-listener-rule-creator.js";
5
5
  import type { SimCfnElbV2TargetGroupCreator } from "./target-group/sim-cfn-elbv2-target-group-creator.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimElbV2CfnResourceDeleterProperties {
7
8
  readonly loadBalancers: SimCfnElbV2LoadBalancerCreator;
8
9
  readonly targetGroups: SimCfnElbV2TargetGroupCreator;
@@ -30,6 +31,6 @@ export declare class SimElbV2CfnResourceDeleter {
30
31
  /**
31
32
  * Delete the simulated resource one Resource created.
32
33
  */
33
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
34
+ delete(resourceTypeName: string, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
34
35
  }
35
36
  export {};
@@ -25,22 +25,22 @@ export class SimElbV2CfnResourceDeleter {
25
25
  /**
26
26
  * Delete the simulated resource one Resource created.
27
27
  */
28
- async delete(resourceTypeName, resource) {
28
+ async delete(resourceTypeName, resource, options) {
29
29
  switch (resourceTypeName) {
30
30
  case "LoadBalancer": {
31
- await this.loadBalancers.delete(simCfnElbV2Created(resource, "load balancer"));
31
+ await this.loadBalancers.delete(simCfnElbV2Created(resource, "load balancer"), options);
32
32
  return;
33
33
  }
34
34
  case "TargetGroup": {
35
- await this.targetGroups.delete(simCfnElbV2Created(resource, "target group"));
35
+ await this.targetGroups.delete(simCfnElbV2Created(resource, "target group"), options);
36
36
  return;
37
37
  }
38
38
  case "Listener": {
39
- await this.listeners.delete(simCfnElbV2Created(resource, "listener"));
39
+ await this.listeners.delete(simCfnElbV2Created(resource, "listener"), options);
40
40
  return;
41
41
  }
42
42
  case "ListenerRule": {
43
- await this.rules.delete(simCfnElbV2Created(resource, "rule"));
43
+ await this.rules.delete(simCfnElbV2Created(resource, "rule"), options);
44
44
  return;
45
45
  }
46
46
  default: {
@@ -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 { SimElbV2 } from "../sim-elbv2.js";
4
4
  import type { SimElbV2Stores } from "../sim-elbv2-stores.js";
5
5
  interface SimElbV2CfnResourceFactoryProperties {
@@ -33,6 +33,6 @@ export declare class SimElbV2CfnResourceFactory implements SimCfnServiceResource
33
33
  /**
34
34
  * Delete a simulated ELBv2 resource created from a CloudFormation Resource.
35
35
  */
36
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
36
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
37
37
  }
38
38
  export {};
@@ -3,6 +3,7 @@ import { SimCfnElbV2LoadBalancerCreator } from "./load-balancer/sim-cfn-elbv2-lo
3
3
  import { SimCfnElbV2ListenerRuleCreator } from "./rule/sim-cfn-elbv2-listener-rule-creator.js";
4
4
  import { SimCfnElbV2TargetGroupCreator } from "./target-group/sim-cfn-elbv2-target-group-creator.js";
5
5
  import { SimElbV2CfnResourceDeleter } from "./sim-elbv2-cfn-resource-deleter.js";
6
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  /**
7
8
  * CloudFormation Resource factory for simulated ELBv2 resources.
8
9
  *
@@ -39,18 +40,19 @@ export class SimElbV2CfnResourceFactory {
39
40
  */
40
41
  async create(resourceTypeName, resource, context) {
41
42
  const properties = context.resolvedProperties ?? resource.properties;
43
+ const options = simCfnResourceCallerOptions(context.caller);
42
44
  switch (resourceTypeName) {
43
45
  case "LoadBalancer": {
44
- return await this.loadBalancerCreator.create(resource, properties);
46
+ return await this.loadBalancerCreator.create(resource, properties, options);
45
47
  }
46
48
  case "TargetGroup": {
47
- return await this.targetGroupCreator.create(resource, properties);
49
+ return await this.targetGroupCreator.create(resource, properties, options);
48
50
  }
49
51
  case "Listener": {
50
- return await this.listenerCreator.create(resource, properties);
52
+ return await this.listenerCreator.create(resource, properties, options);
51
53
  }
52
54
  case "ListenerRule": {
53
- return await this.ruleCreator.create(resource, properties);
55
+ return await this.ruleCreator.create(resource, properties, options);
54
56
  }
55
57
  default: {
56
58
  throw new Error(`Unsupported sim ELBv2 CloudFormation Resource ${resourceTypeName}`);
@@ -60,7 +62,7 @@ export class SimElbV2CfnResourceFactory {
60
62
  /**
61
63
  * Delete a simulated ELBv2 resource created from a CloudFormation Resource.
62
64
  */
63
- async delete(resourceTypeName, resource) {
64
- await this.deleter.delete(resourceTypeName, resource);
65
+ async delete(resourceTypeName, resource, context) {
66
+ await this.deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
65
67
  }
66
68
  }
@@ -3,6 +3,7 @@ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template
3
3
  import type { SimElbV2 } from "../../sim-elbv2.js";
4
4
  import type { SimElbV2Stores } from "../../sim-elbv2-stores.js";
5
5
  import type { SimElbV2TargetGroup } from "../../target-group/sim-elbv2-target-group.js";
6
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
7
  interface SimCfnElbV2TargetGroupCreatorProperties {
7
8
  readonly elbV2: SimElbV2;
8
9
  readonly stores: SimElbV2Stores;
@@ -23,7 +24,7 @@ export declare class SimCfnElbV2TargetGroupCreator {
23
24
  /**
24
25
  * Create a target group from a TargetGroup Resource.
25
26
  */
26
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimElbV2TargetGroup>;
27
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimElbV2TargetGroup>;
27
28
  /**
28
29
  * Delete a target group created from a TargetGroup Resource.
29
30
  *
@@ -31,7 +32,7 @@ export declare class SimCfnElbV2TargetGroupCreator {
31
32
  * a group comes down after the listeners naming it, which the teardown order
32
33
  * arranges.
33
34
  */
34
- delete(targetGroup: SimElbV2TargetGroup): Promise<void>;
35
+ delete(targetGroup: SimElbV2TargetGroup, options?: SimCfnResourceCallerOptions): Promise<void>;
35
36
  /**
36
37
  * Register the targets the Resource declared, if it declared any.
37
38
  */
@@ -18,16 +18,16 @@ export class SimCfnElbV2TargetGroupCreator {
18
18
  /**
19
19
  * Create a target group from a TargetGroup Resource.
20
20
  */
21
- async create(resource, properties) {
21
+ async create(resource, properties, options) {
22
22
  const declared = new SimCfnElbV2TargetGroupProperties({
23
23
  resource,
24
24
  properties,
25
25
  });
26
26
  const input = declared.createTargetGroupInput();
27
27
  declared.recordIgnoredProperties();
28
- await this.elbV2.createTargetGroup({ input });
28
+ await this.elbV2.createTargetGroup({ input }, options);
29
29
  const targetGroup = this.stores.targetGroups.requireByName(declared.name());
30
- await this.registerTargets(targetGroup, declared.targets());
30
+ await this.registerTargets(targetGroup, declared.targets(), options);
31
31
  return targetGroup;
32
32
  }
33
33
  /**
@@ -37,20 +37,16 @@ export class SimCfnElbV2TargetGroupCreator {
37
37
  * a group comes down after the listeners naming it, which the teardown order
38
38
  * arranges.
39
39
  */
40
- async delete(targetGroup) {
41
- await this.elbV2.deleteTargetGroup({
42
- input: { TargetGroupArn: targetGroup.arn },
43
- });
40
+ async delete(targetGroup, options) {
41
+ await this.elbV2.deleteTargetGroup({ input: { TargetGroupArn: targetGroup.arn } }, options);
44
42
  }
45
43
  /**
46
44
  * Register the targets the Resource declared, if it declared any.
47
45
  */
48
- async registerTargets(targetGroup, targets) {
46
+ async registerTargets(targetGroup, targets, options) {
49
47
  if (targets === undefined || targets.length === 0) {
50
48
  return;
51
49
  }
52
- await this.elbV2.registerTargets({
53
- input: { TargetGroupArn: targetGroup.arn, Targets: targets },
54
- });
50
+ await this.elbV2.registerTargets({ input: { TargetGroupArn: targetGroup.arn, Targets: targets } }, options);
55
51
  }
56
52
  }
@@ -1,5 +1,6 @@
1
1
  import { assertDefined } from "../../../util/type-guard/defined.js";
2
2
  import { parseSimLambdaFunctionArn } from "../../lambda/function/sim-lambda-function-arn-parts.js";
3
+ import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
3
4
  /**
4
5
  * Routes a request to the load balancer behind its host name, and a target
5
6
  * group to the function or container behind that.
@@ -70,7 +71,7 @@ export class SimElbV2Router {
70
71
  if (simFunction === undefined) {
71
72
  return undefined;
72
73
  }
73
- return { simFunction, iam: scope.iam() };
74
+ return { simFunction, iam: simScopeIamAuthZ(scope) };
74
75
  }
75
76
  /**
76
77
  * Find the container of a simulated ECS service that answers for a target
@@ -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 { SimElbV2CfnResourceFactory } from "./cfn/sim-elbv2-cfn-resource-factory.js";
5
5
  import { SimElbV2Commands } from "./command/sim-elbv2-commands.js";
6
6
  import { SimElbV2Registry } from "./registry/sim-elbv2-registry.js";
@@ -27,11 +27,11 @@ export class SimElbV2 {
27
27
  commands;
28
28
  sdkRouter = new SimElbV2SdkCommandRouter(this);
29
29
  constructor(properties = {}) {
30
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), registry = new SimElbV2Registry(), } = properties;
30
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), registry = new SimElbV2Registry(), } = properties;
31
31
  this.stores = new SimElbV2Stores({ registry });
32
32
  this.commands = new SimElbV2Commands({
33
33
  stores: this.stores,
34
- iam,
34
+ iam: simIamInRegion(properties.iam, accountRegionScope.regionName),
35
35
  background,
36
36
  accountRegionScope,
37
37
  acmRegistry: properties.acmRegistry,
@@ -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 { SimEventBus } from "../../bus/sim-event-bus.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 SimCfnEventBusCreatorProperties {
6
7
  readonly eventBridge: SimEventBridge;
7
8
  }
@@ -19,6 +20,6 @@ export declare class SimCfnEventBusCreator {
19
20
  /**
20
21
  * Create an event bus from an AWS::Events::EventBus Resource.
21
22
  */
22
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimEventBus>;
23
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimEventBus>;
23
24
  }
24
25
  export {};