@kensio/yulin 1.20.13 → 1.20.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/{dist/config/oxlint/cffjs2.oxlintrc.json → cffjs2.oxlintrc.json} +1 -1
  2. package/dist/config/oxlint/cffjs2.oxlint.config.js +4 -3
  3. package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
  4. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
  5. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
  6. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
  7. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
  8. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
  9. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
  10. package/dist/service/acm/sim-acm.d.ts +1 -1
  11. package/dist/service/acm/sim-acm.js +3 -2
  12. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
  13. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
  14. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
  15. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
  16. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
  17. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
  18. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
  19. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
  20. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
  21. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
  22. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
  23. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
  24. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
  25. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
  26. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
  27. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
  28. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
  29. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
  30. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
  31. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
  32. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
  33. package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
  34. package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
  35. package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
  36. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
  37. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
  38. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
  39. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
  40. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
  41. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
  42. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
  43. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
  44. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
  45. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
  46. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
  47. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
  48. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
  49. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
  50. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
  51. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
  52. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
  53. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
  54. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
  55. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
  56. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
  57. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
  58. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
  59. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
  60. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
  61. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
  62. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
  63. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
  64. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
  65. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
  66. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
  67. package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
  68. package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
  69. package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
  70. package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
  71. package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
  72. package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
  73. package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
  74. package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
  75. package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
  76. package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
  77. package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
  78. package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
  79. package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
  80. package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
  81. package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
  82. package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
  83. package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
  84. package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
  85. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  86. package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
  87. package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
  88. package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
  89. package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
  90. package/dist/service/athena/sim-athena-executions.d.ts +1 -1
  91. package/dist/service/athena/sim-athena-executions.js +3 -2
  92. package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
  93. package/dist/service/bedrock/sim-bedrock.js +3 -2
  94. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
  95. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
  96. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  97. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  98. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  99. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
  100. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  101. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
  102. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  103. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
  104. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
  105. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
  106. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
  107. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  108. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  109. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  110. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
  111. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
  112. package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
  113. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +11 -4
  114. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +21 -8
  115. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +21 -0
  116. package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
  117. package/dist/service/cloudformation/sim-cloudformation.js +3 -2
  118. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
  119. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
  120. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  121. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  122. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
  123. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
  124. package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
  125. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
  126. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  127. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  128. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
  129. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  130. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +2 -0
  131. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +2 -2
  132. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts +10 -0
  133. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +4 -3
  134. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts +11 -0
  135. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js +21 -0
  136. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +24 -2
  137. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +50 -11
  138. package/dist/service/cloudformation/template/dynamic/sim-cfn-prefetched-dynamic-references.d.ts +42 -0
  139. package/dist/service/cloudformation/template/dynamic/sim-cfn-prefetched-dynamic-references.js +80 -0
  140. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
  141. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
  142. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
  143. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
  144. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
  145. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
  146. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
  147. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
  148. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
  149. package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
  150. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
  151. package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
  152. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
  153. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
  154. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
  155. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
  156. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
  157. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
  158. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
  159. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
  160. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
  161. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
  162. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
  163. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
  164. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
  165. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
  166. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
  167. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
  168. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
  169. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
  170. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
  171. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
  172. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
  173. package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
  174. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
  175. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
  176. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
  177. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
  178. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
  179. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
  180. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
  181. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
  182. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
  183. package/dist/service/dynamodb/sim-dynamodb.js +3 -2
  184. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
  185. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
  186. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
  187. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
  188. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
  189. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
  190. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
  191. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
  192. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
  193. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
  194. package/dist/service/ecs/sim-ecs-commands.js +3 -2
  195. package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
  196. package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
  197. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
  198. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
  199. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
  200. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
  201. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
  202. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
  203. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
  204. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
  205. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
  206. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
  207. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
  208. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
  209. package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
  210. package/dist/service/elbv2/sim-elbv2.js +3 -3
  211. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
  212. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
  213. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
  214. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
  215. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
  216. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
  217. package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
  218. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-failures.d.ts +16 -0
  219. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-failures.js +19 -0
  220. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
  221. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
  222. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
  223. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
  224. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
  225. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
  226. package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
  227. package/dist/service/eventbridge/sim-event-bridge.js +3 -2
  228. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
  229. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
  230. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
  231. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
  232. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
  233. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
  234. package/dist/service/firehose/sim-firehose.d.ts +1 -1
  235. package/dist/service/firehose/sim-firehose.js +3 -2
  236. package/dist/service/glue/sim-glue.d.ts +1 -1
  237. package/dist/service/glue/sim-glue.js +3 -2
  238. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +15 -11
  239. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +5 -18
  240. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
  241. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
  242. package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
  243. package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
  244. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
  245. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
  246. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
  247. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
  248. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
  249. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
  250. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
  251. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
  252. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
  253. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
  254. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
  255. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
  256. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
  257. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  258. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
  259. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
  260. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
  261. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
  262. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
  263. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
  264. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
  265. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
  266. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
  267. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
  268. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
  269. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
  270. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
  271. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
  272. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
  273. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
  274. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
  275. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
  276. package/dist/service/iam/authorize/sim-iam-decision.d.ts +12 -0
  277. package/dist/service/iam/authorize/sim-iam-decision.js +14 -0
  278. package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
  279. package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
  280. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
  281. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
  282. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
  283. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
  284. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
  285. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
  286. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
  287. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
  288. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
  289. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
  290. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
  291. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
  292. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
  293. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
  294. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
  295. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
  296. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
  297. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
  298. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
  299. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
  300. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
  301. package/dist/service/iam/command/policy/create-policy/create-policy-input-resolver.js +4 -1
  302. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +5 -1
  303. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +5 -1
  304. package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
  305. package/dist/service/iam/policy/parse/sim-iam-document-parser.d.ts +4 -1
  306. package/dist/service/iam/policy/parse/sim-iam-document-parser.js +13 -15
  307. package/dist/service/iam/policy/sim-iam-statement-label.d.ts +28 -0
  308. package/dist/service/iam/policy/sim-iam-statement-label.js +17 -0
  309. package/dist/service/iam/policy/sim-iam-statement-strings.d.ts +11 -0
  310. package/dist/service/iam/policy/sim-iam-statement-strings.js +27 -0
  311. package/dist/service/iam/validate/sim-iam-policy-document-validator.d.ts +9 -2
  312. package/dist/service/iam/validate/sim-iam-policy-document-validator.js +37 -19
  313. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
  314. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
  315. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
  316. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
  317. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
  318. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
  319. package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
  320. package/dist/service/kinesis/sim-kinesis.js +3 -2
  321. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
  322. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
  323. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
  324. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
  325. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
  326. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
  327. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
  328. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
  329. package/dist/service/kms/sim-kms-commands.d.ts +1 -1
  330. package/dist/service/kms/sim-kms-commands.js +3 -2
  331. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
  332. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
  333. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
  334. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
  335. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
  336. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
  337. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
  338. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
  339. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
  340. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
  341. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
  342. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
  343. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
  344. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
  345. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
  346. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
  347. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
  348. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
  349. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
  350. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
  351. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
  352. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
  353. package/dist/service/lambda/function/code/sim-lambda-vm-zip-function.factory.d.ts +7 -0
  354. package/dist/service/lambda/function/code/sim-lambda-vm-zip-function.factory.js +1 -0
  355. package/dist/service/lambda/function/code/vm/sdk/sim-lambda-provided-sdk-module.d.ts +19 -0
  356. package/dist/service/lambda/function/code/vm/sdk/sim-lambda-provided-sdk-module.js +78 -0
  357. package/dist/service/lambda/function/code/vm/sdk/sim-lambda-sdk-packages-not-installed.error.d.ts +15 -0
  358. package/dist/service/lambda/function/code/vm/sdk/sim-lambda-sdk-packages-not-installed.error.js +27 -0
  359. package/dist/service/lambda/function/code/vm/sdk/sim-lambda-vm-sdk-module-provider.d.ts +9 -0
  360. package/dist/service/lambda/function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.d.ts +10 -0
  361. package/dist/service/lambda/function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.js +28 -34
  362. package/dist/service/lambda/function/code/vm/sim-lambda-host-modules.d.ts +15 -0
  363. package/dist/service/lambda/function/code/vm/sim-lambda-host-modules.js +31 -0
  364. package/dist/service/lambda/function/code/vm/sim-lambda-vm-module-resolver.d.ts +7 -0
  365. package/dist/service/lambda/function/code/vm/sim-lambda-vm-module-resolver.js +15 -0
  366. package/dist/service/lambda/function/code/vm/sim-lambda-vm-modules.js +5 -4
  367. package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
  368. package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
  369. package/dist/service/lambda/sim-lambda-commands.js +3 -2
  370. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
  371. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
  372. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
  373. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
  374. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
  375. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
  376. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
  377. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
  378. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
  379. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
  380. package/dist/service/logs/sim-logs-commands.d.ts +1 -1
  381. package/dist/service/logs/sim-logs-commands.js +3 -2
  382. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
  383. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
  384. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
  385. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
  386. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
  387. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
  388. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
  389. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
  390. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
  391. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
  392. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
  393. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
  394. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
  395. package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
  396. package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
  397. package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
  398. package/dist/service/rekognition/sim-rekognition.js +3 -2
  399. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
  400. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
  401. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
  402. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
  403. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
  404. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
  405. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
  406. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
  407. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
  408. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
  409. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
  410. package/dist/service/route53/sim-route53.d.ts +1 -1
  411. package/dist/service/route53/sim-route53.js +5 -2
  412. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
  413. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
  414. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
  415. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
  416. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
  417. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
  418. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
  419. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
  420. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
  421. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
  422. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +4 -1
  423. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
  424. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
  425. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
  426. package/dist/service/s3/sim-s3-commands.d.ts +1 -1
  427. package/dist/service/s3/sim-s3-commands.js +3 -2
  428. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
  429. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
  430. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
  431. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
  432. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
  433. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
  434. package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
  435. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
  436. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
  437. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
  438. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
  439. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
  440. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
  441. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
  442. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
  443. package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
  444. package/dist/service/scheduler/command/group/group.command.js +1 -0
  445. package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
  446. package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
  447. package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
  448. package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
  449. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
  450. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
  451. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
  452. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
  453. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
  454. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
  455. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  456. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
  457. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
  458. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
  459. package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
  460. package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
  461. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
  462. package/dist/service/scheduler/delivery/sim-scheduler-delivery-failures.d.ts +16 -0
  463. package/dist/service/scheduler/delivery/sim-scheduler-delivery-failures.js +19 -0
  464. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
  465. package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
  466. package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
  467. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
  468. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
  469. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
  470. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
  471. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
  472. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
  473. package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
  474. package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
  475. package/dist/service/scheduler/index.d.ts +3 -1
  476. package/dist/service/scheduler/index.js +3 -1
  477. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
  478. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
  479. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
  480. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
  481. package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
  482. package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
  483. package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
  484. package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
  485. package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
  486. package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
  487. package/dist/service/scheduler/sim-scheduler.js +38 -2
  488. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts +13 -15
  489. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js +22 -43
  490. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-stand-in.d.ts +9 -0
  491. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-stand-in.js +14 -0
  492. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-value.d.ts +12 -0
  493. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-value.js +29 -0
  494. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
  495. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
  496. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
  497. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
  498. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
  499. package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
  500. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
  501. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
  502. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
  503. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
  504. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
  505. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
  506. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
  507. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
  508. package/dist/service/ses/sim-ses-commands.d.ts +1 -1
  509. package/dist/service/ses/sim-ses-commands.js +3 -2
  510. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
  511. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
  512. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
  513. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
  514. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
  515. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
  516. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
  517. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
  518. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
  519. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
  520. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
  521. package/dist/service/sns/sim-sns.d.ts +1 -1
  522. package/dist/service/sns/sim-sns.js +3 -2
  523. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
  524. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
  525. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
  526. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
  527. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
  528. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
  529. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
  530. package/dist/service/sqs/sim-sqs.d.ts +1 -1
  531. package/dist/service/sqs/sim-sqs.js +3 -2
  532. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +22 -6
  533. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +39 -24
  534. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts +10 -5
  535. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js +10 -8
  536. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
  537. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
  538. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
  539. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
  540. package/dist/service/ssm/sim-ssm.d.ts +11 -3
  541. package/dist/service/ssm/sim-ssm.js +15 -6
  542. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
  543. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
  544. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
  545. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
  546. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
  547. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
  548. package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
  549. package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
  550. package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
  551. package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
  552. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
  553. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
  554. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
  555. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
  556. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
  557. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
  558. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
  559. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
  560. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  561. package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
  562. package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
  563. package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
  564. package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
  565. package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
  566. package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
  567. package/dist/service/sts/service-role/sim-service-role.js +7 -21
  568. package/dist/service/sts/sim-sts.js +1 -0
  569. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
  570. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
  571. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
  572. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
  573. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
  574. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
  575. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
  576. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
  577. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
  578. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
  579. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
  580. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
  581. package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
  582. package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
  583. package/dist/util/clock/sim-clock-control.d.ts +3 -1
  584. package/dist/util/clock/sim-clock-control.js +2 -0
  585. package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
  586. package/dist/util/clock/sim-controllable-clock.js +2 -0
  587. package/dist/util/clock/sim-duration.d.ts +6 -2
  588. package/dist/util/clock/sim-duration.js +8 -1
  589. package/package.json +4 -3
