@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
@@ -0,0 +1,32 @@
1
+ import { schedulerScheduleGroupArn } from "./sim-scheduler-schedule-group-arn.js";
2
+ /**
3
+ * The state a schedule group is in.
4
+ *
5
+ * Real Scheduler also has `DELETING`, which a group sits in while the schedules
6
+ * it holds are being removed. No group here is ever in it. Deleting a group
7
+ * removes its schedules in the same call, and a group is `ACTIVE` or gone.
8
+ */
9
+ const activeState = "ACTIVE";
10
+ /**
11
+ * One simulated EventBridge Scheduler schedule group.
12
+ *
13
+ * A group is a namespace and a tagging handle. It carries no settings, and a
14
+ * schedule in it behaves exactly as one in `default` would. What it changes is
15
+ * identity. A schedule's name is unique within its group rather than within the
16
+ * Account, and the group is in the schedule's ARN. Two deployments of the same
17
+ * construct into one Account and Region collide on schedule names unless each
18
+ * one has its own group.
19
+ */
20
+ export class SimSchedulerScheduleGroup {
21
+ name;
22
+ arn;
23
+ creationDate;
24
+ lastModificationDate;
25
+ state = activeState;
26
+ constructor(properties) {
27
+ this.name = properties.name;
28
+ this.arn = schedulerScheduleGroupArn(properties.name, properties.accountRegionScope);
29
+ this.creationDate = properties.createdAt;
30
+ this.lastModificationDate = properties.createdAt;
31
+ }
32
+ }
@@ -2,12 +2,14 @@ export { SimScheduler } from "./sim-scheduler.js";
2
2
  export type { SimSchedulerRequestOptions } from "./command/sim-scheduler-request-options.js";
3
3
  export { SimSchedulerSchedule, type SimSchedulerActionAfterCompletion, } from "./schedule/sim-scheduler-schedule.js";
4
4
  export { schedulerScheduleArn } from "./schedule/sim-scheduler-schedule-arn.js";
5
+ export { SimSchedulerScheduleGroup } from "./group/sim-scheduler-schedule-group.js";
6
+ export { schedulerScheduleGroupArn } from "./group/sim-scheduler-schedule-group-arn.js";
5
7
  export { defaultScheduleGroupName, SimSchedulerScheduleName, } from "./schedule/sim-scheduler-schedule-name.js";
6
8
  export { SimSchedulerScheduleState } from "./schedule/sim-scheduler-schedule-state.js";
7
9
  export { schedulerScheduleDialect } from "./schedule/sim-scheduler-schedule-expression.js";
8
10
  export { SimSchedulerTarget } from "./target/sim-scheduler-target.js";
9
11
  export { simSchedulerTargetServices, SimSchedulerTargetArn, type SimSchedulerTargetService, } from "./target/sim-scheduler-target-arn.js";
10
12
  export { simSchedulerServicePrincipal, type SimSchedulerDeliveryTargets, } from "./delivery/sim-scheduler-delivery.js";
11
- export { SimSchedulerDeliveryFailure } from "./delivery/sim-scheduler-delivery-failures.js";
13
+ export { SimSchedulerDeliveryFailure, type SimSchedulerDeliveryFailureJson, } from "./delivery/sim-scheduler-delivery-failures.js";
12
14
  export { SimSchedulerDeliveryNotPermitted, SimSchedulerTargetNotFound, } from "./error/sim-scheduler-delivery.error.js";
13
15
  export { SimSchedulerAccessDeniedException, SimSchedulerConflictException, SimSchedulerError, SimSchedulerResourceNotFoundException, SimSchedulerUnsimulatedInputException, SimSchedulerValidationException, } from "./error/sim-scheduler.error.js";
@@ -1,12 +1,14 @@
1
1
  export { SimScheduler } from "./sim-scheduler.js";
2
2
  export { SimSchedulerSchedule, } from "./schedule/sim-scheduler-schedule.js";
3
3
  export { schedulerScheduleArn } from "./schedule/sim-scheduler-schedule-arn.js";
4
+ export { SimSchedulerScheduleGroup } from "./group/sim-scheduler-schedule-group.js";
5
+ export { schedulerScheduleGroupArn } from "./group/sim-scheduler-schedule-group-arn.js";
4
6
  export { defaultScheduleGroupName, SimSchedulerScheduleName, } from "./schedule/sim-scheduler-schedule-name.js";
