@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,7 +1,8 @@
1
1
  /**
2
- * The CloudFormation Resource type simulated Scheduler creates.
2
+ * The CloudFormation Resource types simulated Scheduler creates.
3
3
  */
4
4
  export declare const schedulerScheduleResourceType = "AWS::Scheduler::Schedule";
5
+ export declare const schedulerScheduleGroupResourceType = "AWS::Scheduler::ScheduleGroup";
5
6
  /**
6
7
  * Build the error a Resource of a simulated Scheduler type is refused with.
7
8
  *
@@ -10,7 +11,7 @@ export declare const schedulerScheduleResourceType = "AWS::Scheduler::Schedule";
10
11
  * the template asked for it is the wrong answer: the Stack would look deployed
11
12
  * while nothing ever fired. So a refusal here says the Resource is invalid.
12
13
  */
13
- export declare function simCfnSchedulerResourceError(logicalId: string, reason: string, cause?: unknown): Error;
14
+ export declare function simCfnSchedulerResourceError(resourceType: string, logicalId: string, reason: string, cause?: unknown): Error;
14
15
  /**
15
16
  * Run the simulated Scheduler commands one Resource is made of, naming the
16
17
  * Resource in whatever they refuse.
@@ -20,4 +21,14 @@ export declare function simCfnSchedulerResourceError(logicalId: string, reason:
20
21
  * again in the CloudFormation layer. Only Scheduler's own errors are renamed,
21
22
  * so a refusal the CloudFormation layer decided keeps its own wording.
22
23
  */
23
- export declare function simCfnSchedulerResourceCreation<T>(logicalId: string, create: () => Promise<T>): Promise<T>;
24
+ export declare function simCfnSchedulerResourceCreation<T>(resourceType: string, logicalId: string, create: () => Promise<T>): Promise<T>;
25
+ /**
26
+ * Remove the resource one Resource created, leaving one that has already gone.
27
+ *
28
+ * Real CloudFormation treats deleting a Resource that has already gone as
29
+ * done rather than as a failure, and a Scheduler teardown reaches that case. A
30
+ * schedule group takes its schedules with it. A schedule whose template named
31
+ * its group as a string rather than by `Ref` declares no dependency on it, and
32
+ * may find itself already deleted by the time its own turn comes.
33
+ */
34
+ export declare function simCfnSchedulerResourceDeletion(remove: () => Promise<void>): Promise<void>;
@@ -1,8 +1,9 @@
1
- import { SimSchedulerError } from "../error/sim-scheduler.error.js";
1
+ import { SimSchedulerError, SimSchedulerResourceNotFoundException, } from "../error/sim-scheduler.error.js";
2
2
  /**
3
- * The CloudFormation Resource type simulated Scheduler creates.
3
+ * The CloudFormation Resource types simulated Scheduler creates.
4
4
  */
5
5
  export const schedulerScheduleResourceType = "AWS::Scheduler::Schedule";
6
+ export const schedulerScheduleGroupResourceType = "AWS::Scheduler::ScheduleGroup";
6
7
  /**
7
8
  * Build the error a Resource of a simulated Scheduler type is refused with.
8
9
  *
@@ -11,8 +12,10 @@ export const schedulerScheduleResourceType = "AWS::Scheduler::Schedule";
11
12
  * the template asked for it is the wrong answer: the Stack would look deployed
12
13
  * while nothing ever fired. So a refusal here says the Resource is invalid.
13
14
  */