@@ -1,6 +1,7 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimAws } from "../../../aws/sim-aws.js";
4
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
5
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
5
6
  import { SimCfnStack, type SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
6
7
  import type { SimCreateStackCommand, SimCreateStackCommandOutput } from "./create-stack.command.js";
@@ -14,6 +15,8 @@ interface CreateStackCommandHandlerProperties {
14
15
  readonly background: BackgroundScheduler & BackgroundCompleter;
15
16
  readonly cdkOutContext?: SimCdkOutContext | undefined;
16
17
  readonly bindings?: readonly SimCfnBinding[] | undefined;
18
+ /** The principal the Stack's Resources are created as. */
19
+ readonly caller?: SimAwsCaller | undefined;
17
20
  readonly exports?: SimCfnExports | undefined;
18
21
  }
19
22
  /**
@@ -28,6 +31,7 @@ export declare class CreateStackCommandHandler implements CommandHandler<SimCrea
28
31
  private readonly background;
29
32
  private readonly cdkOutContext;
30
33
  private readonly bindings;
34
+ private readonly caller;
31
35
  private readonly exports;
32
36
  constructor(properties: CreateStackCommandHandlerProperties);
33
37
  /**
@@ -16,15 +16,17 @@ export class CreateStackCommandHandler {
16
16
  background;
17
17
  cdkOutContext;
18
18
  bindings;
19
+ caller;
19
20
  exports;
20
21
  constructor(properties) {
21
- const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, exports, } = properties;
22
+ const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, caller, exports, } = properties;
22
23
  this.simAws = simAws;
23
24
  this.accountRegionScope = accountRegionScope;
24
25
  this.stacks = stacks;
25
26
  this.background = background;
26
27
  this.cdkOutContext = cdkOutContext;
27
28
  this.bindings = bindings;
29
+ this.caller = caller;
28
30
  this.exports = exports;
29
31
  }
30
32
  /**
@@ -60,6 +62,7 @@ export class CreateStackCommandHandler {
60
62
  template,
61
63
  cdkOutContext: this.cdkOutContext,
62
64
  bindings: this.bindings,
65
+ caller: this.caller,
63
66
  exports: this.exports,
64
67
  });
65
68
  this.stacks.set(stack.stackName, stack);
@@ -1,6 +1,7 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimAws } from "../../../aws/sim-aws.js";
4
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
5
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
5
6
  import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
6
7
  import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
@@ -16,6 +17,11 @@ interface UpdateStackCommandHandlerProperties {
16
17
  * applied from a template file rather than from an SDK Command.
17
18
  */
18
19
  readonly cdkOutContext?: SimCdkOutContext | undefined;
20
+ /**
21
+ * The principal to apply the changed template as, for an update that names
22
+ * one. Left out, the Stack goes on running as whoever deployed it.
23
+ */
24
+ readonly caller?: SimAwsCaller | undefined;
19
25
  /** The export names published in this Account and Region. */
20
26
  readonly exports?: SimCfnExports | undefined;
21
27
  }