5
7
  export { SimSchedulerScheduleState } from "./schedule/sim-scheduler-schedule-state.js";
6
8
  export { schedulerScheduleDialect } from "./schedule/sim-scheduler-schedule-expression.js";
7
9
  export { SimSchedulerTarget } from "./target/sim-scheduler-target.js";
8
10
  export { simSchedulerTargetServices, SimSchedulerTargetArn, } from "./target/sim-scheduler-target-arn.js";
9
11
  export { simSchedulerServicePrincipal, } from "./delivery/sim-scheduler-delivery.js";
10
- export { SimSchedulerDeliveryFailure } from "./delivery/sim-scheduler-delivery-failures.js";
12
+ export { SimSchedulerDeliveryFailure, } from "./delivery/sim-scheduler-delivery-failures.js";
11
13
  export { SimSchedulerDeliveryNotPermitted, SimSchedulerTargetNotFound, } from "./error/sim-scheduler-delivery.error.js";
12
14
  export { SimSchedulerAccessDeniedException, SimSchedulerConflictException, SimSchedulerError, SimSchedulerResourceNotFoundException, SimSchedulerUnsimulatedInputException, SimSchedulerValidationException, } from "./error/sim-scheduler.error.js";
@@ -1,11 +1,9 @@
1
1
  /**
2
- * The one schedule group this simulation has.
2
+ * The schedule group a request naming none goes to.
3
3
  *
4
- * Every Account has a `default` group without one being created, and named
5
- * groups are a resource of their own with their own commands. Nothing here
6
- * creates one, so a schedule asking for another group is refused rather than
7
- * quietly put in `default`, where it would have the wrong ARN and be found by
8
- * a listing that should not see it.
4
+ * Every Account has a `default` group without one being created, which is why
5
+ * this is a name every scope already has rather than one the first request
6
+ * makes up.
9
7
  */
10
8
  export declare const defaultScheduleGroupName = "default";
11
9
  /**
@@ -22,8 +20,12 @@ export declare class SimSchedulerScheduleName {
22
20
  /**
23
21
  * The name of the schedule group a request names.
24
22
  *
25
- * A request naming no group gets `default`, as AWS does. One naming any other
26
- * group is refused: schedule groups are not simulated, and a schedule quietly
27
- * moved into `default` would carry an ARN naming a group it is not in.
23
+ * A request naming no group gets `default`, as AWS does. Whether the group is
24
+ * there is a separate question, asked once the caller has been authorized, so
25
+ * nothing here reaches a store.
28
26
  */
29
27
  export declare function requestedScheduleGroupName(value: string | undefined): string;
28
+ /**
29
+ * The name of the schedule group a group command names, which is required.
30
+ */
31
+ export declare function requiredScheduleGroupName(value: string | undefined): string;
@@ -1,4 +1,4 @@
1
- import { SimSchedulerUnsimulatedInputException, SimSchedulerValidationException, } from "../error/sim-scheduler.error.js";
1
+ import { SimSchedulerValidationException } from "../error/sim-scheduler.error.js";
2
2
  const maximumNameLength = 64;
3
3
  /**
4
4
  * The characters AWS takes in a schedule name, and in a group name: letters,
@@ -6,13 +6,11 @@ const maximumNameLength = 64;
6
6
  */
7
7
  const allowedName = /^[0-9a-zA-Z\-_.]+$/u;
8
8
  /**
9
- * The one schedule group this simulation has.
9
+ * The schedule group a request naming none goes to.
10
10
  *
11
- * Every Account has a `default` group without one being created, and named
12
- * groups are a resource of their own with their own commands. Nothing here
13
- * creates one, so a schedule asking for another group is refused rather than
14
- * quietly put in `default`, where it would have the wrong ARN and be found by
15
- * a listing that should not see it.
11
+ * Every Account has a `default` group without one being created, which is why
12
+ * this is a name every scope already has rather than one the first request
13
+ * makes up.
16
14
  */
17
15
  export const defaultScheduleGroupName = "default";
