@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
@@ -21,7 +21,7 @@ export class SimCfnLambdaFunctionCreator {
21
21
  * through their actual handler while still deploying it through
22
22
  * CloudFormation.
23
23
  */
24
- async create(resource, properties, bindings) {
24
+ async create(resource, properties, bindings, options) {
25
25
  const functionProperties = this.propertiesParser.parse(resource, properties);
26
26
  const codeInput = simCfnLambdaCodeInput({
27
27
  resource,
@@ -33,10 +33,9 @@ export class SimCfnLambdaFunctionCreator {
33
33
  if (skipError !== undefined) {
34
34
  throw skipError;
35
35
  }
36
+ const input = simCfnLambdaCreateFunctionInput(functionProperties, codeInput.code);
36
37
  try {
37
- await this.lambda.createFunction({
38
- input: simCfnLambdaCreateFunctionInput(functionProperties, codeInput.code),
39
- });
38
+ await this.lambda.createFunction({ input }, options);
40
39
  }
41
40
  catch (error) {
42
41
  const assetsSkipError = this.skips.fromCreateFailure(resource, functionProperties, error);
@@ -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 { SimLambdaPermission } from "../../function/policy/sim-lambda-permission.js";
4
4
  import type { SimLambda } from "../../sim-lambda.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnLambdaPermissionCreatorProperties {
6
7
  readonly lambda: SimLambda;
7
8
  }
@@ -30,6 +31,6 @@ export declare class SimCfnLambdaPermissionCreator {
30
31
  * statement after the logical ID, so that is what the permission is
31
32
  * addressed by afterwards, including by a later `RemovePermission`.
32
33
  */
33
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimLambdaPermission>;
34
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimLambdaPermission>;
34
35
  }
35
36
  export {};
@@ -28,7 +28,7 @@ export class SimCfnLambdaPermissionCreator {
28
28
  * statement after the logical ID, so that is what the permission is
29
29
  * addressed by afterwards, including by a later `RemovePermission`.
30
30
  */
31
- async create(resource, properties) {
31
+ async create(resource, properties, options) {
32
32
  const { functionName, qualifier } = simCfnLambdaTargetFunction(this.propertyParser.requiredString(resource, properties["FunctionName"], "FunctionName"));
33
33
  await this.lambda.addPermission({
34
34
  input: {
@@ -43,7 +43,7 @@ export class SimCfnLambdaPermissionCreator {
43
43
  PrincipalOrgID: this.propertyParser.optionalString(resource, properties["PrincipalOrgID"], "PrincipalOrgID"),
44
44
  InvokedViaFunctionUrl: this.propertyParser.optionalBoolean(resource, properties["InvokedViaFunctionUrl"], "InvokedViaFunctionUrl"),
45
45
  },
46
- });
46
+ }, options);
47
47
  const permission = this.lambda
48
48
  .getSimFunctionTarget(functionName, qualifier)
49
49
  ?.resource.resourcePolicy.get(resource.logicalId);
@@ -1,5 +1,6 @@
1
1
  import type { SimLambda } from "../../sim-lambda.js";
2
2
  import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
3
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  /**
4
5
  * Take an AWS::Lambda::Permission back off what it was granted on.
5
6
  *
@@ -8,4 +9,4 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
8
9
  * addresses it again here. A grant made on a version or an alias is revoked
9
10
  * from that same qualified resource, which the statement's own ARN names.
10
11
  */
11
- export declare function simCfnLambdaRevokePermission(lambda: SimLambda, resource: SimCfnResource): Promise<void>;
12
+ export declare function simCfnLambdaRevokePermission(lambda: SimLambda, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
@@ -8,7 +8,7 @@ import { simCfnLambdaTargetFunction } from "../function/sim-cfn-lambda-target-fu
8
8
  * addresses it again here. A grant made on a version or an alias is revoked
9
9
  * from that same qualified resource, which the statement's own ARN names.
10
10
  */
11
- export async function simCfnLambdaRevokePermission(lambda, resource) {
11
+ export async function simCfnLambdaRevokePermission(lambda, resource, options) {
12
12
  const permission = simCfnLambdaCreatedResource(resource, "permission");
13
13
  const { functionName, qualifier } = simCfnLambdaTargetFunction(permission.resourceArn);
14
14
  await lambda.removePermission({
@@ -17,5 +17,5 @@ export async function simCfnLambdaRevokePermission(lambda, resource) {
17
17
  Qualifier: qualifier,
18
18
  StatementId: permission.statementId,
19
19
  },
20
- });
20
+ }, options);
21
21
  }
@@ -1,5 +1,6 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimLambda } from "../sim-lambda.js";
3
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  interface SimCfnLambdaResourceDeleterProperties {
4
5
  readonly lambda: SimLambda;
5
6
  }
@@ -16,13 +17,6 @@ export declare class SimCfnLambdaResourceDeleter {
16
17
  /**
17
18
  * Delete a simulated Lambda resource created from a CloudFormation Resource.
18
19
  */
19
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
20
- private deleteFunction;
21
- private deleteFunctionUrl;
22
- private deleteEventSourceMapping;
23
- /**
24
- * Drop an alias, leaving the version it pointed at where it is.
25
- */
26
- private deleteAlias;
20
+ delete(resourceTypeName: string, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
27
21
  }
28
22
  export {};
@@ -1,4 +1,4 @@
1
- import { simCfnLambdaCreatedResource } from "./sim-cfn-lambda-created-resource.js";
1
+ import { simCfnLambdaCreatedResource as created } from "./sim-cfn-lambda-created-resource.js";
2
2
  import { simCfnLambdaRemoveEventInvokeConfig } from "./event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js";
3
3
  import { simCfnLambdaRevokePermission } from "./permission/sim-cfn-lambda-permission-revoker.js";
4
4
  import { simCfnLambdaTargetFunctionName } from "./function/sim-cfn-lambda-target-function.js";
@@ -17,26 +17,29 @@ export class SimCfnLambdaResourceDeleter {
17
17
  /**
18
18
  * Delete a simulated Lambda resource created from a CloudFormation Resource.
19
19
  */
20
- async delete(resourceTypeName, resource) {
20
+ async delete(resourceTypeName, resource, options) {
21
21
  switch (resourceTypeName) {
22
22
  case "Function": {
23
- await this.deleteFunction(resource);
23
+ const { name } = created(resource, "function");
24
+ await this.lambda.deleteFunction({ input: { FunctionName: name } }, options);
24
25
  return;
25
26
  }
26
27
  case "Url": {
27
- await this.deleteFunctionUrl(resource);
28
+ const url = created(resource, "Function URL");
29
+ await this.lambda.deleteFunctionUrlConfig({ input: { FunctionName: url.functionName } }, options);
28
30
  return;
29
31
  }
30
32
  case "EventSourceMapping": {
31
- await this.deleteEventSourceMapping(resource);
33
+ const { uuid } = created(resource, "event source mapping");
34
+ await this.lambda.deleteEventSourceMapping({ input: { UUID: uuid } }, options);
32
35
  return;
33
36
  }
34
37
  case "EventInvokeConfig": {
35
- await simCfnLambdaRemoveEventInvokeConfig(this.lambda, resource);
38
+ await simCfnLambdaRemoveEventInvokeConfig(this.lambda, resource, options);
36
39
  return;
37
40
  }
38
41
  case "Permission": {
39
- await simCfnLambdaRevokePermission(this.lambda, resource);
42
+ await simCfnLambdaRevokePermission(this.lambda, resource, options);
40
43
  return;
41
44
  }
42
45
  case "Version": {
@@ -48,7 +51,14 @@ export class SimCfnLambdaResourceDeleter {
48
51
  return;
49
52
  }
50
53
  case "Alias": {
51
- await this.deleteAlias(resource);
54
+ // The version the alias pointed at is left where it is.
55
+ const alias = created(resource, "alias");
56
+ await this.lambda.deleteAlias({
57
+ input: {
58
+ FunctionName: simCfnLambdaTargetFunctionName(alias.arn),
59
+ Name: alias.name,
60
+ },
61
+ }, options);
52
62
  return;
53
63
  }
54
64
  default: {
@@ -56,34 +66,4 @@ export class SimCfnLambdaResourceDeleter {
56
66
  }
57
67
  }
58
68
  }
59
- async deleteFunction(resource) {
60
- const simFunction = simCfnLambdaCreatedResource(resource, "function");
61
- await this.lambda.deleteFunction({
62
- input: { FunctionName: simFunction.name },
63
- });
64
- }
65
- async deleteFunctionUrl(resource) {
66
- const functionUrl = simCfnLambdaCreatedResource(resource, "Function URL");
67
- await this.lambda.deleteFunctionUrlConfig({
68
- input: { FunctionName: functionUrl.functionName },
69
- });
70
- }
71
- async deleteEventSourceMapping(resource) {
72
- const mapping = simCfnLambdaCreatedResource(resource, "event source mapping");
73
- await this.lambda.deleteEventSourceMapping({
74
- input: { UUID: mapping.uuid },
75
- });
76
- }
77
- /**
78
- * Drop an alias, leaving the version it pointed at where it is.
79
- */
80
- async deleteAlias(resource) {
81
- const alias = simCfnLambdaCreatedResource(resource, "alias");
82
- await this.lambda.deleteAlias({
83
- input: {
84
- FunctionName: simCfnLambdaTargetFunctionName(alias.arn),
85
- Name: alias.name,
86
- },
87
- });
88
- }
89
69
  }
@@ -1,4 +1,4 @@
1
- import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
1
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext, SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
3
3
  import type { SimLambda } from "../sim-lambda.js";
4
4
  /**
@@ -21,5 +21,5 @@ export declare class SimLambdaCloudFormationResourceFactory implements SimCfnSer
21
21
  /**
22
22
  * Delete a simulated Lambda resource created from a CloudFormation Resource.
23
23
  */
24
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
24
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
25
25
  }
@@ -1,3 +1,4 @@
1
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
1
2
  import { SimCfnLambdaAliasCreator } from "./alias/sim-cfn-lambda-alias-creator.js";
2
3
  import { SimCfnLambdaEventInvokeConfigCreator } from "./event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js";
3
4
  import { SimCfnLambdaEventSourceMappingCreator } from "./event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js";
@@ -36,27 +37,29 @@ export class SimLambdaCloudFormationResourceFactory {
36
37
  * Create a simulated Lambda resource from a CloudFormation Resource.
37
38
  */
38
39
  async create(resourceTypeName, resource, context) {
40
+ const properties = context.resolvedProperties ?? resource.properties;
41
+ const options = simCfnResourceCallerOptions(context.caller);
39
42
  switch (resourceTypeName) {
40
43
  case "Function": {
41
- return await this.functionCreator.create(resource, context.resolvedProperties ?? resource.properties, context.bindings);
44
+ return await this.functionCreator.create(resource, properties, context.bindings, options);
42
45
  }
43
46
  case "Url": {
44
- return await this.urlCreator.create(resource, context.resolvedProperties ?? resource.properties);
47
+ return await this.urlCreator.create(resource, properties, options);
45
48
  }
46
49
  case "EventSourceMapping": {
47
- return await this.eventSourceMappingCreator.create(resource, context.resolvedProperties ?? resource.properties);
50
+ return await this.eventSourceMappingCreator.create(resource, properties, options);
48
51
  }
49
52
  case "EventInvokeConfig": {
50
- return await this.eventInvokeConfigCreator.create(resource, context.resolvedProperties ?? resource.properties);
53
+ return await this.eventInvokeConfigCreator.create(resource, properties, options);
51
54
  }
52
55
  case "Permission": {
53
- return await this.permissionCreator.create(resource, context.resolvedProperties ?? resource.properties);
56
+ return await this.permissionCreator.create(resource, properties, options);
54
57
  }
55
58
  case "Version": {
56
- return await this.versionCreator.create(resource, context.resolvedProperties ?? resource.properties);
59
+ return await this.versionCreator.create(resource, properties, options);
57
60
  }
58
61
  case "Alias": {
59
- return await this.aliasCreator.create(resource, context.resolvedProperties ?? resource.properties);
62
+ return await this.aliasCreator.create(resource, properties, options);
60
63
  }
61
64
  default: {
62
65
  throw new Error(`Unsupported sim Lambda CloudFormation Resource ${resourceTypeName}`);
@@ -66,7 +69,7 @@ export class SimLambdaCloudFormationResourceFactory {
66
69
  /**
67
70
  * Delete a simulated Lambda resource created from a CloudFormation Resource.
68
71
  */
69
- async delete(resourceTypeName, resource) {
70
- await this.deleter.delete(resourceTypeName, resource);
72
+ async delete(resourceTypeName, resource, context) {
73
+ await this.deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
71
74
  }
72
75
  }
@@ -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 { SimLambdaFunctionUrl } from "../../function/url/sim-lambda-function-url.js";
4
4
  import type { SimLambda } from "../../sim-lambda.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnLambdaUrlCreatorProperties {
6
7
  readonly lambda: SimLambda;
7
8
  }
@@ -19,6 +20,6 @@ export declare class SimCfnLambdaUrlCreator {
19
20
  /**
20
21
  * Create a simulated Function URL from an AWS::Lambda::Url Resource.
21
22
  */
22
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimLambdaFunctionUrl>;
23
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimLambdaFunctionUrl>;
23
24
  }
24
25
  export {};
@@ -17,7 +17,7 @@ export class SimCfnLambdaUrlCreator {
17
17
  /**
18
18
  * Create a simulated Function URL from an AWS::Lambda::Url Resource.
19
19
  */
20
- async create(resource, properties) {
20
+ async create(resource, properties, options) {
21
21
  const targetFunctionArn = this.propertyParser.requiredString(resource, properties["TargetFunctionArn"], "TargetFunctionArn");
22
22
  const functionName = simCfnLambdaTargetFunctionName(targetFunctionArn);
23
23
  await this.lambda.createFunctionUrlConfig({
@@ -26,7 +26,7 @@ export class SimCfnLambdaUrlCreator {
26
26
  AuthType: this.propertyParser.requiredString(resource, properties["AuthType"], "AuthType"),
27
27
  InvokeMode: this.propertyParser.optionalString(resource, properties["InvokeMode"], "InvokeMode"),
28
28
  },
29
- });
29
+ }, options);
30
30
  const functionUrl = this.lambda.getSimFunctionUrl(functionName);
31
31
  assertDefined(functionUrl, `Sim Lambda Function URL for ${functionName} after CloudFormation creation`);
32
32
  return functionUrl;
@@ -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 { SimLambdaFunction } from "../../function/sim-lambda-function.js";
4
4
  import type { SimLambda } from "../../sim-lambda.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnLambdaVersionCreatorProperties {
6
7
  readonly lambda: SimLambda;
7
8
  }
@@ -25,6 +26,6 @@ export declare class SimCfnLambdaVersionCreator {
25
26
  /**
26
27
  * Publish a version from an AWS::Lambda::Version Resource.
27
28
  */
28
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimLambdaFunction>;
29
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimLambdaFunction>;
29
30
  }
30
31
  export {};
@@ -23,14 +23,14 @@ export class SimCfnLambdaVersionCreator {
23
23
  /**
24
24
  * Publish a version from an AWS::Lambda::Version Resource.
25
25
  */
26
- async create(resource, properties) {
26
+ async create(resource, properties, options) {
27
27
  const functionName = simCfnLambdaTargetFunctionName(this.propertyParser.requiredString(resource, properties["FunctionName"], "FunctionName"));
28
28
  const published = await this.lambda.publishVersion({
29
29
  input: {
30
30
  FunctionName: functionName,
31
31
  Description: this.propertyParser.optionalString(resource, properties["Description"], "Description"),
32
32
  },
33
- });
33
+ }, options);
34
34
  const version = this.lambda.getSimFunctionTarget(functionName, published.Version)?.simFunction;
35
35
  assertDefined(version, `Sim Lambda version ${published.Version} of ${functionName} after ` +
36
36
  "CloudFormation creation");
@@ -2,6 +2,7 @@ import { MappedFactory } from "@kensio/part-factory";
2
2
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
3
3
  import { SimLambdaFunction } from "../sim-lambda-function.js";
4
4
  import { type LambdaCodeZipFiles } from "./make-lambda-code-zip.js";
5
+ import type { SimLambdaVmSdkModuleProvider } from "./vm/sdk/sim-lambda-vm-sdk-module-provider.js";
5
6
  /**
6
7
  * What a test asks for when it wants a function backed by zip code running in
7
8
  * a vm sandbox.
@@ -16,6 +17,12 @@ export interface SimLambdaVmZipFunctionInput {
16
17
  readonly code: string | LambdaCodeZipFiles;
17
18
  readonly handlerName: string;
18
19
  readonly memorySizeMb: number;
20
+ /**
21
+ * What provides the modules the archive does not bundle, as the real
22
+ * runtime provides the AWS SDK. Left out, the code has none, and an SDK
23
+ * require is refused for want of one.
24
+ */
25
+ readonly sdkModuleProvider?: SimLambdaVmSdkModuleProvider | undefined;
19
26
  }
20
27
  /**
21
28
  * Builds a simulated Lambda function whose code is a real zip archive run in a
@@ -39,6 +39,7 @@ export const simLambdaVmZipFunctionFactory = new MappedFactory(() => ({
39
39
  archive,
40
40
  handlerName: input.handlerName,
41
41
  environment,
42
+ sdkModuleProvider: input.sdkModuleProvider,
42
43
  }),
43
44
  });
44
45
  });
@@ -0,0 +1,19 @@
1
+ import type { SimZipArchive } from "../../../../../../util/zip/zip-archive.js";
2
+ import type { SimLambdaVmSdkModuleProvider } from "./sim-lambda-vm-sdk-module-provider.js";
3
+ /**
4
+ * What the archive holds and who provides for what it does not. Between them
5
+ * that is enough to tell an absent package from one already accounted for.
6
+ */
7
+ interface SimLambdaMissingSdkPackagesContext {
8
+ readonly archive: SimZipArchive;
9
+ readonly sdkModuleProvider: SimLambdaVmSdkModuleProvider;
10
+ }
11
+ /**
12
+ * The module the runtime provides for a specifier the archive does not
13
+ * bundle, or undefined for a specifier the provider does not serve.
14
+ *
15
+ * A package the project has not installed is refused here naming every other
16
+ * AWS SDK package the function code imports and the project is missing too.
17
+ */
18
+ export declare function provideSdkModule(specifier: string, context: SimLambdaMissingSdkPackagesContext): unknown;
19
+ export {};
@@ -0,0 +1,78 @@
1
+ import { assertDefined } from "../../../../../../util/type-guard/defined.js";
2
+ import { SimLambdaVmModuleResolver } from "../sim-lambda-vm-module-resolver.js";
3
+ import { SimLambdaSdkPackagesNotInstalledError } from "./sim-lambda-sdk-packages-not-installed.error.js";
4
+ /**
5
+ * The archive entries worth reading specifiers out of.
6
+ */
7
+ const javaScriptFilePattern = /\.[cm]?js$/;
8
+ /**
9
+ * A quoted `@aws-sdk/*` specifier, however a file asks for it. A `require`
10
+ * call, a dynamic `import`, and a static import's `from` clause all match.
11
+ */
12
+ const awsSdkImportPattern = /(?:\b(?:require|import)\s*\(|\b(?:from|import)\b)\s*["'](@aws-sdk\/[^"']+)["']/g;
13
+ /**
14
+ * The module the runtime provides for a specifier the archive does not
15
+ * bundle, or undefined for a specifier the provider does not serve.
16
+ *
17
+ * A package the project has not installed is refused here naming every other
18
+ * AWS SDK package the function code imports and the project is missing too.
19
+ */
20
+ export function provideSdkModule(specifier, context) {
21
+ try {
22
+ return context.sdkModuleProvider.provideModule(specifier);
23
+ }
24
+ catch (error) {
25
+ throw everyMissingSdkPackage(error, context);
26
+ }
27
+ }
28
+ /**
29
+ * The refusal to raise for a package the project has not installed, naming
30
+ * every other AWS SDK package the function code imports and the project is
31
+ * missing too. Any other error stands as it is.
32
+ *
33
+ * The runtime provides a package when the code requires it, so on its own a
34
+ * refusal only ever names the one the code reached. A function importing two
35
+ * absent packages would then cost two runs and two installs, and the archive
36
+ * is the only place to read what a third-party function imports. So the
37
+ * archive is read here, once a package has already turned out to be missing,
38
+ * and one install covers the set. An archive that runs is never read.
39
+ */
40
+ function everyMissingSdkPackage(error, context) {
41
+ if (!(error instanceof SimLambdaSdkPackagesNotInstalledError)) {
42
+ return error;
43
+ }
44
+ const resolver = new SimLambdaVmModuleResolver(context.archive);
45
+ const candidates = archiveAwsSdkImports(context.archive).filter((specifier) => !error.specifiers.includes(specifier) &&
46
+ !resolver.bundlesPackage(specifier));
47
+ const missing = context.sdkModuleProvider.unresolvedModules?.(candidates) ?? [];
48
+ if (missing.length === 0) {
49
+ return error;
50
+ }
51
+ return new SimLambdaSdkPackagesNotInstalledError([...error.specifiers, ...missing], { cause: error.cause });
52
+ }
53
+ /**
54
+ * The AWS SDK packages a function code archive's own files import, in the
55
+ * order they appear.
56
+ *
57
+ * Bundled dependencies are left out. What a package under `node_modules/`
58
+ * imports is that package's own business, resolved from the bundle beside it,
59
+ * and reading a vendored tree to name one more install is a poor trade.
60
+ */
61
+ function archiveAwsSdkImports(archive) {
62
+ const specifiers = new Set();
63
+ for (const filePath of archive.filePaths()) {
64
+ if (!isFunctionCodeFile(filePath)) {
65
+ continue;
66
+ }
67
+ const source = archive.file(filePath).toString();
68
+ for (const match of source.matchAll(awsSdkImportPattern)) {
69
+ const specifier = match[1];
70
+ assertDefined(specifier, "Matched import has no specifier");
71
+ specifiers.add(specifier);
72
+ }
73
+ }
74
+ return specifiers.values().toArray();
75
+ }
76
+ function isFunctionCodeFile(filePath) {
77
+ return (javaScriptFilePattern.test(filePath) && !filePath.includes("node_modules/"));
78
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AWS SDK packages the sim Lambda runtime was asked to provide and the
3
+ * consuming project has not installed.
4
+ *
5
+ * The real Lambda runtime provides these packages from the execution
6
+ * environment rather than from the deployment package, so the simulated
7
+ * runtime provides them from the host project. The fix is the same for every
8
+ * one of them, which is why they are named together: install them, or bundle
9
+ * them into the function code archive.
10
+ */
11
+ export declare class SimLambdaSdkPackagesNotInstalledError extends Error {
12
+ readonly specifiers: readonly string[];
13
+ readonly name = "SimLambdaSdkPackagesNotInstalledError";
14
+ constructor(specifiers: readonly string[], options?: ErrorOptions);
15
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * AWS SDK packages the sim Lambda runtime was asked to provide and the
3
+ * consuming project has not installed.
4
+ *
5
+ * The real Lambda runtime provides these packages from the execution
6
+ * environment rather than from the deployment package, so the simulated
7
+ * runtime provides them from the host project. The fix is the same for every
8
+ * one of them, which is why they are named together: install them, or bundle
9
+ * them into the function code archive.
10
+ */
11
+ export class SimLambdaSdkPackagesNotInstalledError extends Error {
12
+ specifiers;
13
+ name = "SimLambdaSdkPackagesNotInstalledError";
14
+ constructor(specifiers, options) {
15
+ super(notInstalledMessage(specifiers), options);
16
+ this.specifiers = specifiers;
17
+ }
18
+ }
19
+ function notInstalledMessage(specifiers) {
20
+ const [subject, object] = specifiers.length > 1
21
+ ? ["the packages are", "them"]
22
+ : ["the package is", "it"];
23
+ return (`Cannot provide ${specifiers.join(", ")} to sim Lambda function code: ` +
24
+ `${subject} not installed. Install ${object} in your project, as the ` +
25
+ `real Lambda runtime provides ${object}, or bundle ${object} into the ` +
26
+ "function code archive.");
27
+ }
@@ -16,6 +16,15 @@ export declare const awsSdkPackagePrefix = "@aws-sdk/";
16
16
  */
17
17
  export interface SimLambdaVmSdkModuleProvider {
18
18
  provideModule(specifier: string): unknown;
19
+ /**
20
+ * Which of the given specifiers this provider serves and cannot resolve.
21
+ *
22
+ * The module system asks once a package has turned out to be missing. The
23
+ * refusal then names every package the project has to install, where on
24
+ * its own it would name only the one the function code reached first. A
25
+ * provider that does not answer is asked for one specifier at a time.
26
+ */
27
+ unresolvedModules?(specifiers: readonly string[]): readonly string[];
19
28
  }
20
29
  /**
21
30
  * Module provider used when no simulated AWS environment is wired up, such
@@ -46,6 +46,16 @@ export declare class SimSdkLambdaVmModuleProvider implements SimLambdaVmSdkModul
46
46
  * undefined for other specifiers.
47
47
  */
48
48
  provideModule(specifier: string): unknown;
49
+ /**
50
+ * Which of the given specifiers this provider serves and the host cannot
51
+ * resolve.
52
+ *
53
+ * Resolution only. A package that resolves and then throws while it
54
+ * initializes is installed, and that error belongs to the function code
55
+ * requiring it rather than to a report of what is missing.
56
+ */
57
+ unresolvedModules(specifiers: readonly string[]): readonly string[];
58
+ private resolves;
49
59
  private hostModuleExports;
50
60
  }
51
61
  export {};
@@ -1,11 +1,10 @@
1
- import { createRequire } from "node:module";
2
- import path from "node:path";
3
1
  import { SimSdkModuleClientInterceptor } from "../../../../../../sdk/module/sim-sdk-module-client-interceptor.js";
4
2
  import { SimSdkCommandDispatcher } from "../../../../../../sdk/sim-sdk-command-dispatcher.js";
5
3
  import { SimLambdaAwsApiOutbound } from "../../../outbound/sim-lambda-aws-api-outbound.js";
6
4
  import { isSimLambdaHttpModuleSpecifier, makeSimLambdaHttpModule, simLambdaHttpModuleScheme, } from "../../../outbound/sim-lambda-http-module.js";
5
+ import { isModuleNotFoundError, requireHostModule, } from "../sim-lambda-host-modules.js";
6
+ import { SimLambdaSdkPackagesNotInstalledError } from "./sim-lambda-sdk-packages-not-installed.error.js";
7
7
  import { awsSdkPackagePrefix, } from "./sim-lambda-vm-sdk-module-provider.js";
8
- const hostRequire = createRequire(import.meta.url);
9
8
  /**
10
9
  * Provides host-installed AWS SDK v3 packages to sim Lambda vm function
11
10
  * code, with client classes intercepted into the owning simulated AWS
@@ -61,6 +60,29 @@ export class SimSdkLambdaVmModuleProvider {
61
60
  this.providedModules.set(specifier, module);
62
61
  return module;
63
62
  }
63
+ /**
64
+ * Which of the given specifiers this provider serves and the host cannot
65
+ * resolve.
66
+ *
67
+ * Resolution only. A package that resolves and then throws while it
68
+ * initializes is installed, and that error belongs to the function code
69
+ * requiring it rather than to a report of what is missing.
70
+ */
71
+ unresolvedModules(specifiers) {
72
+ return specifiers.filter((specifier) => specifier.startsWith(awsSdkPackagePrefix) && !this.resolves(specifier));
73
+ }
74
+ resolves(specifier) {
75
+ if (this.providedModules.has(specifier)) {
76
+ return true;
77
+ }
78
+ try {
79
+ this.requireModule(specifier);
80
+ return true;
81
+ }
82
+ catch (error) {
83
+ return !isModuleNotFoundError(error);
84
+ }
85
+ }
64
86
  hostModuleExports(specifier) {
65
87
  let moduleExports;
66
88
  try {
@@ -72,10 +94,9 @@ export class SimSdkLambdaVmModuleProvider {
72
94
  if (!isModuleNotFoundError(error)) {
73
95
  throw error;
74
96
  }
75
- throw new Error(`Cannot provide ${specifier} to sim Lambda function code: the ` +
76
- "package is not installed. Install it in your project, as the " +
77
- "real Lambda runtime provides it, or bundle it into the function " +
78
- "code archive.", { cause: error });
97
+ throw new SimLambdaSdkPackagesNotInstalledError([specifier], {
98
+ cause: error,
99
+ });
79
100
  }
80
101
  if (typeof moduleExports !== "object" || moduleExports === null) {
81
102
  throw new Error(`Cannot provide ${specifier} to sim Lambda function code: the host ` +
@@ -84,30 +105,3 @@ export class SimSdkLambdaVmModuleProvider {
84
105
  return moduleExports;
85
106
  }
86
107
  }
87
- /**
88
- * Require an AWS SDK package from the host.
89
- *
90
- * The packages are installed by the consuming project, as they are provided
91
- * by the real Lambda runtime rather than by this package. Requiring from
92
- * this module's context covers hoisted installs; the working-directory
93
- * fallback covers stricter package layouts.
94
- */
95
- function requireHostModule(specifier) {
96
- try {
97
- return hostRequire(specifier);
98
- }
99
- catch {
100
- /* v8 ignore next 4 -- only reachable in consumer package layouts where
101
- this package's own require context cannot see the SDK packages. */
102
- return createRequire(path.join(process.cwd(), "package.json"))(specifier);
103
- }
104
- }
105
- /**
106
- * Whether an error is a Node.js module resolution failure, as opposed to an
107
- * error thrown while a resolved module initializes.
108
- */
109
- function isModuleNotFoundError(error) {
110
- return (error instanceof Error &&
111
- "code" in error &&
112
- (error.code === "MODULE_NOT_FOUND" || error.code === "ERR_MODULE_NOT_FOUND"));
113
- }