@@ -30,6 +36,7 @@ export declare class UpdateStackCommandHandler implements CommandHandler<SimUpda
30
36
  private readonly stacks;
31
37
  private readonly background;
32
38
  private readonly cdkOutContext;
39
+ private readonly caller;
33
40
  private readonly exports;
34
41
  constructor(properties: UpdateStackCommandHandlerProperties);
35
42
  /**
@@ -14,6 +14,7 @@ export class UpdateStackCommandHandler {
14
14
  stacks;
15
15
  background;
16
16
  cdkOutContext;
17
+ caller;
17
18
  exports;
18
19
  constructor(properties) {
19
20
  this.simAws = properties.simAws;
@@ -21,6 +22,7 @@ export class UpdateStackCommandHandler {
21
22
  this.stacks = properties.stacks;
22
23
  this.background = properties.background;
23
24
  this.cdkOutContext = properties.cdkOutContext;
25
+ this.caller = properties.caller;
24
26
  this.exports = properties.exports;
25
27
  }
26
28
  /**
@@ -56,7 +58,7 @@ export class UpdateStackCommandHandler {
56
58
  parameters,
57
59
  accountRegionScope: this.accountRegionScope,
58
60
  exports: this.exports,
59
- }), { cdkOutContext: this.cdkOutContext });
61
+ }), { cdkOutContext: this.cdkOutContext, caller: this.caller });
60
62
  return {
61
63
  StackId: stack.stackName,
62
64
  $metadata: {},
@@ -27,7 +27,7 @@ export class SimCfnCdkOutDeployer {
27
27
  }
28
28
  async deployStack(stack, plan, deployed) {
29
29
  const { simAws, accountRegionScope } = this.scope;
30
- const { transform, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
30
+ const { transform, caller, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
31
31
  return await simAws
32
32
  .accountRegionScope(accountRegionScope.accountId, stack.regionName)
33
33
  .cloudFormation()
@@ -35,6 +35,7 @@ export class SimCfnCdkOutDeployer {
35
35
  templatePath: stack.templatePath,
36
36
  stackName: stack.stackName,
37
37
  ...options,
38
+ caller: caller ?? plan.caller,
38
39
  transform: cdkOutBoundTransform(transform, deployed),
39
40
  });
40
41
  }
@@ -1,4 +1,5 @@
1
1
  import type { AwsRegionName } from "../../aws/sim-aws-region.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
3
  import { type SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
3
4
  import { type SimCfnCdkOutStackOptionsByName } from "./sim-cfn-cdk-out-stack-options.js";
4
5
  export interface SimCloudFormationDeployCdkOutProperties {
@@ -17,8 +18,13 @@ export interface SimCloudFormationDeployCdkOutProperties {
17
18
  */