18
16
  /**
@@ -51,20 +49,19 @@ export class SimSchedulerScheduleName {
51
49
  /**
52
50
  * The name of the schedule group a request names.
53
51
  *
54
- * A request naming no group gets `default`, as AWS does. One naming any other
55
- * group is refused: schedule groups are not simulated, and a schedule quietly
56
- * moved into `default` would carry an ARN naming a group it is not in.
52
+ * A request naming no group gets `default`, as AWS does. Whether the group is
53
+ * there is a separate question, asked once the caller has been authorized, so
54
+ * nothing here reaches a store.
57
55
  */
58
56
  export function requestedScheduleGroupName(value) {
59
57
  if (value === undefined) {
60
58
  return defaultScheduleGroupName;
61
59
  }
62
- const groupName = readName("GroupName", value);
63
- if (groupName !== defaultScheduleGroupName) {
64
- throw new SimSchedulerUnsimulatedInputException(`Schedule groups are not simulated, so a schedule goes in the ` +
65
- `${defaultScheduleGroupName} group. GroupName '${groupName}' is ` +
66
- `refused rather than put in ${defaultScheduleGroupName}, where its ` +
67
- `ARN would name a group it is not in.`);
68
- }
69
- return groupName;
60
+ return readName("GroupName", value);
61
+ }
62
+ /**
63
+ * The name of the schedule group a group command names, which is required.
64
+ */
65
+ export function requiredScheduleGroupName(value) {
66
+ return readName("Name", value);
70
67
  }
@@ -23,6 +23,13 @@ export declare class SimSchedulerScheduleStore {
23
23
  * Resolve a schedule by group and name, or refuse.
24
24
  */
25
25
  require(groupName: string, scheduleName: string): SimSchedulerSchedule;
26
+ /**
27
+ * Forget every schedule of one group.
28
+ *
29
+ * Deleting a group takes its schedules with it, as it does on AWS, and how
30
+ * to find them is this store's own business rather than the command's.
31
+ */
32
+ removeGroup(groupName: string): void;
26
33
  /**
27
34
  * Forget a deleted schedule.
28
35
  */
@@ -44,6 +44,19 @@ export class SimSchedulerScheduleStore {
44
44
  }
45
45
  return found;
46
46
  }
47
+ /**
48
+ * Forget every schedule of one group.
49
+ *
50
+ * Deleting a group takes its schedules with it, as it does on AWS, and how
51
+ * to find them is this store's own business rather than the command's.
52
+ */
53
+ removeGroup(groupName) {
54
+ for (const schedule of this.all) {
55
+ if (schedule.groupName === groupName) {
56
+ this.remove(schedule);
57
+ }
58
+ }
59
+ }
47
60
  /**
48
61
  * Forget a deleted schedule.
49
62
  */
