@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,11 +1,13 @@
1
1
  import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimS3 } from "../../sim-s3.js";
4
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
4
5
  interface SimCfnS3BucketConfiguratorProperties {
5
6
  readonly simS3: SimS3;
6
7
  readonly resource: SimCfnResource;
7
8
  readonly properties: SimCfnTemplateValueRecord;
8
9
  readonly bucketName: string;
10
+ readonly options?: SimCfnResourceCallerOptions;
9
11
  }
10
12
  /**
11
13
  * Applies the configurations an AWS::S3::Bucket Resource declares to the
@@ -19,6 +21,7 @@ export declare class SimCfnS3BucketConfigurator {
19
21
  private readonly resource;
20
22
  private readonly properties;
21
23
  private readonly bucketName;
24
+ private readonly options;
22
25
  constructor(properties: SimCfnS3BucketConfiguratorProperties);
23
26
  /**
24
27
  * Apply every configuration the Resource declares.
@@ -14,11 +14,13 @@ export class SimCfnS3BucketConfigurator {
14
14
  resource;
15
15
  properties;
16
16
  bucketName;
17
+ options;
17
18
  constructor(properties) {
18
19
  this.simS3 = properties.simS3;
19
20
  this.resource = properties.resource;
20
21
  this.properties = properties.properties;
21
22
  this.bucketName = properties.bucketName;
23
+ this.options = properties.options;
22
24
  }
23
25
  /**
24
26
  * Apply every configuration the Resource declares.
@@ -38,9 +40,7 @@ export class SimCfnS3BucketConfigurator {
38
40
  if (config === undefined) {
39
41
  return;
40
42
  }
41
- await this.simS3.putBucketWebsite({
42
- input: { Bucket: this.bucketName, WebsiteConfiguration: config },
43
- });
43
+ await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration: config } }, this.options);
44
44
  }
45
45
  async configurePublicAccess() {
46
46
  const config = new SimCfnS3BucketPublicAccessConfiguration(this.resource.logicalId, this.properties).read();
@@ -52,16 +52,14 @@ export class SimCfnS3BucketConfigurator {
52
52
  Bucket: this.bucketName,
53
53
  PublicAccessBlockConfiguration: config,
54
54
  },
55
- });
55
+ }, this.options);
56
56
  }
57
57
  async configureLifecycle() {
58
58
  const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
59
59
  if (config === undefined) {
60
60
  return;
61
61
  }
62
- await this.simS3.putBucketLifecycleConfiguration({
63
- input: { Bucket: this.bucketName, LifecycleConfiguration: config },
64
- });
62
+ await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration: config } }, this.options);
65
63
  }
66
64
  async configureNotifications() {
67
65
  const declared = this.properties["NotificationConfiguration"];
@@ -69,11 +67,6 @@ export class SimCfnS3BucketConfigurator {
69
67
  return;
70
68
  }
71
69
  const config = new SimCfnS3BucketNotificationConfiguration(this.resource.logicalId).read(declared);
72
- await this.simS3.putBucketNotificationConfiguration({
73
- input: {
74
- Bucket: this.bucketName,
75
- NotificationConfiguration: config,
76
- },
77
- });
70
+ await this.simS3.putBucketNotificationConfiguration({ input: { Bucket: this.bucketName, NotificationConfiguration: config } }, this.options);
78
71
  }
79
72
  }
@@ -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 { SimS3 } from "../../sim-s3.js";
4
4
  import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnS3BucketCreatorProperties {
6
7
  readonly simS3: SimS3;
7
8
  }
@@ -19,7 +20,7 @@ export declare class SimCfnS3BucketCreator {
19
20
  * Resource and the Bucket is created without it. What each of the remaining
20
21
  * ones says is then checked as it is applied.
21
22
  */
22
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimS3Bucket>;
23
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimS3Bucket>;
23
24
  /**
24
25
  * A Resource without a BucketName is named after its logical id, rather than
25
26
  * the generated name real CloudFormation invents.
@@ -18,7 +18,7 @@ export class SimCfnS3BucketCreator {
18
18
  * Resource and the Bucket is created without it. What each of the remaining
19
19
  * ones says is then checked as it is applied.
20
20
  */