18
19
  readonly stackNames?: readonly string[] | undefined;
19
20
  /**
20
- * Bindings, parameters and a transform for individual Stacks, keyed the same
21
- * way `stackNames` names them.
21
+ * The principal every Stack in the assembly is deployed as, which one named
22
+ * in `stackOptions` overrides for its own Stack.
23
+ */
24
+ readonly caller?: SimAwsCaller | undefined;
25
+ /**
26
+ * Bindings, parameters, a caller and a transform for individual Stacks,
27
+ * keyed the same way `stackNames` names them.
22
28
  */
23
29
  readonly stackOptions?: SimCfnCdkOutStackOptionsByName | undefined;
24
30
  }
@@ -28,6 +34,7 @@ export interface SimCfnCdkOutPlannedStack extends SimCdkAssemblyStack {
28
34
  }
29
35
  export interface SimCfnCdkOutPlan {
30
36
  readonly stacks: readonly SimCfnCdkOutPlannedStack[];
37
+ readonly caller?: SimAwsCaller | undefined;
31
38
  readonly stackOptions?: SimCfnCdkOutStackOptionsByName | undefined;
32
39
  }
33
40
  /**
@@ -10,7 +10,7 @@ import { assertCdkOutOptionsAreDeployed, } from "./sim-cfn-cdk-out-stack-options
10
10
  * an assembly that cannot be deployed says so before any Stack is created.
11
11
  */
12
12
  export async function planCdkOutDeployment(properties) {
13
- const { directoryPath, stackNames, stackOptions } = cdkOutDeployment(properties.request);
13
+ const { directoryPath, stackNames, caller, stackOptions } = cdkOutDeployment(properties.request);
14
14
  const selected = selectCdkAssemblyStacks({
15
15
  stacks: await loadCdkAssemblyStacks(directoryPath),
16
16
  stackNames,
@@ -22,6 +22,7 @@ export async function planCdkOutDeployment(properties) {
22
22
  ...stack,
23
23
  regionName: stack.regionName ?? properties.defaultRegionName,
24
24
  })),
25
+ caller,
25
26
  stackOptions,
26
27
  };
27
28
  }