@@ -35,6 +35,19 @@ export declare class SimSchedulerSchedule {
35
35
  readonly name: SimSchedulerScheduleName;
36
36
  readonly groupName: string;
37
37
  readonly arn: string;
38
+ /**
39
+ * The ARN of the group this schedule is in.
40
+ *
41
+ * Kept beside the schedule's own ARN because it is a different resource path
42
+ * and the two are easy to confuse. This is the one AWS recommends as the
43
+ * `aws:SourceArn` of an execution role's trust policy.
44
+ */
45
+ readonly groupArn: string;
46
+ /**
47
+ * The Account this schedule is in, supplied as `aws:SourceAccount` when its
48
+ * execution role is assumed.
49
+ */
50
+ readonly accountId: string;
38
51
  readonly target: SimSchedulerTarget;
39
52
  readonly actionAfterCompletion: SimSchedulerActionAfterCompletion;
40
53
  readonly description: string | undefined;
@@ -1,3 +1,4 @@
1
+ import { schedulerScheduleGroupArn } from "../group/sim-scheduler-schedule-group-arn.js";
1
2
  import { schedulerScheduleArn } from "./sim-scheduler-schedule-arn.js";
2
3
  /**
3
4
  * One simulated EventBridge Scheduler schedule.
@@ -11,6 +12,19 @@ export class SimSchedulerSchedule {
11
12
  name;
12
13
  groupName;
13
14
  arn;
15
+ /**
16
+ * The ARN of the group this schedule is in.
17
+ *
18
+ * Kept beside the schedule's own ARN because it is a different resource path
19
+ * and the two are easy to confuse. This is the one AWS recommends as the
20
+ * `aws:SourceArn` of an execution role's trust policy.
21
+ */
22
+ groupArn;
23
+ /**
24
+ * The Account this schedule is in, supplied as `aws:SourceAccount` when its
25
+ * execution role is assumed.
26
+ */
27
+ accountId;
14
28
  target;
15
29
  actionAfterCompletion;
16
30
  description;
@@ -25,6 +39,8 @@ export class SimSchedulerSchedule {
25
39
  this.name = properties.name;
26
40
  this.groupName = properties.groupName;
27
41
  this.arn = schedulerScheduleArn(properties.groupName, properties.name.value, properties.accountRegionScope);
42
+ this.groupArn = schedulerScheduleGroupArn(properties.groupName, properties.accountRegionScope);
43
+ this.accountId = properties.accountRegionScope.accountId;
28
44
  this.schedule = properties.schedule;
29
45
  this.target = properties.target;
30
46
  this.actionAfterCompletion = properties.actionAfterCompletion;
@@ -26,6 +26,22 @@ export class SimSchedulerSdkCommandRouter {
26
26
  "ListSchedulesCommand",
27
27
  async (command, context) => await simScheduler.listSchedules(command, simSdkCallerOptions(context)),
28
28
  ],
29
+ [
30
+ "CreateScheduleGroupCommand",
31
+ async (command, context) => await simScheduler.createScheduleGroup(command, simSdkCallerOptions(context)),
32
+ ],
33
+ [
34
+ "GetScheduleGroupCommand",
35
+ async (command, context) => await simScheduler.getScheduleGroup(command, simSdkCallerOptions(context)),
36
+ ],
37
+ [
38
+ "DeleteScheduleGroupCommand",
39
+ async (command, context) => await simScheduler.deleteScheduleGroup(command, simSdkCallerOptions(context)),
40
+ ],
41
+ [
42
+ "ListScheduleGroupsCommand",
43
+ async (command, context) => await simScheduler.listScheduleGroups(command, simSdkCallerOptions(context)),
44
+ ],
29
45
  ]);
30
46
  }
31
47
  /**
@@ -1,3 +1,5 @@
1
+ import type { SimSchedulerScheduleGroup } from "./group/sim-scheduler-schedule-group.js";
2
+ import type { SimSchedulerScheduleGroupStore } from "./group/sim-scheduler-schedule-group-store.js";
1
3
  import type { SimSchedulerSchedule } from "./schedule/sim-scheduler-schedule.js";
2
4
  import type { SimSchedulerScheduleStore } from "./schedule/sim-scheduler-schedule-store.js";
3
5
  /**
@@ -11,6 +13,7 @@ import type { SimSchedulerScheduleStore } from "./schedule/sim-scheduler-schedul
11
13
  */
12
14
  export declare abstract class SimSchedulerInspection {
13
15
  protected abstract readonly scheduleStore: SimSchedulerScheduleStore;
16
+ protected abstract readonly groupStore: SimSchedulerScheduleGroupStore;
14
17
  /**
15
18
  * Find a schedule by name, in a group.
16
19
  *
@@ -22,4 +25,15 @@ export declare abstract class SimSchedulerInspection {
22
25
  * Every schedule this scope holds, in creation order.
23
26
  */
24
27
  get allSchedules(): readonly SimSchedulerSchedule[];
28
+ /**
29
+ * Find a schedule group by name.
30
+ */
31
+ findScheduleGroup(groupName: string): SimSchedulerScheduleGroup | undefined;
32
+ /**
33
+ * Every schedule group this scope holds, in creation order.
34
+ *
35
+ * `default` is always the first of them, since every Account has it without
36
+ * anyone creating one.
37
+ */
38
+ get allScheduleGroups(): readonly SimSchedulerScheduleGroup[];
25
39
  }
@@ -24,4 +24,19 @@ export class SimSchedulerInspection {
24
24
  get allSchedules() {
25
25
  return this.scheduleStore.all;
26
26
  }
27
+ /**
28
+ * Find a schedule group by name.
29
+ */
30
+ findScheduleGroup(groupName) {
31
+ return this.groupStore.find(groupName);
32
+ }
33
+ /**
34
+ * Every schedule group this scope holds, in creation order.
35
+ *
36
+ * `default` is always the first of them, since every Account has it without
37
+ * anyone creating one.
38
+ */
39
+ get allScheduleGroups() {
40
+ return this.groupStore.all;
41
+ }
27
42
  }