21
- async create(resource, properties) {
21
+ async create(resource, properties, options) {
22
22
  new SimCfnS3BucketPropertyRules({
23
23
  logicalId: resource.logicalId,
24
24
  properties,
@@ -26,7 +26,7 @@ export class SimCfnS3BucketCreator {
26
26
  }).apply();
27
27
  const bucketName = this.bucketNameForResource(resource, properties);
28
28
  validateS3BucketName(bucketName);
29
- await this.simS3.createBucket({ input: { Bucket: bucketName } });
29
+ await this.simS3.createBucket({ input: { Bucket: bucketName } }, options);
30
30
  const bucket = this.simS3.getSimBucketByName(bucketName);
31
31
  assertDefined(bucket, `sim S3 Bucket ${bucketName} after CloudFormation creation`);
32
32
  await new SimCfnS3BucketConfigurator({
@@ -34,6 +34,7 @@ export class SimCfnS3BucketCreator {
34
34
  resource,
35
35
  properties,
36
36
  bucketName,
37
+ options,
37
38
  }).configure();
38
39
  return bucket;
39
40
  }
@@ -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 { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
4
4
  import type { SimS3 } from "../../sim-s3.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnS3BucketPolicyCreatorProperties {
6
7
  readonly simS3: SimS3;
7
8
  }
@@ -24,7 +25,7 @@ export declare class SimCfnS3BucketPolicyCreator {
24
25
  * because a Bucket policy has no existence of its own in S3: it is state on
25
26
  * the Bucket it is attached to.
26
27
  */
27
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimS3Bucket>;
28
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimS3Bucket>;
28
29
  private bucketNameForResource;
29
30
  private policyDocumentForResource;
30
31
  }
@@ -21,7 +21,7 @@ export class SimCfnS3BucketPolicyCreator {
21
21
  * because a Bucket policy has no existence of its own in S3: it is state on
22
22
  * the Bucket it is attached to.
23
23
  */
24
- async create(resource, properties) {
24
+ async create(resource, properties, options) {
25
25
  const bucketName = this.bucketNameForResource(resource, properties);
26
26
  const policyDocument = this.policyDocumentForResource(resource, properties);
27
27
  await this.simS3.putBucketPolicy({
@@ -29,7 +29,7 @@ export class SimCfnS3BucketPolicyCreator {
29
29
  Bucket: bucketName,
30
30
  Policy: jsonStringify(policyDocument),
31
31
  },
32
- });
32
+ }, options);
33
33
  const bucket = this.simS3.getSimBucketByName(bucketName);
34
34
  assertDefined(bucket, `sim S3 Bucket ${bucketName} after CloudFormation Bucket policy creation`);
35
35
  return bucket;
@@ -1,5 +1,6 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimS3 } from "../sim-s3.js";
3
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  interface SimCfnS3ResourceDeleterProperties {
4
5
  readonly simS3: SimS3;
5
6
  }
@@ -19,7 +20,7 @@ export declare class SimCfnS3ResourceDeleter {
19
20
  /**
20
21
  * Delete a simulated S3 resource created from a CloudFormation Resource.
21
22
  */
22
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
23
+ delete(resourceTypeName: string, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
23
24
  /**
24
25
  * The Bucket a Resource was created against.
25
26
  *
@@ -17,18 +17,14 @@ export class SimCfnS3ResourceDeleter {
17
17
  /**
18
18
  * Delete a simulated S3 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 "Bucket": {
23
- await this.simS3.deleteBucket({
24
- input: { Bucket: this.bucketName(resource) },
25
- });
23
+ await this.simS3.deleteBucket({ input: { Bucket: this.bucketName(resource) } }, options);
26
24
  return;
27
25
  }
28
26
  case "BucketPolicy": {
29
- await this.simS3.deleteBucketPolicy({
30
- input: { Bucket: this.bucketName(resource) },
31
- });
27
+ await this.simS3.deleteBucketPolicy({ input: { Bucket: this.bucketName(resource) } }, options);
32
28
  return;
33
29
  }
34
30
  default: {
@@ -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 { SimS3 } from "../sim-s3.js";
3
3
  import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
4
4
  /**
@@ -16,5 +16,5 @@ export declare class SimS3CloudFormationResourceFactory implements SimCfnService
16
16
  /**
17
17
  * Delete a simulated S3 resource created from a CloudFormation Resource.
18
18
  */
19
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
19
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
20
20
  }
@@ -1,6 +1,7 @@
1
1
  import { SimCfnS3BucketCreator } from "./bucket/sim-cfn-s3-bucket-creator.js";
2
2
  import { SimCfnS3BucketPolicyCreator } from "./bucket-policy/sim-cfn-s3-bucket-policy-creator.js";
3
3
  import { SimCfnS3ResourceDeleter } from "./sim-cfn-s3-resource-deleter.js";
4
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
4
5
  /**
5
6
  * CloudFormation Resource factory for simulated S3 resources.
6
7
  */
@@ -17,12 +18,13 @@ export class SimS3CloudFormationResourceFactory {
17
18
  * Create a simulated S3 resource from a CloudFormation Resource.
18
19
  */
19
20
  async create(resourceTypeName, resource, context) {
21
+ const options = simCfnResourceCallerOptions(context.caller);
20
22
  switch (resourceTypeName) {
21
23
  case "Bucket": {
22
- return await this.bucketCreator.create(resource, context.resolvedProperties ?? resource.properties);
24
+ return await this.bucketCreator.create(resource, context.resolvedProperties ?? resource.properties, options);
23
25
  }
24
26
  case "BucketPolicy": {
25
- return await this.bucketPolicyCreator.create(resource, context.resolvedProperties ?? resource.properties);
27
+ return await this.bucketPolicyCreator.create(resource, context.resolvedProperties ?? resource.properties, options);
26
28
  }
27
29
  default: {
28
30
  throw new Error(`Unsupported sim S3 CloudFormation Resource ${resourceTypeName}`);
@@ -32,7 +34,7 @@ export class SimS3CloudFormationResourceFactory {
32
34
  /**
33
35
  * Delete a simulated S3 resource created from a CloudFormation Resource.
34
36
  */
35
- async delete(resourceTypeName, resource) {
36
- await this.deleter.delete(resourceTypeName, resource);
37
+ async delete(resourceTypeName, resource, context) {
38
+ await this.deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
37
39
  }
38
40
  }
@@ -28,7 +28,10 @@ export class PutBucketPolicyCommandHandler {
28
28
  async handle(command, options) {
29
29
  assertDefined(command.input.Bucket, "PutBucketPolicyCommand.input.Bucket");
30
30
  assertDefined(command.input.Policy, "PutBucketPolicyCommand.input.Policy");
31
- this.policyValidator.validateRequired(command.input.Policy);
31
+ this.policyValidator.validateRequired(command.input.Policy, {
32
+ attachedTo: "Bucket",
33
+ name: command.input.Bucket,
34
+ });
32
35
  const bucketName = command.input.Bucket;
33
36
  const bucket = requireSimS3Bucket(this.buckets, bucketName);
34
37
  await this.background.sequence();
@@ -1,6 +1,7 @@
1
1
  import { SimLambdaServiceInvokeAuthorizer } from "../../../../lambda/command/authorize/sim-lambda-service-invoke-authorizer.js";
2
2
  import { simS3ServicePrincipal } from "../sim-s3-service-principal.js";
3
3
  import { SimS3NotificationFunctionArn } from "./sim-s3-notification-function-arn.js";
4
+ import { simScopeIamAuthZ } from "../../../../iam/authorize/sim-iam-region-auth-z.js";
4
5
  /**
5
6
  * The simulated Lambda functions of one simulated AWS instance, as S3
6
7
  * notification destinations.
@@ -69,7 +70,7 @@ export class SimAwsS3NotificationFunctions {
69
70
  .getSimFunctionTarget(arn.functionName, arn.qualifier);
70
71
  }
71
72
  iam(arn) {
72
- return this.scope(arn).iam();
73
+ return simScopeIamAuthZ(this.scope(arn));
73
74
  }
74
75
  scope(arn) {
75
76
  return this.simAws.accountRegionScope(arn.accountId, arn.regionName);
@@ -1,5 +1,6 @@
1
1
  import { SimSnsServicePublishAuthorizer } from "../../../../sns/command/authorize/sim-sns-service-publish-authorizer.js";
2
2
  import { simS3ServicePrincipal } from "../sim-s3-service-principal.js";
3
+ import { simScopeIamAuthZ } from "../../../../iam/authorize/sim-iam-region-auth-z.js";
3
4
  /**
4
5
  * The subject real S3 publishes every event notification with.
5
6
  *
@@ -32,7 +33,7 @@ export class SimS3NotificationTopic {
32
33
  return `${request.destinationArn} is not a simulated SNS topic.`;
33
34
  }
34
35
  const decision = new SimSnsServicePublishAuthorizer({
35
- iam: this.scope.iam(),
36
+ iam: simScopeIamAuthZ(this.scope),
36
37
  }).authorize({
37
38
  topic,
38
39
  servicePrincipal: simS3ServicePrincipal,
@@ -1,5 +1,6 @@
1
1
  import { SimSqsServiceSendAuthorizer } from "../../../../sqs/command/authorize/sim-sqs-service-send-authorizer.js";
2
2
  import { simS3ServicePrincipal } from "../sim-s3-service-principal.js";
3
+ import { simScopeIamAuthZ } from "../../../../iam/authorize/sim-iam-region-auth-z.js";
3
4
  /**
4
5
  * One queue an S3 Bucket is notifying, in the Account and Region its ARN names.
5
6
  *
@@ -23,7 +24,7 @@ export class SimS3NotificationQueue {
23
24
  return `${request.destinationArn} is not a simulated SQS queue.`;
24
25
  }
25
26
  const decision = new SimSqsServiceSendAuthorizer({
26
- iam: this.scope.iam(),
27
+ iam: simScopeIamAuthZ(this.scope),
27
28
  }).authorize({
28
29
  queue,
29
30
  servicePrincipal: simS3ServicePrincipal,
@@ -1,6 +1,6 @@
1
1
  import { type BackgroundScheduler } from "../../util/background/background.js";
2
2
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
3
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
4
  import type { SimS3Bucket, SimS3BucketName } from "./bucket/sim-s3-bucket.js";
5
5
  import { SimS3BucketCommands } from "./command/bucket/sim-s3-bucket-commands.js";
6
6
  import { SimS3BucketPolicyCommands } from "./command/bucket-policy/sim-s3-bucket-policy-commands.js";
@@ -1,5 +1,5 @@
1
1
  import { BackgroundTasks, } from "../../util/background/background.js";
2
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
2
+ import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
3
3
  import { SimS3BucketCommands } from "./command/bucket/sim-s3-bucket-commands.js";
4
4
  import { SimS3BucketPolicyCommands } from "./command/bucket-policy/sim-s3-bucket-policy-commands.js";
5
5
  import { SimS3LifecycleCommands } from "./command/lifecycle/sim-s3-lifecycle-commands.js";
@@ -28,7 +28,8 @@ export class SimS3Commands {
28
28
  multipartUploads;
29
29
  objectNotifier;
30
30
  constructor(properties) {
31
- const { iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), notificationDestinations = new SimS3NoNotificationDestinations(), } = properties;
31
+ const { background = new BackgroundTasks(), notificationDestinations = new SimS3NoNotificationDestinations(), } = properties;
32
+ const iam = simIamInRegion(properties.iam, properties.accountRegionScope.regionName);
32
33
  this.objectNotifier = new SimS3ObjectNotifier({
33
34
  destinations: notificationDestinations,
34
35
  background,
@@ -0,0 +1,26 @@
1
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.type.js";
3
+ import type { SimSchedulerSchedule } from "../schedule/sim-scheduler-schedule.js";
4
+ import type { SimScheduler } from "../sim-scheduler.js";
5
+ /**
6
+ * Creates simulated schedules from AWS::Scheduler::Schedule Resources.
7
+ *
8
+ * The schedule goes through the ordinary CreateSchedule command rather than
9
+ * being constructed directly, so a schedule a template deployed is the same
10
+ * thing an SDK caller would have got, down to the refusals.
11
+ */
12
+ export declare class SimCfnScheduleCreator {
13
+ private readonly scheduler;
14
+ constructor(properties: {
15
+ readonly scheduler: SimScheduler;
16
+ });
17
+ /**
18
+ * Create a schedule from an AWS::Scheduler::Schedule Resource.
19
+ */
20
+ create(resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<SimSchedulerSchedule>;
21
+ /**
22
+ * Delete the schedule a Resource created.
23
+ */
24
+ delete(resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
25
+ private read;
26
+ }
@@ -0,0 +1,49 @@
1
+ import { assertDefined } from "../../../util/type-guard/defined.js";
2
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
+ import { SimCfnScheduleProperties } from "./sim-cfn-schedule-properties.js";
4
+ import { createdSchedule } from "./sim-cfn-scheduler-resource-lookup.js";
5
+ import { schedulerScheduleResourceType, simCfnSchedulerResourceCreation, simCfnSchedulerResourceDeletion, } from "./sim-cfn-scheduler-resource-error.js";
6
+ /**
7
+ * Creates simulated schedules from AWS::Scheduler::Schedule Resources.
8
+ *
9
+ * The schedule goes through the ordinary CreateSchedule command rather than
10
+ * being constructed directly, so a schedule a template deployed is the same
11
+ * thing an SDK caller would have got, down to the refusals.
12
+ */
13
+ export class SimCfnScheduleCreator {
14
+ scheduler;
15
+ constructor(properties) {
16
+ this.scheduler = properties.scheduler;
17
+ }
18
+ /**
19
+ * Create a schedule from an AWS::Scheduler::Schedule Resource.
20
+ */
21
+ async create(resource, context) {
22
+ const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
23
+ const input = properties.scheduleInput();
24
+ return await simCfnSchedulerResourceCreation(schedulerScheduleResourceType, resource.logicalId, async () => {
25
+ await this.scheduler.createSchedule({ input }, simCfnResourceCallerOptions(context.caller));
26
+ const schedule = createdSchedule(this.scheduler, input);
27
+ assertDefined(schedule, `sim Scheduler schedule ${String(input.Name)} after ` +
28
+ `CloudFormation creation`);
29
+ return schedule;
30
+ });
31
+ }
32
+ /**
33
+ * Delete the schedule a Resource created.
34
+ */
35
+ async delete(resource, context) {
36
+ const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
37
+ await simCfnSchedulerResourceDeletion(async () => {
38
+ await this.scheduler.deleteSchedule({
39
+ input: {
40
+ Name: properties.name(),
41
+ GroupName: properties.scheduleInput().GroupName,
42
+ },
43
+ }, simCfnResourceCallerOptions(context.caller));
44
+ });
45
+ }
46
+ read(resource, properties) {
47
+ return new SimCfnScheduleProperties({ resource, properties });
48
+ }
49
+ }
@@ -0,0 +1,31 @@
1
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.type.js";
3
+ import type { SimSchedulerScheduleGroup } from "../group/sim-scheduler-schedule-group.js";
4
+ import type { SimScheduler } from "../sim-scheduler.js";
5
+ /**
6
+ * Creates simulated schedule groups from AWS::Scheduler::ScheduleGroup
7
+ * Resources.
8
+ *
9
+ * A group is worth deploying for one reason. A schedule's name is unique
10
+ * within its group, and a construct deployed twice into one Account and Region
11
+ * collides on schedule names unless each deployment brings its own group.
12
+ */
13
+ export declare class SimCfnScheduleGroupCreator {
14
+ private readonly scheduler;
15
+ constructor(properties: {
16
+ readonly scheduler: SimScheduler;
17
+ });
18
+ /**
19
+ * Create a group from an AWS::Scheduler::ScheduleGroup Resource.
20
+ */
21
+ create(resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<SimSchedulerScheduleGroup>;
22
+ /**
23
+ * Delete the group a Resource created, and the schedules still in it.
24
+ *
25
+ * Real Scheduler deletes a group's schedules with it, so a stack whose
26
+ * schedules come down alongside their group has nothing left over either
27
+ * way.
28
+ */
29
+ delete(resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
30
+ private read;
31
+ }
@@ -0,0 +1,48 @@
1
+ import { assertDefined } from "../../../util/type-guard/defined.js";
2
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
+ import { SimCfnScheduleGroupProperties } from "./sim-cfn-schedule-group-properties.js";
4
+ import { schedulerScheduleGroupResourceType, simCfnSchedulerResourceCreation, simCfnSchedulerResourceDeletion, } from "./sim-cfn-scheduler-resource-error.js";
5
+ /**
6
+ * Creates simulated schedule groups from AWS::Scheduler::ScheduleGroup
7
+ * Resources.
8
+ *
9
+ * A group is worth deploying for one reason. A schedule's name is unique
10
+ * within its group, and a construct deployed twice into one Account and Region
11
+ * collides on schedule names unless each deployment brings its own group.
12
+ */
13
+ export class SimCfnScheduleGroupCreator {
14
+ scheduler;
15
+ constructor(properties) {
16
+ this.scheduler = properties.scheduler;
17
+ }
18
+ /**
19
+ * Create a group from an AWS::Scheduler::ScheduleGroup Resource.
20
+ */
21
+ async create(resource, context) {
22
+ const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
23
+ const name = properties.name();
24
+ properties.recordIgnoredProperties();
25
+ return await simCfnSchedulerResourceCreation(schedulerScheduleGroupResourceType, resource.logicalId, async () => {
26
+ await this.scheduler.createScheduleGroup({ input: { Name: name } }, simCfnResourceCallerOptions(context.caller));
27
+ const group = this.scheduler.findScheduleGroup(name);
28
+ assertDefined(group, `sim Scheduler schedule group ${name} after CloudFormation creation`);
29
+ return group;
30
+ });
31
+ }
32
+ /**
33
+ * Delete the group a Resource created, and the schedules still in it.
34
+ *
35
+ * Real Scheduler deletes a group's schedules with it, so a stack whose
36
+ * schedules come down alongside their group has nothing left over either
37
+ * way.
38
+ */
39
+ async delete(resource, context) {
40
+ const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
41
+ await simCfnSchedulerResourceDeletion(async () => {
42
+ await this.scheduler.deleteScheduleGroup({ input: { Name: properties.name() } }, simCfnResourceCallerOptions(context.caller));
43
+ });
44
+ }
45
+ read(resource, properties) {
46
+ return new SimCfnScheduleGroupProperties({ resource, properties });
47
+ }
48
+ }
@@ -0,0 +1,26 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ /**
4
+ * Reads AWS::Scheduler::ScheduleGroup properties.
5
+ *
6
+ * A group is a name, which is the whole of the Resource beyond its tags.
7
+ */
8
+ export declare class SimCfnScheduleGroupProperties {
9
+ private readonly resource;
10
+ private readonly properties;
11
+ constructor(properties: {
12
+ readonly resource: SimCfnResource;
13
+ readonly properties: SimCfnTemplateValueRecord;
14
+ });
15
+ /**
16
+ * The group name.
17
+ *
18
+ * An unnamed group is named after the stack and the logical ID, as real
19
+ * CloudFormation names one.
20
+ */
21
+ name(): string;
22
+ /**
23
+ * Record the properties the group is created without acting on.
24
+ */
25
+ recordIgnoredProperties(): void;
26
+ }
@@ -0,0 +1,68 @@
1
+ import { SimCfnGeneratedResourceName } from "../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
2
+ import { schedulerScheduleGroupResourceType, simCfnSchedulerResourceError, } from "./sim-cfn-scheduler-resource-error.js";
3
+ const maximumNameLength = 64;
4
+ /**
5
+ * The properties an AWS::Scheduler::ScheduleGroup Resource is read for.
6
+ */
7
+ const readNames = new Set(["Name", "Tags"]);
8
+ /**
9
+ * Why a group is deployed without its tags, rather than the tags failing it.
10
+ *
11
+ * Every other unmodelled Scheduler input is refused, and this one is not, for
12
+ * two reasons. Nothing a simulation runs reads a schedule group tag, so a group
13
+ * without them behaves exactly as the template's does. And the CDK propagates a
14
+ * Stack's tags onto every taggable Resource in it, so refusing them would fail
15
+ * any tagged Stack that happened to contain a group, over a property nobody
16
+ * writing that Stack asked the group for.
17
+ */
18
+ const tagsReason = "Tags is a real AWS::Scheduler::ScheduleGroup property no simulated " +
19
+ "service reads, so the group is created without them";
20
+ /**
21
+ * Reads AWS::Scheduler::ScheduleGroup properties.
22
+ *
23
+ * A group is a name, which is the whole of the Resource beyond its tags.
24
+ */
25
+ export class SimCfnScheduleGroupProperties {
26
+ resource;
27
+ properties;
28
+ constructor(properties) {
29
+ this.resource = properties.resource;
30
+ this.properties = properties.properties;
31
+ }
32
+ /**
33
+ * The group name.
34
+ *
35
+ * An unnamed group is named after the stack and the logical ID, as real
36
+ * CloudFormation names one.
37
+ */
38
+ name() {
39
+ const name = this.properties["Name"];
40
+ if (name === undefined) {
41
+ return new SimCfnGeneratedResourceName({
42
+ stackName: this.resource.stackName,
43
+ logicalId: this.resource.logicalId,
44
+ maximumLength: maximumNameLength,
45
+ }).value;
46
+ }
47
+ if (typeof name !== "string") {
48
+ throw simCfnSchedulerResourceError(schedulerScheduleGroupResourceType, this.resource.logicalId, "Name must be a string");
49
+ }
50
+ return name;
51
+ }
52
+ /**
53
+ * Record the properties the group is created without acting on.
54
+ */
55
+ recordIgnoredProperties() {
56
+ for (const name of Object.keys(this.properties)) {
57
+ if (name === "Tags") {
58
+ this.resource.ignoreProperty(name, tagsReason);
59
+ continue;
60
+ }
61
+ if (!readNames.has(name)) {
62
+ this.resource.ignoreProperty(name, `${name} is not an ${schedulerScheduleGroupResourceType} property ` +
63
+ `simulated Scheduler knows about, so the group is created ` +
64
+ `without it`);
65
+ }
66
+ }
67
+ }
68
+ }
@@ -1,6 +1,6 @@
1
1
  import { isRecord } from "../../../util/type-guard/record.js";
2
2
  import { SimCfnGeneratedResourceName } from "../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
3
- import { simCfnSchedulerResourceError } from "./sim-cfn-scheduler-resource-error.js";
3
+ import { schedulerScheduleResourceType, simCfnSchedulerResourceError, } from "./sim-cfn-scheduler-resource-error.js";
4
4
  const maximumNameLength = 64;
5
5
  /**
6
6
  * Reads AWS::Scheduler::Schedule properties into the shape CreateSchedule
@@ -98,14 +98,8 @@ export class SimCfnScheduleProperties {
98
98
  return target;
99
99
  }
100
100
  dateProperty(name) {
101
- const value = this.properties.get(name);
102
- if (value === undefined) {
103
- return undefined;
104
- }
105
- if (typeof value !== "string") {
106
- throw this.propertyError(`${name} must be a string`);
107
- }
108
- return new Date(value);
101
+ const value = this.stringProperty(name);
102
+ return value === undefined ? undefined : new Date(value);
109
103
  }
110
104
  stringProperty(name) {
111
105
  const value = this.properties.get(name);
@@ -118,6 +112,6 @@ export class SimCfnScheduleProperties {
118
112
  return value;
119
113
  }
120
114
  propertyError(reason) {
121
- return simCfnSchedulerResourceError(this.resource.logicalId, reason);
115
+ return simCfnSchedulerResourceError(schedulerScheduleResourceType, this.resource.logicalId, reason);
122
116
  }
123
117
  }