14
- export function simCfnSchedulerResourceError(logicalId, reason, cause) {
15
- return new Error(`Invalid ${schedulerScheduleResourceType} Resource ${logicalId}: ${reason}`, { cause });
15
+ export function simCfnSchedulerResourceError(resourceType, logicalId, reason, cause) {
16
+ return new Error(`Invalid ${resourceType} Resource ${logicalId}: ${reason}`, {
17
+ cause,
18
+ });
16
19
  }
17
20
  /**
18
21
  * Run the simulated Scheduler commands one Resource is made of, naming the
@@ -23,14 +26,33 @@ export function simCfnSchedulerResourceError(logicalId, reason, cause) {
23
26
  * again in the CloudFormation layer. Only Scheduler's own errors are renamed,
24
27
  * so a refusal the CloudFormation layer decided keeps its own wording.
25
28
  */
26
- export async function simCfnSchedulerResourceCreation(logicalId, create) {
29
+ export async function simCfnSchedulerResourceCreation(resourceType, logicalId, create) {
27
30
  try {
28
31
  return await create();
29
32
  }
30
33
  catch (error) {
31
34
  if (error instanceof SimSchedulerError) {
32
- throw simCfnSchedulerResourceError(logicalId, error.message, error);
35
+ throw simCfnSchedulerResourceError(resourceType, logicalId, error.message, error);
33
36
  }
34
37
  throw error;
35
38
  }
36
39
  }
40
+ /**
41
+ * Remove the resource one Resource created, leaving one that has already gone.
42
+ *
43
+ * Real CloudFormation treats deleting a Resource that has already gone as
44
+ * done rather than as a failure, and a Scheduler teardown reaches that case. A
45
+ * schedule group takes its schedules with it. A schedule whose template named
46
+ * its group as a string rather than by `Ref` declares no dependency on it, and
47
+ * may find itself already deleted by the time its own turn comes.
48
+ */
49
+ export async function simCfnSchedulerResourceDeletion(remove) {
50
+ try {
51
+ await remove();
52
+ }
53
+ catch (error) {
54
+ if (!(error instanceof SimSchedulerResourceNotFoundException)) {
55
+ throw error;
56
+ }
57
+ }
58
+ }
@@ -1,6 +1,10 @@
1
1
  import type { SimSchedulerScheduleInput } from "../command/schedule/schedule.command.js";
2
2
  import type { SimSchedulerSchedule } from "../schedule/sim-scheduler-schedule.js";
3
3
  import type { SimScheduler } from "../sim-scheduler.js";
4
+ /**
5
+ * The `AWS::Scheduler::*` Resource types this service creates.
6
+ */
7
+ export type SimSchedulerCfnResourceTypeName = "Schedule" | "ScheduleGroup";
4
8
  /**
5
9
  * Find the schedule a Resource just created, in whichever group it went into.
6
10
  *
@@ -10,9 +14,11 @@ import type { SimScheduler } from "../sim-scheduler.js";
10
14
  */
11
15
  export declare function createdSchedule(scheduler: SimScheduler, input: SimSchedulerScheduleInput): SimSchedulerSchedule | undefined;
12
16
  /**
13
- * Refuse a Resource type this service does not create.
17
+ * Read the Resource type a request names, refusing one this service does not
18
+ * create.
14
19
  *
15
- * Schedule groups are the other `AWS::Scheduler::*` type, and are reported as
16
- * unsupported rather than quietly treated as deployed.
20
+ * A schedule and a schedule group are the whole of `AWS::Scheduler::*`, so
21
+ * anything else is a type AWS has added since, reported as unsupported rather
22
+ * than quietly treated as deployed.
17
23
  */
18
- export declare function refuseUnknownType(resourceTypeName: string): void;
24
+ export declare function schedulerResourceTypeName(resourceTypeName: string): SimSchedulerCfnResourceTypeName;
@@ -15,13 +15,16 @@ export function createdSchedule(scheduler, input) {
15
15
  : scheduler.findSchedule(name, input.GroupName);
16
16
  }
17
17
  /**
18
- * Refuse a Resource type this service does not create.
18
+ * Read the Resource type a request names, refusing one this service does not
19
+ * create.
19
20
  *
20
- * Schedule groups are the other `AWS::Scheduler::*` type, and are reported as
21
- * unsupported rather than quietly treated as deployed.
21
+ * A schedule and a schedule group are the whole of `AWS::Scheduler::*`, so
22
+ * anything else is a type AWS has added since, reported as unsupported rather
23
+ * than quietly treated as deployed.
22
24
  */
23
- export function refuseUnknownType(resourceTypeName) {
24
- if (resourceTypeName !== "Schedule") {
25
- throw new Error(`Unsupported sim Scheduler CloudFormation Resource ${resourceTypeName}`);
25
+ export function schedulerResourceTypeName(resourceTypeName) {
26
+ if (resourceTypeName === "Schedule" || resourceTypeName === "ScheduleGroup") {
27
+ return resourceTypeName;
26
28
  }
29
+ throw new Error(`Unsupported sim Scheduler CloudFormation Resource ${resourceTypeName}`);
27
30
  }
@@ -8,22 +8,20 @@ interface SimSchedulerCfnResourceFactoryProperties {
8
8
  /**
9
9
  * CloudFormation Resource factory for simulated Scheduler resources.
10
10
  *
11
- * There is one type, and the schedule goes through the ordinary CreateSchedule
12
- * command rather than being constructed directly, so a schedule a template
13
- * deployed is the same thing an SDK caller would have got, down to the
14
- * refusals.
11
+ * Two types, a schedule and the group it goes in, both created through the
12
+ * ordinary Scheduler commands rather than constructed directly.
15
13
  */
16
14
  export declare class SimSchedulerCfnResourceFactory implements SimCfnServiceResourceFactory {
17
- private readonly scheduler;
15
+ private readonly scheduleCreator;
16
+ private readonly groupCreator;
18
17
  constructor(properties: SimSchedulerCfnResourceFactoryProperties);
19
18
  /**
20
- * Create a simulated schedule from a CloudFormation Resource.
19
+ * Create a simulated Scheduler resource from a CloudFormation Resource.
21
20
  */
22
21
  create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
23
22
  /**
24
- * Delete the schedule a Resource created.
23
+ * Delete the resource a Resource created.
25
24
  */
26
25
  delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
27
- private read;
28
26
  }
29
27
  export {};
@@ -1,49 +1,36 @@
1
- import { assertDefined } from "../../../util/type-guard/defined.js";
2
- import { createdSchedule, refuseUnknownType, } from "./sim-cfn-scheduler-resource-lookup.js";
3
- import { SimCfnScheduleProperties } from "./sim-cfn-schedule-properties.js";
4
- import { simCfnSchedulerResourceCreation } from "./sim-cfn-scheduler-resource-error.js";
1
+ import { SimCfnScheduleCreator } from "./sim-cfn-schedule-creator.js";
2
+ import { SimCfnScheduleGroupCreator } from "./sim-cfn-schedule-group-creator.js";
3
+ import { schedulerResourceTypeName } from "./sim-cfn-scheduler-resource-lookup.js";
5
4
  /**
6
5
  * CloudFormation Resource factory for simulated Scheduler resources.
7
6
  *
8
- * There is one type, and the schedule goes through the ordinary CreateSchedule
9
- * command rather than being constructed directly, so a schedule a template
10
- * deployed is the same thing an SDK caller would have got, down to the
11
- * refusals.
7
+ * Two types, a schedule and the group it goes in, both created through the
8
+ * ordinary Scheduler commands rather than constructed directly.
12
9
  */
13
10
  export class SimSchedulerCfnResourceFactory {
14
- scheduler;
11
+ scheduleCreator;
12
+ groupCreator;
15
13
  constructor(properties) {
16
- this.scheduler = properties.scheduler;
14
+ this.scheduleCreator = new SimCfnScheduleCreator(properties);
15
+ this.groupCreator = new SimCfnScheduleGroupCreator(properties);
17
16
  }
18
17
  /**
19
- * Create a simulated schedule from a CloudFormation Resource.
18
+ * Create a simulated Scheduler resource from a CloudFormation Resource.
20
19
  */
21
20
  async create(resourceTypeName, resource, context) {
22
- refuseUnknownType(resourceTypeName);
23
- const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
24
- const input = properties.scheduleInput();
25
- return await simCfnSchedulerResourceCreation(resource.logicalId, async () => {
26
- await this.scheduler.createSchedule({ input });
27
- const schedule = createdSchedule(this.scheduler, input);
28
- assertDefined(schedule, `sim Scheduler schedule ${String(input.Name)} after ` +
29
- `CloudFormation creation`);
30
- return schedule;
31
- });
21
+ if (schedulerResourceTypeName(resourceTypeName) === "ScheduleGroup") {
22
+ return await this.groupCreator.create(resource, context);
23
+ }
24
+ return await this.scheduleCreator.create(resource, context);
32
25
  }
33
26
  /**
34
- * Delete the schedule a Resource created.
27
+ * Delete the resource a Resource created.
35
28
  */
36
29
  async delete(resourceTypeName, resource, context) {
37
- refuseUnknownType(resourceTypeName);
38
- const properties = this.read(resource, context.resolvedProperties ?? resource.properties);
39
- await this.scheduler.deleteSchedule({
40
- input: {
41
- Name: properties.name(),
42
- GroupName: properties.scheduleInput().GroupName,
43
- },
44
- });
45
- }
46
- read(resource, properties) {
47
- return new SimCfnScheduleProperties({ resource, properties });
30
+ if (schedulerResourceTypeName(resourceTypeName) === "ScheduleGroup") {
31
+ await this.groupCreator.delete(resource, context);
32
+ return;
33
+ }
34
+ await this.scheduleCreator.delete(resource, context);
48
35
  }
49
36
  }
@@ -10,7 +10,8 @@ interface SimSchedulerAuthorizerProperties {
10
10
  * The resource is the schedule ARN, which carries its group:
11
11
  * `arn:aws:scheduler:<region>:<account>:schedule/<group>/<name>`. A policy
12
12
  * written without the group in it matches nothing here, as it matches nothing
13
- * on real AWS.
13
+ * on real AWS. A group command authorizes against the group's own ARN, which
14
+ * is a different resource path: `schedule-group/<name>`.
14
15
  *
15
16
  * This is the caller's own authorization to manage schedules, and is a separate
16
17
  * question from whether a schedule's execution role may invoke its target. The
@@ -22,16 +23,16 @@ export declare class SimSchedulerAuthorizer {
22
23
  private readonly callerIdentifier;
23
24
  constructor(properties: SimSchedulerAuthorizerProperties);
24
25
  /**
25
- * Ensure the caller may perform an action on a schedule, named by its ARN.
26
+ * Ensure the caller may perform an action on a resource, named by its ARN.
26
27
  *
27
- * The schedule need not exist: `CreateSchedule` authorizes against the ARN
28
- * the schedule is about to have.
28
+ * The resource need not exist: `CreateSchedule` authorizes against the ARN
29
+ * the schedule is about to have, and `CreateScheduleGroup` against the
30
+ * group's.
29
31
  */
30
- authorizeSchedule(action: string, scheduleArn: string, options?: SimSchedulerRequestOptions): SimAwsResolvedCaller;
32
+ authorizeResource(action: string, resource: string, options?: SimSchedulerRequestOptions): SimAwsResolvedCaller;
31
33
  /**
32
- * Ensure the caller may perform an action naming no particular schedule.
34
+ * Ensure the caller may perform an action naming no particular resource.
33
35
  */
34
- authorizeAnySchedule(action: string, options?: SimSchedulerRequestOptions): SimAwsResolvedCaller;
35
- private authorizeResource;
36
+ authorizeAnyResource(action: string, options?: SimSchedulerRequestOptions): SimAwsResolvedCaller;
36
37
  }
37
38
  export {};
@@ -3,8 +3,8 @@ import { SimSchedulerAccessDeniedException } from "../../error/sim-scheduler.err
3
3
  /**
4
4
  * The resource an action with no resource type authorizes against.
5
5
  *
6
- * `ListSchedules` names no schedule, so IAM evaluates it against `*` and only a
7
- * policy whose Resource is `*` allows it.
6
+ * `ListSchedules` and `ListScheduleGroups` name nothing, so IAM evaluates them
7
+ * against `*` and only a policy whose Resource is `*` allows them.
8
8
  */
9
9
  const noResource = "*";
10
10
  /**
@@ -13,7 +13,8 @@ const noResource = "*";
13
13
  * The resource is the schedule ARN, which carries its group:
14
14
  * `arn:aws:scheduler:<region>:<account>:schedule/<group>/<name>`. A policy
15
15
  * written without the group in it matches nothing here, as it matches nothing
16
- * on real AWS.
16
+ * on real AWS. A group command authorizes against the group's own ARN, which
17
+ * is a different resource path: `schedule-group/<name>`.
17
18
  *
18
19
  * This is the caller's own authorization to manage schedules, and is a separate
19
20
  * question from whether a schedule's execution role may invoke its target. The
@@ -27,20 +28,12 @@ export class SimSchedulerAuthorizer {
27
28
  this.iam = properties.iam;
28
29
  }
29
30
  /**
30
- * Ensure the caller may perform an action on a schedule, named by its ARN.
31
+ * Ensure the caller may perform an action on a resource, named by its ARN.
31
32
  *
32
- * The schedule need not exist: `CreateSchedule` authorizes against the ARN
33
- * the schedule is about to have.
33
+ * The resource need not exist: `CreateSchedule` authorizes against the ARN
34
+ * the schedule is about to have, and `CreateScheduleGroup` against the
35
+ * group's.
34
36
  */
35
- authorizeSchedule(action, scheduleArn, options) {
36
- return this.authorizeResource(action, scheduleArn, options);
37
- }
38
- /**
39
- * Ensure the caller may perform an action naming no particular schedule.
40
- */
41
- authorizeAnySchedule(action, options) {
42
- return this.authorizeResource(action, noResource, options);
43
- }
44
37
  authorizeResource(action, resource, options) {
45
38
  const decision = this.iam.authorize({
46
39
  action,
@@ -54,4 +47,10 @@ export class SimSchedulerAuthorizer {
54
47
  }
55
48
  return decision.caller;
56
49
  }
50
+ /**
51
+ * Ensure the caller may perform an action naming no particular resource.
52
+ */
53
+ authorizeAnyResource(action, options) {
54
+ return this.authorizeResource(action, noResource, options);
55
+ }
57
56
  }
@@ -0,0 +1,90 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ /**
3
+ * One tag a request asks to put on a schedule group.
4
+ *
5
+ * Read only so the group commands can refuse them. Nothing here stores a tag,
6
+ * and a group carrying one it never got would be worse than the refusal.
7
+ */
8
+ export interface SimSchedulerTag {
9
+ readonly Key?: string | undefined;
10
+ readonly Value?: string | undefined;
11
+ }
12
+ /**
13
+ * Minimal structural sim Scheduler CreateScheduleGroup command.
14
+ *
15
+ * https://docs.aws.amazon.com/scheduler/latest/APIReference/API_CreateScheduleGroup.html
16
+ */
17
+ export interface SimCreateScheduleGroupCommand {
18
+ readonly input: SimCreateScheduleGroupCommandInput;
19
+ }
20
+ export interface SimCreateScheduleGroupCommandInput {
21
+ readonly Name?: string | undefined;
22
+ readonly Tags?: readonly SimSchedulerTag[] | undefined;
23
+ readonly ClientToken?: string | undefined;
24
+ }
25
+ export interface SimCreateScheduleGroupCommandOutput {
26
+ readonly ScheduleGroupArn?: string | undefined;
27
+ readonly $metadata: SimResponseMetadata;
28
+ }
29
+ /**
30
+ * Minimal structural sim Scheduler GetScheduleGroup command.
31
+ *
32
+ * https://docs.aws.amazon.com/scheduler/latest/APIReference/API_GetScheduleGroup.html
33
+ */
34
+ export interface SimGetScheduleGroupCommand {
35
+ readonly input: SimGetScheduleGroupCommandInput;
36
+ }
37
+ export interface SimGetScheduleGroupCommandInput {
38
+ readonly Name?: string | undefined;
39
+ }
40
+ export interface SimGetScheduleGroupCommandOutput {
41
+ readonly Arn?: string | undefined;
42
+ readonly Name?: string | undefined;
43
+ readonly State?: string | undefined;
44
+ readonly CreationDate?: Date | undefined;
45
+ readonly LastModificationDate?: Date | undefined;
46
+ readonly $metadata: SimResponseMetadata;
47
+ }
48
+ /**
49
+ * Minimal structural sim Scheduler DeleteScheduleGroup command.
50
+ *
51
+ * https://docs.aws.amazon.com/scheduler/latest/APIReference/API_DeleteScheduleGroup.html
52
+ */
53
+ export interface SimDeleteScheduleGroupCommand {
54
+ readonly input: SimDeleteScheduleGroupCommandInput;
55
+ }
56
+ export interface SimDeleteScheduleGroupCommandInput {
57
+ readonly Name?: string | undefined;
58
+ readonly ClientToken?: string | undefined;
59
+ }
60
+ export interface SimDeleteScheduleGroupCommandOutput {
61
+ readonly $metadata: SimResponseMetadata;
62
+ }
63
+ /**
64
+ * One schedule group as a listing reports it, which is all of it.
65
+ */
66
+ export interface SimSchedulerListedScheduleGroup {
67
+ readonly Arn: string;
68
+ readonly Name: string;
69
+ readonly State: string;
70
+ readonly CreationDate: Date;
71
+ readonly LastModificationDate: Date;
72
+ }
73
+ /**
74
+ * Minimal structural sim Scheduler ListScheduleGroups command.
75
+ *
76
+ * https://docs.aws.amazon.com/scheduler/latest/APIReference/API_ListScheduleGroups.html
77
+ */
78
+ export interface SimListScheduleGroupsCommand {
79
+ readonly input: SimListScheduleGroupsCommandInput;
80
+ }
81
+ export interface SimListScheduleGroupsCommandInput {
82
+ readonly NamePrefix?: string | undefined;
83
+ readonly MaxResults?: number | undefined;
84
+ readonly NextToken?: string | undefined;
85
+ }
86
+ export interface SimListScheduleGroupsCommandOutput {
87
+ readonly ScheduleGroups?: readonly SimSchedulerListedScheduleGroup[] | undefined;
88
+ readonly NextToken?: string | undefined;
89
+ readonly $metadata: SimResponseMetadata;
90
+ }
@@ -0,0 +1,15 @@
1
+ import type { SimSchedulerScheduleGroup } from "../../group/sim-scheduler-schedule-group.js";
2
+ import type { SimGetScheduleGroupCommandOutput, SimSchedulerListedScheduleGroup } from "./group.command.js";
3
+ /**
4
+ * One group as `GetScheduleGroup` reports it.
5
+ */
6
+ export declare function describedScheduleGroup(group: SimSchedulerScheduleGroup): Omit<SimGetScheduleGroupCommandOutput, "$metadata">;
7
+ /**
8
+ * One group as a listing reports it.
9
+ *
10
+ * A group has nothing a describe carries and a listing does not, unlike a
11
+ * schedule, so these two agree on everything. They are written apart anyway
12
+ * because the AWS shapes are separate and only one of them has required
13
+ * fields.
14
+ */
15
+ export declare function listedScheduleGroup(group: SimSchedulerScheduleGroup): SimSchedulerListedScheduleGroup;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * One group as `GetScheduleGroup` reports it.
3
+ */
4
+ export function describedScheduleGroup(group) {
5
+ return {
6
+ Arn: group.arn,
7
+ Name: group.name,
8
+ State: group.state,
9
+ CreationDate: group.creationDate,
10
+ LastModificationDate: group.lastModificationDate,
11
+ };
12
+ }
13
+ /**
14
+ * One group as a listing reports it.
15
+ *
16
+ * A group has nothing a describe carries and a listing does not, unlike a
17
+ * schedule, so these two agree on everything. They are written apart anyway
18
+ * because the AWS shapes are separate and only one of them has required
19
+ * fields.
20
+ */
21
+ export function listedScheduleGroup(group) {
22
+ return {
23
+ Arn: group.arn,
24
+ Name: group.name,
25
+ State: group.state,
26
+ CreationDate: group.creationDate,
27
+ LastModificationDate: group.lastModificationDate,
28
+ };
29
+ }
@@ -0,0 +1,57 @@
1
+ import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimSchedulerScheduleGroup } from "../../group/sim-scheduler-schedule-group.js";
3
+ import type { SimSchedulerScheduleGroupStore } from "../../group/sim-scheduler-schedule-group-store.js";
4
+ import type { SimSchedulerAuthorizer } from "../authorize/sim-scheduler-authorizer.js";
5
+ import type { SimSchedulerRequestOptions } from "../sim-scheduler-request-options.js";
6
+ interface SimSchedulerGroupAccessProperties {
7
+ readonly groups: SimSchedulerScheduleGroupStore;
8
+ readonly authorizer: SimSchedulerAuthorizer;
9
+ readonly accountRegionScope: SimAwsAccountRegionScope;
10
+ }
11
+ /**
12
+ * How a request reaches the schedule group it names.
13
+ *
14
+ * The same shape as `SimSchedulerScheduleAccess`, and for the same reason. The
15
+ * caller is authorized before the group is looked up, and a caller with no
16
+ * permission is refused whether or not the group is there.
17
+ */
18
+ export declare class SimSchedulerGroupAccess {
19
+ private readonly groups;
20
+ private readonly authorizer;
21
+ private readonly accountRegionScope;
22
+ constructor(properties: SimSchedulerGroupAccessProperties);
23
+ /**
24
+ * Read the group name a request names, and authorize the action on it.
25
+ *
26
+ * The group need not exist: `CreateScheduleGroup` authorizes against the ARN
27
+ * the group is about to have.
28
+ */
29
+ authorized(action: string, name: string | undefined, options?: SimSchedulerRequestOptions): string;
30
+ /**
31
+ * Resolve the group a request names, authorizing the action first.
32
+ */
33
+ require(action: string, name: string | undefined, options?: SimSchedulerRequestOptions): SimSchedulerScheduleGroup;
34
+ /**
35
+ * Resolve the group a request wants deleted, which `default` is never one
36
+ * of.
37
+ *
38
+ * AWS leaves the answer for the `default` group undocumented, and a
39
+ * simulation that let it go would have no way of getting it back. It comes
40
+ * with the Account rather than being created, and every request naming no
41
+ * group wants it.
42
+ */
43
+ requireDeletable(action: string, name: string | undefined, options?: SimSchedulerRequestOptions): SimSchedulerScheduleGroup;
44
+ /**
45
+ * Let a listing through, which names no group.
46
+ *
47
+ * `ListScheduleGroups` authorizes against every group in the Account rather
48
+ * than against each one it is about to report, and does not filter the
49
+ * listing by what the caller can reach.
50
+ */
51
+ authorizeListing(action: string, options?: SimSchedulerRequestOptions): void;
52
+ /**
53
+ * The ARN a group of this name has, or would have.
54
+ */
55
+ private arnFor;
56
+ }
57
+ export {};
@@ -0,0 +1,70 @@
1
+ import { schedulerScheduleGroupArn } from "../../group/sim-scheduler-schedule-group-arn.js";
2
+ import { SimSchedulerValidationException } from "../../error/sim-scheduler.error.js";
3
+ import { defaultScheduleGroupName, requiredScheduleGroupName, } from "../../schedule/sim-scheduler-schedule-name.js";
4
+ /**
5
+ * How a request reaches the schedule group it names.
6
+ *
7
+ * The same shape as `SimSchedulerScheduleAccess`, and for the same reason. The
8
+ * caller is authorized before the group is looked up, and a caller with no
9
+ * permission is refused whether or not the group is there.
10
+ */
11
+ export class SimSchedulerGroupAccess {
12
+ groups;
13
+ authorizer;
14
+ accountRegionScope;
15
+ constructor(properties) {
16
+ this.groups = properties.groups;
17
+ this.authorizer = properties.authorizer;
18
+ this.accountRegionScope = properties.accountRegionScope;
19
+ }
20
+ /**
21
+ * Read the group name a request names, and authorize the action on it.
22
+ *
23
+ * The group need not exist: `CreateScheduleGroup` authorizes against the ARN
24
+ * the group is about to have.
25
+ */
26
+ authorized(action, name, options) {
27
+ const groupName = requiredScheduleGroupName(name);
28
+ this.authorizer.authorizeResource(action, this.arnFor(groupName), options);
29
+ return groupName;
30
+ }
31
+ /**
32
+ * Resolve the group a request names, authorizing the action first.
33
+ */
34
+ require(action, name, options) {
35
+ return this.groups.require(this.authorized(action, name, options));
36
+ }
37
+ /**
38
+ * Resolve the group a request wants deleted, which `default` is never one
39
+ * of.
40
+ *
41
+ * AWS leaves the answer for the `default` group undocumented, and a
42
+ * simulation that let it go would have no way of getting it back. It comes
43
+ * with the Account rather than being created, and every request naming no
44
+ * group wants it.
45
+ */
46
+ requireDeletable(action, name, options) {
47
+ const groupName = this.authorized(action, name, options);
48
+ if (groupName === defaultScheduleGroupName) {
49
+ throw new SimSchedulerValidationException(`The ${defaultScheduleGroupName} schedule group comes with the ` +
50
+ `Account and cannot be deleted.`);
51
+ }
52
+ return this.groups.require(groupName);
53
+ }
54
+ /**
55
+ * Let a listing through, which names no group.
56
+ *
57
+ * `ListScheduleGroups` authorizes against every group in the Account rather
58
+ * than against each one it is about to report, and does not filter the
59
+ * listing by what the caller can reach.
60
+ */
61
+ authorizeListing(action, options) {
62
+ this.authorizer.authorizeAnyResource(action, options);
63
+ }
64
+ /**
65
+ * The ARN a group of this name has, or would have.
66
+ */
67
+ arnFor(groupName) {
68
+ return schedulerScheduleGroupArn(groupName, this.accountRegionScope);
69
+ }
70
+ }
@@ -0,0 +1,46 @@
1
+ import type { SimSchedulerScheduleGroupStore } from "../../group/sim-scheduler-schedule-group-store.js";
2
+ import type { SimSchedulerScheduleStore } from "../../schedule/sim-scheduler-schedule-store.js";
3
+ import type { SimSchedulerRequestOptions } from "../sim-scheduler-request-options.js";
4
+ import type { SimSchedulerGroupAccess } from "./sim-scheduler-group-access.js";
5
+ import type { SimCreateScheduleGroupCommand, SimCreateScheduleGroupCommandOutput, SimDeleteScheduleGroupCommand, SimDeleteScheduleGroupCommandOutput, SimGetScheduleGroupCommand, SimGetScheduleGroupCommandOutput, SimListScheduleGroupsCommand, SimListScheduleGroupsCommandOutput } from "./group.command.js";
6
+ interface SimSchedulerGroupCommandsProperties {
7
+ readonly groups: SimSchedulerScheduleGroupStore;
8
+ readonly schedules: SimSchedulerScheduleStore;
9
+ readonly access: SimSchedulerGroupAccess;
10
+ }
11
+ /**
12
+ * The commands that manage schedule groups.
13
+ *
14
+ * All four in one handler, unlike schedules, where creating and updating are
15
+ * their own. A group is a name. There is no request to read into a resource,
16
+ * and no update at all, since `Name` is the only thing a group has and AWS
17
+ * replaces the group to change it.
18
+ */
19
+ export declare class SimSchedulerGroupCommands {
20
+ private readonly groups;
21
+ private readonly schedules;
22
+ private readonly access;
23
+ constructor(properties: SimSchedulerGroupCommandsProperties);
24
+ /**
25
+ * Create a schedule group.
26
+ */
27
+ createScheduleGroup(command: SimCreateScheduleGroupCommand, options?: SimSchedulerRequestOptions): SimCreateScheduleGroupCommandOutput;
28
+ /**
29
+ * Describe a schedule group.
30
+ */
31
+ getScheduleGroup(command: SimGetScheduleGroupCommand, options?: SimSchedulerRequestOptions): SimGetScheduleGroupCommandOutput;
32
+ /**
33
+ * Delete a schedule group, and the schedules in it.
34
+ *
35
+ * AWS deletes the schedules with the group rather than refusing a group that
36
+ * still holds some, and leaves the group in a `DELETING` state until they
37
+ * have gone. Here they go in the same call, so nothing is ever seen in that
38
+ * state.
39
+ */
40
+ deleteScheduleGroup(command: SimDeleteScheduleGroupCommand, options?: SimSchedulerRequestOptions): SimDeleteScheduleGroupCommandOutput;
41
+ /**
42
+ * List the schedule groups of this scope, in creation order.
43
+ */
44
+ listScheduleGroups(command: SimListScheduleGroupsCommand, options?: SimSchedulerRequestOptions): SimListScheduleGroupsCommandOutput;
45
+ }
46
+ export {};