@@ -1,11 +1,12 @@
1
1
  import { type BackgroundScheduler } from "../../util/background/background.js";
2
2
  import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
3
3
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
4
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
5
5
  import type * as simSchedulerCommands from "./command/sim-scheduler-command.types.js";
6
6
  import type { SimSchedulerDeliveryTargets } from "./delivery/sim-scheduler-delivery.js";
7
7
  import type { SimSchedulerDeliveryFailure } from "./delivery/sim-scheduler-delivery-failures.js";
8
8
  import type { SimSchedulerRequestOptions } from "./command/sim-scheduler-request-options.js";
9
+ import { SimSchedulerScheduleGroupStore } from "./group/sim-scheduler-schedule-group-store.js";
9
10
  import { SimSchedulerScheduleStore } from "./schedule/sim-scheduler-schedule-store.js";
10
11
  import { SimSchedulerCfnResourceFactory } from "./cfn/sim-scheduler-cfn-resource-factory.js";
11
12
  import { SimSchedulerInspection } from "./sim-scheduler-inspection.js";
@@ -35,6 +36,7 @@ interface SimSchedulerProperties {
35
36
  */
36
37
  export declare class SimScheduler extends SimSchedulerInspection {
37
38
  protected readonly scheduleStore: SimSchedulerScheduleStore;
39
+ protected readonly groupStore: SimSchedulerScheduleGroupStore;
38
40
  private readonly commands;
39
41
  private readonly background;
40
42
  private readonly sdkRouter;
@@ -67,6 +69,22 @@ export declare class SimScheduler extends SimSchedulerInspection {
67
69
  * Handle a ListSchedules Command from the SDK.
68
70
  */
69
71
  listSchedules(command: simSchedulerCommands.SimListSchedulesCommand, options?: SimSchedulerRequestOptions): Promise<simSchedulerCommands.SimListSchedulesCommandOutput>;
72
+ /**
73
+ * Handle a CreateScheduleGroup Command from the SDK.
74
+ */
75
+ createScheduleGroup(command: simSchedulerCommands.SimCreateScheduleGroupCommand, options?: SimSchedulerRequestOptions): Promise<simSchedulerCommands.SimCreateScheduleGroupCommandOutput>;
76
+ /**
77
+ * Handle a GetScheduleGroup Command from the SDK.
78
+ */
79
+ getScheduleGroup(command: simSchedulerCommands.SimGetScheduleGroupCommand, options?: SimSchedulerRequestOptions): Promise<simSchedulerCommands.SimGetScheduleGroupCommandOutput>;
80
+ /**
81
+ * Handle a DeleteScheduleGroup Command from the SDK.
82
+ */
83
+ deleteScheduleGroup(command: simSchedulerCommands.SimDeleteScheduleGroupCommand, options?: SimSchedulerRequestOptions): Promise<simSchedulerCommands.SimDeleteScheduleGroupCommandOutput>;
84
+ /**
85
+ * Handle a ListScheduleGroups Command from the SDK.
86
+ */
87
+ listScheduleGroups(command: simSchedulerCommands.SimListScheduleGroupsCommand, options?: SimSchedulerRequestOptions): Promise<simSchedulerCommands.SimListScheduleGroupsCommandOutput>;
70
88
  /**
71
89
  * Get this service's SDK Command router for SDK client interception.
72
90
  */
@@ -1,7 +1,8 @@
1
1
  import { BackgroundTasks, } from "../../util/background/background.js";
2
2
  import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
3
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
4
4
  import { SimSchedulerCommands } from "./command/sim-scheduler-commands.js";
5
+ import { SimSchedulerScheduleGroupStore } from "./group/sim-scheduler-schedule-group-store.js";
5
6
  import { SimSchedulerScheduleStore } from "./schedule/sim-scheduler-schedule-store.js";
6
7
  import { SimSchedulerCfnResourceFactory } from "./cfn/sim-scheduler-cfn-resource-factory.js";
7
8
  import { SimSchedulerSdkCommandRouter } from "./sdk/sim-scheduler-sdk-command-router.js";
@@ -20,6 +21,7 @@ import { SimSchedulerInspection } from "./sim-scheduler-inspection.js";
20
21
  */
21
22
  export class SimScheduler extends SimSchedulerInspection {
22
23
  scheduleStore = new SimSchedulerScheduleStore();
24
+ groupStore;
23
25
  commands;
24
26
  background;
25
27
  sdkRouter = new SimSchedulerSdkCommandRouter(this);
@@ -28,10 +30,16 @@ export class SimScheduler extends SimSchedulerInspection {
28
30
  });
29
31
  constructor(properties = {}) {
30
32
  super();
31
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
33
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), } = properties;
34
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
32
35
  this.background = background;
36
+ this.groupStore = new SimSchedulerScheduleGroupStore({
37
+ accountRegionScope,
38
+ clock: background,
39
+ });
33
40
  this.commands = new SimSchedulerCommands({
34
41
  schedules: this.scheduleStore,
42
+ groups: this.groupStore,
35
43
  iam,
36
44
  background,
37
45
  deliveryTargets: properties.deliveryTargets,
@@ -82,6 +90,34 @@ export class SimScheduler extends SimSchedulerInspection {
82
90
  await this.background.sequence();
83
91
  return this.commands.schedules.listSchedules(command, options);
84
92
  }
93
+ /**
94
+ * Handle a CreateScheduleGroup Command from the SDK.
95
+ */
96
+ async createScheduleGroup(command, options) {
97
+ await this.background.sequence();
98
+ return this.commands.groups.createScheduleGroup(command, options);
99
+ }
100
+ /**
101
+ * Handle a GetScheduleGroup Command from the SDK.
102
+ */
103
+ async getScheduleGroup(command, options) {
104
+ await this.background.sequence();
105
+ return this.commands.groups.getScheduleGroup(command, options);
106
+ }
107
+ /**
108
+ * Handle a DeleteScheduleGroup Command from the SDK.
109
+ */
110
+ async deleteScheduleGroup(command, options) {
111
+ await this.background.sequence();
112
+ return this.commands.groups.deleteScheduleGroup(command, options);
113
+ }
114
+ /**
115
+ * Handle a ListScheduleGroups Command from the SDK.
116
+ */
117
+ async listScheduleGroups(command, options) {
118
+ await this.background.sequence();
119
+ return this.commands.groups.listScheduleGroups(command, options);
120
+ }
85
121
  /**
86
122
  * Get this service's SDK Command router for SDK client interception.
87
123
  */
@@ -1,3 +1,4 @@
1
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
1
2
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
2
3
  import type { SimCfnDynamicReference, SimCfnDynamicReferenceResolution, SimCfnDynamicReferenceResolver } from "../../../cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js";
3
4
  import type { SimSecretsManager } from "../../sim-secrets-manager.js";
@@ -6,16 +7,19 @@ interface SimCfnSecretsManagerDynamicReferenceResolverProperties {
6
7
  readonly secretsManager: SimSecretsManager;
7
8
  /** Secrets Manager for another Account and Region, which a full ARN names. */
8
9
  readonly secretsManagerIn: (scope: SimAwsAccountRegionScope) => SimSecretsManager;
10
+ /** The principal the deployment runs as, which the secret is read as. */
11
+ readonly caller?: SimAwsCaller | undefined;
9
12
  }
10
13
  /**
11
14
  * Answers `{{resolve:secretsmanager:...}}` references from simulated Secrets
12
15
  * Manager.
13
16
  *
14
- * The secret is read as the caller deploying the Stack would read it, at the
15
- * point the Resource holding the reference is created. Real CloudFormation
16
- * makes no dependency out of a dynamic reference, so a secret another Resource
17
- * of the same Stack creates is only there in time if the template says
18
- * `DependsOn`.
17
+ * The secret is read as the principal the deployment names, at the point the
18
+ * Resource holding the reference is created. A deployment naming none reads as
19
+ * the Account root, which is Secrets Manager's own default. Real
20
+ * CloudFormation makes no dependency out of a dynamic reference, so a secret
21
+ * another Resource of the same Stack creates is only there in time if the
22
+ * template says `DependsOn`.
19
23
  *
20
24
  * Reading goes through the ordinary GetSecretValue command, which decrypts the
21
25
  * version through simulated KMS, so the answer comes back as a promise. That
@@ -29,22 +33,16 @@ interface SimCfnSecretsManagerDynamicReferenceResolverProperties {
29
33
  export declare class SimCfnSecretsManagerDynamicReferenceResolver implements SimCfnDynamicReferenceResolver {
30
34
  private readonly secretsManager;
31
35
  private readonly secretsManagerIn;
36
+ private readonly callerOptions;
32
37
  constructor(properties: SimCfnSecretsManagerDynamicReferenceResolverProperties);
33
38
  /**
34
39
  * Resolve one reference to the secret value it names.
35
40
  */
36
41
  resolve(reference: SimCfnDynamicReference): Promise<SimCfnDynamicReferenceResolution>;
37
42
  /**
38
- * Read the version the reference selects, or the current one.
43
+ * The Secrets Manager a reference reads from: the Stack's own, or the one a
44
+ * full secret ARN names.
39
45
  */
40
- private read;
41
- /**
42
- * The value a reference Secrets Manager could not answer resolves to.
43
- *
44
- * The shape follows the `ssm` references beside it, and CDK before them,
45
- * which fills an unresolved context lookup with `dummy-value-for-<name>`. A
46
- * test reading one back sees where it came from.
47
- */
48
- private standIn;
46
+ private secretsManagerFor;
49
47
  }
50
48
  export {};
@@ -1,15 +1,18 @@
1
+ import { simCfnResourceCallerOptions, } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
1
2
  import { SimSecretsManagerError } from "../../error/sim-secrets-manager.error.js";
2
- import { simCfnSecretsManagerJsonKeyValue } from "./sim-cfn-secrets-manager-json-key.js";
3
+ import { simCfnSecretsManagerReferenceStandIn } from "./sim-cfn-secrets-manager-reference-stand-in.js";
4
+ import { simCfnSecretsManagerReferenceValue } from "./sim-cfn-secrets-manager-reference-value.js";
3
5
  import { parseSimCfnSecretsManagerReference, SimCfnSecretsManagerReferenceProblem, } from "./sim-cfn-secrets-manager-reference-body.js";
4
6
  /**
5
7
  * Answers `{{resolve:secretsmanager:...}}` references from simulated Secrets
6
8
  * Manager.
7
9
  *
8
- * The secret is read as the caller deploying the Stack would read it, at the
9
- * point the Resource holding the reference is created. Real CloudFormation
10
- * makes no dependency out of a dynamic reference, so a secret another Resource
11
- * of the same Stack creates is only there in time if the template says
12
- * `DependsOn`.
10
+ * The secret is read as the principal the deployment names, at the point the
11
+ * Resource holding the reference is created. A deployment naming none reads as
12
+ * the Account root, which is Secrets Manager's own default. Real
13
+ * CloudFormation makes no dependency out of a dynamic reference, so a secret
14
+ * another Resource of the same Stack creates is only there in time if the
15
+ * template says `DependsOn`.
13
16
  *
14
17
  * Reading goes through the ordinary GetSecretValue command, which decrypts the
15
18
  * version through simulated KMS, so the answer comes back as a promise. That
@@ -23,9 +26,11 @@ import { parseSimCfnSecretsManagerReference, SimCfnSecretsManagerReferenceProble
23
26
  export class SimCfnSecretsManagerDynamicReferenceResolver {
24
27
  secretsManager;
25
28
  secretsManagerIn;
29
+ callerOptions;
26
30
  constructor(properties) {
27
31
  this.secretsManager = properties.secretsManager;
28
32
  this.secretsManagerIn = properties.secretsManagerIn;
33
+ this.callerOptions = simCfnResourceCallerOptions(properties.caller);
29
34
  }
30
35
  /**
31
36
  * Resolve one reference to the secret value it names.
@@ -35,54 +40,28 @@ export class SimCfnSecretsManagerDynamicReferenceResolver {
35
40
  try {
36
41
  const parsed = parseSimCfnSecretsManagerReference(reference.body);
37
42
  secretId = parsed.secretId;
38
- return { value: await this.read(parsed) };
43
+ return {
44
+ value: await simCfnSecretsManagerReferenceValue(this.secretsManagerFor(parsed.scope), parsed, this.callerOptions),
45
+ };
39
46
  }
40
47
  catch (error) {
41
48
  if (error instanceof SimCfnSecretsManagerReferenceProblem) {
42
- return this.standIn(reference, secretId, error.message);
49
+ return simCfnSecretsManagerReferenceStandIn(reference, secretId, error.message);
43
50
  }
44
51
  /* v8 ignore next 3 -- defensive: only Secrets Manager reaches here */
45
52
  if (!(error instanceof SimSecretsManagerError)) {
46
53
  throw error;
47
54
  }
48
- return this.standIn(reference, secretId, `and simulated Secrets Manager could not read it (${error.message})`);
55
+ return simCfnSecretsManagerReferenceStandIn(reference, secretId, `and simulated Secrets Manager could not read it (${error.message})`);
49
56
  }
50
57
  }
51
58
  /**
52
- * Read the version the reference selects, or the current one.
59
+ * The Secrets Manager a reference reads from: the Stack's own, or the one a
60
+ * full secret ARN names.
53
61
  */
54
- async read(reference) {
55
- const { secretId, scope, jsonKey, versionStage, versionId } = reference;
56
- const secretsManager = scope === undefined ? this.secretsManager : this.secretsManagerIn(scope);
57
- const read = await secretsManager.getSecretValue({
58
- input: {
59
- SecretId: secretId,
60
- VersionStage: versionStage,
61
- VersionId: versionId,
62
- },
63
- });
64
- const secretString = read.SecretString;
65
- if (secretString === undefined) {
66
- throw new SimCfnSecretsManagerReferenceProblem(`and '${secretId}' holds a binary value, which a dynamic reference ` +
67
- `cannot read`);
68
- }
69
- if (jsonKey === undefined) {
70
- return secretString;
71
- }
72
- return simCfnSecretsManagerJsonKeyValue(secretString, secretId, jsonKey);
73
- }
74
- /**
75
- * The value a reference Secrets Manager could not answer resolves to.
76
- *
77
- * The shape follows the `ssm` references beside it, and CDK before them,
78
- * which fills an unresolved context lookup with `dummy-value-for-<name>`. A
79
- * test reading one back sees where it came from.
80
- */
81
- standIn(reference, secretId, reason) {
82
- return {
83
- value: `dummy-value-for-${secretId}`,
84
- reason: `holds ${reference.text}, ${reason}, so the Resource is created ` +
85
- `with a stand-in value`,
86
- };
62
+ secretsManagerFor(scope) {
63
+ return scope === undefined
64
+ ? this.secretsManager
65
+ : this.secretsManagerIn(scope);
87
66
  }
88
67
  }
@@ -0,0 +1,9 @@
1
+ import type { SimCfnDynamicReference, SimCfnDynamicReferenceResolution } from "../../../cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js";
2
+ /**
3
+ * The value a reference Secrets Manager could not answer resolves to.
4
+ *
5
+ * The shape follows the `ssm` references beside it, and CDK before them, which
6
+ * fills an unresolved context lookup with `dummy-value-for-<name>`. A test
7
+ * reading one back sees where it came from.
8
+ */
9
+ export declare function simCfnSecretsManagerReferenceStandIn(reference: SimCfnDynamicReference, secretId: string, reason: string): SimCfnDynamicReferenceResolution;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The value a reference Secrets Manager could not answer resolves to.
3
+ *
4
+ * The shape follows the `ssm` references beside it, and CDK before them, which
5
+ * fills an unresolved context lookup with `dummy-value-for-<name>`. A test
6
+ * reading one back sees where it came from.
7
+ */
8
+ export function simCfnSecretsManagerReferenceStandIn(reference, secretId, reason) {
9
+ return {
10
+ value: `dummy-value-for-${secretId}`,
11
+ reason: `holds ${reference.text}, ${reason}, so the Resource is created ` +
12
+ `with a stand-in value`,
13
+ };
14
+ }
@@ -0,0 +1,12 @@
1
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
2
+ import type { SimSecretsManager } from "../../sim-secrets-manager.js";
3
+ import { type SimCfnSecretsManagerReference } from "./sim-cfn-secrets-manager-reference-body.js";
4
+ /**
5
+ * The secret value one parsed reference names.
6
+ *
7
+ * The version the reference selects, or the current one, read through the
8
+ * ordinary GetSecretValue command as the principal the deployment named. That
9
+ * decrypts the version through simulated KMS, which is why reading a secret
10
+ * has to be waited on.
11
+ */
12
+ export declare function simCfnSecretsManagerReferenceValue(secretsManager: SimSecretsManager, reference: SimCfnSecretsManagerReference, callerOptions: SimCfnResourceCallerOptions): Promise<string>;