@@ -1,5 +1,6 @@
1
1
  import type { SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
2
2
  import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
3
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
3
4
  import type { SimCfnDeployedStack } from "../stack/sim-cfn-deployed-stack.type.js";
4
5
  import type { CfnTemplateBodyRecord } from "../template/sim-cfn-template.js";
5
6
  import type { SimCfnTemplateFileTransform } from "./sim-cfn-template-file-transform.js";
@@ -26,6 +27,12 @@ export type SimCfnCdkOutTemplateTransform = (template: CfnTemplateBodyRecord, de
26
27
  export interface SimCfnCdkOutStackOptions {
27
28
  readonly parameters?: Record<string, string> | undefined;
28
29
  readonly bindings?: readonly SimCfnBinding[] | undefined;
30
+ /**
31
+ * The principal this Stack is deployed as, where the assembly's own caller
32
+ * is not the right one for it. A pipeline Stack deployed by one role and an
33
+ * application Stack deployed by another is what this is for.
34
+ */
35
+ readonly caller?: SimAwsCaller | undefined;
29
36
  readonly transform?: SimCfnCdkOutTemplateTransform | undefined;
30
37
  }
31
38
  export type SimCfnCdkOutStackOptionsByName = Record<string, SimCfnCdkOutStackOptions>;
@@ -43,8 +50,8 @@ export declare function cdkOutBoundTransform(transform: SimCfnCdkOutTemplateTran
43
50
  /**
44
51
  * Refuse options keyed against a Stack that is not being deployed.
45
52
  *
46
- * A renamed Stack would otherwise take its bindings and its transform with it
47
- * without saying anything, and the deployment that lost them looks like one
48
- * that never had them.
53
+ * A renamed Stack would otherwise take its bindings, its caller and its
54
+ * transform with it without saying anything, and the deployment that lost them
55
+ * looks like one that never had them.
49
56
  */
50
57
  export declare function assertCdkOutOptionsAreDeployed(optionsByName: SimCfnCdkOutStackOptionsByName | undefined, deploying: readonly SimCdkAssemblyStack[]): void;
@@ -20,17 +20,14 @@ export function cdkOutBoundTransform(transform, deployed) {
20
20
  /**
21
21
  * Refuse options keyed against a Stack that is not being deployed.
22
22
  *
23
- * A renamed Stack would otherwise take its bindings and its transform with it
24
- * without saying anything, and the deployment that lost them looks like one
25
- * that never had them.
23
+ * A renamed Stack would otherwise take its bindings, its caller and its
24
+ * transform with it without saying anything, and the deployment that lost them
25
+ * looks like one that never had them.
26
26
  */
27
27
  export function assertCdkOutOptionsAreDeployed(optionsByName, deploying) {
28
28
  const names = new Set(deploying.flatMap((stack) => [stack.stackName, stack.artifactId]));
29
29
  const unmatched = Object.keys(optionsByName ?? {}).filter((name) => !names.has(name));
30
30
  if (unmatched.length > 0) {
31
- throw new Error(`Options were given for ${unmatched.join(", ")}, which no Stack being deployed is named. The Stacks being deployed are ${stackNames(deploying)}.`);
31
+ throw new Error(`Options were given for ${unmatched.join(", ")}, which no Stack being deployed is named. The Stacks being deployed are ${deploying.map((stack) => stack.stackName).join(", ")}.`);
32
32
  }
33
33
  }
34
- function stackNames(stacks) {
35
- return stacks.map((stack) => stack.stackName).join(", ");
36
- }
@@ -5,6 +5,7 @@ import { type SimCloudFormationDeployTemplateFileProperties as SimCloudFormation
5
5
  import { type SimCloudFormationDeployCdkOutProperties } from "./sim-cfn-cdk-out-deployer.js";
6
6
  import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
7
7
  import type { SimAws } from "../../aws/sim-aws.js";
8
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
8
9
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
9
10
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../util/background/background.js";
10
11
  import type { SimCfnExports } from "../export/sim-cfn-exports.js";
@@ -13,6 +14,15 @@ export interface SimCloudFormationCreateStackProperties {
13
14
  readonly template: CfnTemplateBodyRecord;
14
15
  readonly parameters?: Record<string, string> | undefined;
15
16
  readonly bindings?: readonly SimCfnBinding[] | undefined;
17
+ /**
18
+ * The principal the deployment runs as.
19
+ *
20
+ * Every Resource is created, updated and deleted through the command an SDK
21
+ * caller would reach, and this is who those commands are authorized as. Left
22
+ * out, they are decided as the Account root, which is what a service control
23
+ * policy denying an Account's root principal then denies.
24
+ */
25
+ readonly caller?: SimAwsCaller | undefined;
16
26
  /**
17
27
  * The synthesized CDK template file this in-memory template stands in for.
18
28
  *
@@ -58,6 +58,7 @@ export class SimCloudFormationTemplateDeployer {
58
58
  template: properties.template,
59
59
  parameters: properties.parameters,
60
60
  bindings: properties.bindings,
61
+ caller: properties.caller,
61
62
  cdkOutContext: await cdkOutContextForTemplatePath(properties.templatePath),
62
63
  });
63
64
  }
@@ -110,13 +111,13 @@ export class SimCloudFormationTemplateDeployer {
110
111
  ParameterValue: parameterValue,
111
112
  })),
112
113
  },
113
- }, properties.cdkOutContext, properties.bindings);
114
+ }, properties.cdkOutContext, properties.bindings, properties.caller);
114
115
  const stack = this.stacks.get(properties.stackName);
115
116
  assertDefined(stack, `Sim CloudFormation Stack named ${properties.stackName}`);
116
117
  await stack.waitForDeployComplete();
117
118
  return stack;
118
119
  }
119
- async createStackWithContext(command, cdkOutContext, bindings) {
120
+ async createStackWithContext(command, cdkOutContext, bindings, caller) {
120
121
  const handler = new CreateStackCommandHandler({
121
122
  simAws: this.simAws,
122
123
  accountRegionScope: this.accountRegionScope,
@@ -124,6 +125,7 @@ export class SimCloudFormationTemplateDeployer {
124
125
  background: this.background,
125
126
  cdkOutContext,
126
127
  bindings,
128
+ caller,
127
129
  exports: this.exports,
128
130
  });
129
131
  return await handler.handle(command);
@@ -2,6 +2,7 @@ import type { SimCloudFormationStackName } from "../stack/sim-cfn-stack.js";
2
2
  import type { CfnTemplateBodyRecord } from "../template/sim-cfn-template.js";
3
3
  import { type SimCdkOutContext } from "../cdk/sim-cdk-out-context.js";
4
4
  import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
5
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
5
6
  import type { SimCfnTemplateFileWatchOptions } from "../watch/sim-cfn-template-watch.type.js";
6
7
  import { type SimCfnTemplateFileTransform } from "./sim-cfn-template-file-transform.js";
7
8
  export interface SimCloudFormationDeployTemplateFileProperties {
@@ -9,6 +10,15 @@ export interface SimCloudFormationDeployTemplateFileProperties {
9
10
  readonly stackName?: SimCloudFormationStackName | string | undefined;
10
11
  readonly parameters?: Record<string, string> | undefined;
11
12
  readonly bindings?: readonly SimCfnBinding[] | undefined;
13
+ /**
14
+ * The principal the deployment runs as.
15
+ *
16
+ * Every Resource is created, updated and deleted through the command an SDK
17
+ * caller would reach, and this is who those commands are authorized as. Left
18
+ * out, they are decided as the Account root, which is what a service control
19
+ * policy denying an Account's root principal then denies.
20
+ */
21
+ readonly caller?: SimAwsCaller | undefined;
12
22
  /**
13
23
  * Adapt the parsed template before it is deployed, and again every time a
14
24
  * watched file changes.
@@ -42,6 +52,7 @@ export interface SimCfnLoadedTemplateFile {
42
52
  readonly template: CfnTemplateBodyRecord;
43
53
  readonly parameters?: Record<string, string> | undefined;
44
54
  readonly bindings?: readonly SimCfnBinding[] | undefined;
55
+ readonly caller?: SimAwsCaller | undefined;
45
56
  readonly cdkOutContext?: SimCdkOutContext | undefined;
46
57
  }
47
58
  /**
@@ -16,7 +16,7 @@ export class SimCfnTemplateFileLoader {
16
16
  */
17
17
  async load(properties) {
18
18
  const deployment = simCfnTemplateFileDeployment(properties);
19
- const { templatePath, parameters, bindings } = deployment;
19
+ const { templatePath, parameters, bindings, caller } = deployment;
20
20
  const stackName = deployment.stackName ?? stackNameFromTemplatePath(templatePath);
21
21
  // The template is named to a `yulin watch` supervisor, so re-synthing a
22
22
  // stack restarts the process that deployed it. Nothing happens outside
@@ -31,6 +31,7 @@ export class SimCfnTemplateFileLoader {
31
31
  template,
32
32
  parameters,
33
33
  bindings,
34
+ caller,
34
35
  cdkOutContext,
35
36
  };
36
37
  }
@@ -42,6 +42,7 @@ export class SimCfnTemplateFileUpdater {
42
42
  stacks: this.stacks,
43
43
  background: this.background,
44
44
  cdkOutContext: loaded.cdkOutContext,
45
+ caller: loaded.caller,
45
46
  });
46
47
  await handler.handle({
47
48
  input: {
@@ -0,0 +1,16 @@
1
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
+ /**
3
+ * The request options a Resource operation makes its service calls with.
4
+ *
5
+ * Every simulated service takes a caller the same way, so one shape carries the
6
+ * deployment's principal from the Stack down to the commands that create and
7
+ * delete Resources. Absent where the deployment named no caller, which leaves
8
+ * each service to its own default of the Account root.
9
+ */
10
+ export type SimCfnResourceCallerOptions = {
11
+ readonly caller: SimAwsCaller;
12
+ } | undefined;
13
+ /**
14
+ * The request options naming a deployment's caller, or none where it has none.
15
+ */
16
+ export declare function simCfnResourceCallerOptions(caller: SimAwsCaller | undefined): SimCfnResourceCallerOptions;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The request options naming a deployment's caller, or none where it has none.
3
+ */
4
+ export function simCfnResourceCallerOptions(caller) {
5
+ return caller === undefined ? undefined : { caller };
6
+ }
@@ -1,3 +1,4 @@
1
+ import { SimSchedulerScheduleGroup } from "../../../../scheduler/group/sim-scheduler-schedule-group.js";
1
2
  import { SimSchedulerSchedule } from "../../../../scheduler/schedule/sim-scheduler-schedule.js";
2
3
  /**
3
4
  * CloudFormation-facing values for a simulated schedule.
@@ -23,6 +24,51 @@ class SimSchedulerScheduleCfn {
23
24
  throw new Error(`Unsupported AWS::Scheduler::Schedule attribute ${attributeName}`);
24
25
  }
25
26
  }
27
+ /**
28
+ * CloudFormation-facing values for a simulated schedule group.
29
+ *
30
+ * `Arn` is the one worth having. An identity policy granting `scheduler:`
31
+ * actions on the group names it, and so does the `aws:SourceArn` condition AWS
32
+ * recommends in a schedule execution role's trust policy.
33
+ */
34
+ class SimSchedulerScheduleGroupCfn {
35
+ group;
36
+ constructor(properties) {
37
+ this.group = properties.group;
38
+ }
39
+ /**
40
+ * AWS::Scheduler::ScheduleGroup Ref returns the group's name.
41
+ */
42
+ refValue() {
43
+ return this.group.name;
44
+ }
45
+ /**
46
+ * AWS::Scheduler::ScheduleGroup attributes.
47
+ *
48
+ * The two dates come back as ISO strings. A template value is JSON, so there
49
+ * is nowhere for a `Date` to go, and every other date CloudFormation hands
50
+ * back is a string too.
51
+ */
52
+ attributeValue(attributeName) {
53
+ switch (attributeName) {
54
+ case "Arn": {
55
+ return this.group.arn;
56
+ }
57
+ case "State": {
58
+ return this.group.state;
59
+ }
60
+ case "CreationDate": {
61
+ return this.group.creationDate.toISOString();
62
+ }
63
+ case "LastModificationDate": {
64
+ return this.group.lastModificationDate.toISOString();
65
+ }
66
+ default: {
67
+ throw new Error(`Unsupported AWS::Scheduler::ScheduleGroup attribute ${attributeName}`);
68
+ }
69
+ }
70
+ }
71
+ }
26
72
  /**
27
73
  * The CloudFormation-facing value adapter for a simulated Scheduler Resource.
28
74
  */
@@ -31,5 +77,9 @@ export function schedulerValueAdapter(properties) {
31
77
  properties.simResource instanceof SimSchedulerSchedule) {
32
78
  return new SimSchedulerScheduleCfn({ schedule: properties.simResource });
33
79
  }
80
+ if (properties.type === "AWS::Scheduler::ScheduleGroup" &&
81
+ properties.simResource instanceof SimSchedulerScheduleGroup) {
82
+ return new SimSchedulerScheduleGroupCfn({ group: properties.simResource });
83
+ }
34
84
  return undefined;
35
85
  }
@@ -45,10 +45,13 @@ export declare class SimCfnResourcePropertyResolver {
45
45
  * {@link SimCfnTemplateValueResolver}. If no Parameters are available, an empty
46
46
  * Parameter resolver is used so Resource Refs can still resolve.
47
47
  *
48
- * Resolution itself is synchronous, and the awaiting happens around it. A
49
- * dynamic reference naming a service that has to be waited on resolves to a
50
- * marker while the properties resolve, and the values replace the markers
51
- * here.
48
+ * Resolution itself is synchronous, and the awaiting happens around it.
49
+ * Properties holding a dynamic reference are resolved twice: the first pass
50
+ * reads the references and leaves them as the template wrote them, and the
51
+ * second finds the answers waiting, so an intrinsic function reading a
52
+ * reference's value gets the value rather than a marker. A reference the
53
+ * first pass never reached resolves to a marker instead, and the values
54
+ * replace the markers here.
52
55
  *
53
56
  * Resource Refs are read from the creation context. If a referenced Resource
54
57
  * is unexpectedly absent, the Ref is preserved as `{ Ref: logicalId }` rather
@@ -61,6 +64,10 @@ export declare class SimCfnResourcePropertyResolver {
61
64
  * Absent where the caller has no simulation to read from, which is how the
62
65
  * resolver is used on its own in tests. A reference then stays in the
63
66
  * property as the template wrote it.
67
+ *
68
+ * The principal the operation runs as goes with the simulation, so a
69
+ * reference is read as the deployment's own caller rather than as the
70
+ * Account root.
64
71
  */
65
72
  private dynamicReferences;
66
73
  }
@@ -1,6 +1,7 @@
1
1
  import { SimCfnParameters } from "../../../parameters/sim-cfn-parameters.js";
2
2
  import { SimCfnTemplateValueResolver } from "../../../template/value/sim-cfn-template-value-resolver.js";
3
3
  import { makeSimCfnDynamicReferences } from "../../../template/dynamic/make-sim-cfn-dynamic-references.js";
4
+ import { hasSimCfnDynamicReferenceIn } from "../../../template/dynamic/sim-cfn-dynamic-reference-scan.js";
4
5
  /**
5
6
  * Resolves CloudFormation Resource Properties immediately before Resource
6
7
  * creation.
@@ -36,10 +37,13 @@ export class SimCfnResourcePropertyResolver {
36
37
  * {@link SimCfnTemplateValueResolver}. If no Parameters are available, an empty
37
38
  * Parameter resolver is used so Resource Refs can still resolve.
38
39
  *
39
- * Resolution itself is synchronous, and the awaiting happens around it. A
40
- * dynamic reference naming a service that has to be waited on resolves to a
41
- * marker while the properties resolve, and the values replace the markers
42
- * here.
40
+ * Resolution itself is synchronous, and the awaiting happens around it.
41
+ * Properties holding a dynamic reference are resolved twice: the first pass
42
+ * reads the references and leaves them as the template wrote them, and the
43
+ * second finds the answers waiting, so an intrinsic function reading a
44
+ * reference's value gets the value rather than a marker. A reference the
45
+ * first pass never reached resolves to a marker instead, and the values
46
+ * replace the markers here.
43
47
  *
44
48
  * Resource Refs are read from the creation context. If a referenced Resource
45
49
  * is unexpectedly absent, the Ref is preserved as `{ Ref: logicalId }` rather
@@ -72,11 +76,15 @@ export class SimCfnResourcePropertyResolver {
72
76
  },
73
77
  },
74
78
  });
75
- const resolved = resolver.resolveRecord(properties);
76
79
  if (dynamicReferences === undefined) {
77
- return resolved;
80
+ return resolver.resolveRecord(properties);
78
81
  }
79
- return await dynamicReferences.settle(resolved);
82
+ if (hasSimCfnDynamicReferenceIn(properties)) {
83
+ await dynamicReferences.prefetch(() => {
84
+ resolver.resolveRecord(properties);
85
+ });
86
+ }
87
+ return await dynamicReferences.settle(resolver.resolveRecord(properties));
80
88
  }
81
89
  /**
82
90
  * The services answering this Resource's dynamic references.
@@ -84,14 +92,19 @@ export class SimCfnResourcePropertyResolver {
84
92
  * Absent where the caller has no simulation to read from, which is how the
85
93
  * resolver is used on its own in tests. A reference then stays in the
86
94
  * property as the template wrote it.
95
+ *
96
+ * The principal the operation runs as goes with the simulation, so a
97
+ * reference is read as the deployment's own caller rather than as the
98
+ * Account root.
87
99
  */
88
100
  dynamicReferences(context) {
89
- const { simAws } = context;
101
+ const { simAws, caller } = context;
90
102
  if (simAws === undefined || this.accountRegionScope === undefined) {
91
103
  return undefined;
92
104
  }
93
105
  return makeSimCfnDynamicReferences({
94
106
  simAws,
107
+ caller,
95
108
  accountRegionScope: this.accountRegionScope,
96
109
  propertyIgnorer: this.propertyIgnorer,
97
110
  resourceType: this.resourceType,
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
4
  import type { BackgroundScheduler } from "../../../util/background/background.js";
4
5
  import type { SimCfnServiceResourceFactory } from "./factory/sim-cfn-resource-factory.type.js";
@@ -43,6 +44,15 @@ export interface SimCfnResourceResolveContext {
43
44
  * another service rather than from the template. A dynamic reference is one.
44
45
  */
45
46
  readonly simAws?: SimAws | undefined;
47
+ /**
48
+ * The principal the operation runs as, which a value read out of another
49
+ * service is authorized as. Real CloudFormation reads a dynamic reference
50
+ * under the Stack's execution role rather than as the Account root.
51
+ *
52
+ * Left out unless the deployment named one, which leaves each service to its
53
+ * own omitted-caller default of the Account root.
54
+ */
55
+ readonly caller?: SimAwsCaller | undefined;
46
56
  }
47
57
  export interface SimCloudFormationResourceCreateContext {
48
58
  readonly simAws: SimAws;
@@ -50,6 +60,15 @@ export interface SimCloudFormationResourceCreateContext {
50
60
  readonly resolvedProperties?: SimCfnTemplateValueRecord | undefined;
51
61
  readonly cdkOutContext?: SimCdkOutContext | undefined;
52
62
  readonly bindings?: readonly SimCfnBinding[] | undefined;
63
+ /**
64
+ * The principal the deployment runs as, which every service command creating
65
+ * a Resource is authorized as.
66
+ *
67
+ * Left out unless the deployment named one, which leaves each service to its
68
+ * own omitted-caller default: the Account root, as it is everywhere else in
69
+ * the simulation.
70
+ */
71
+ readonly caller?: SimAwsCaller | undefined;
53
72
  }
54
73
  /**
55
74
  * What a service is given to delete a Resource it created.
@@ -64,4 +83,6 @@ export interface SimCloudFormationResourceDeleteContext {
64
83
  readonly simAws: SimAws;
65
84
  readonly resources: ReadonlyMap<string, SimCfnResource>;
66
85
  readonly resolvedProperties?: SimCfnTemplateValueRecord | undefined;
86
+ /** The principal the teardown runs as, as creation carries it. */
87
+ readonly caller?: SimAwsCaller | undefined;
67
88
  }
@@ -12,7 +12,7 @@ import type { SimCloudFormationDeployTemplateFileProperties as SimCloudFormation
12
12
  import type { SimCloudFormationDeployCdkOutProperties } from "./deploy/sim-cfn-cdk-out-deployer.js";
13
13
  import type { SimSdkCommandRouter } from "../../sdk/index.js";
14
14
  import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
15
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
15
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
16
16
  /**
17
17
  * Options accepted by simulated CloudFormation command operations.
18
18
  */
@@ -8,7 +8,7 @@ import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-s
8
8
  import { SimCfnExports } from "./export/sim-cfn-exports.js";
9
9
  import { SimCloudFormationSdkCommandRouter } from "./sdk/sim-cloudformation-sdk-command-router.js";
10
10
  import { SimCloudFormationAuthorization } from "./authorize/sim-cloudformation-authorization.js";
11
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
11
+ import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
12
12
  /**
13
13
  * Simulated CloudFormation in one AWS Account and Region.
14
14
  */
@@ -22,7 +22,8 @@ export class SimCloudFormation {
22
22
  sdkRouter = new SimCloudFormationSdkCommandRouter(this);
23
23
  authorization;
24
24
  constructor(properties) {
25
- const { simAws, accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background, } = properties;
25
+ const { simAws, accountRegionScope = simAwsAccountRegionScopeFactory.make(), background, } = properties;
26
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
26
27
  this.simAws = simAws;
27
28
  this.background = background;
28
29
  this.accountRegionScope = accountRegionScope;
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimCfnBinding } from "../../bind/sim-cfn-binding.js";
3
4
  import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
4
5
  import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
@@ -7,6 +8,7 @@ interface SimCfnStackResourceBatchCreatorProperties {
7
8
  readonly resources: ReadonlyMap<string, SimCfnResource>;
8
9
  readonly cdkOutContext?: SimCdkOutContext | undefined;
9
10
  readonly bindings?: readonly SimCfnBinding[] | undefined;
11
+ readonly caller?: SimAwsCaller | undefined;
10
12
  }
11
13
  /**
12
14
  * Creates one dependency-ready batch of Stack Resources.
@@ -27,6 +29,7 @@ export declare class SimCfnStackResourceBatchCreator {
27
29
  private readonly resources;
28
30
  private readonly cdkOutContext;
29
31
  private readonly bindings;
32
+ private readonly caller;
30
33
  constructor(properties: SimCfnStackResourceBatchCreatorProperties);
31
34
  /**
32
35
  * Create the supplied Resources concurrently.