@kensio/yulin 1.20.13 → 1.20.14

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 (535) hide show
  1. package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
  2. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
  3. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
  4. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
  5. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
  6. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
  7. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
  8. package/dist/service/acm/sim-acm.d.ts +1 -1
  9. package/dist/service/acm/sim-acm.js +3 -2
  10. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
  11. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
  12. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
  13. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
  14. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
  15. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
  16. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
  17. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
  18. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
  19. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
  20. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
  21. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
  22. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
  23. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
  24. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
  25. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
  26. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
  27. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
  28. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
  29. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
  30. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
  31. package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
  32. package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
  33. package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
  34. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
  35. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
  36. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
  37. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
  38. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
  39. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
  40. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
  41. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
  42. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
  43. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
  44. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
  45. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
  46. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
  47. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
  48. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
  49. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
  50. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
  51. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
  52. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
  53. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
  54. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
  55. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
  56. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
  57. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
  58. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
  59. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
  60. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
  61. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
  62. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
  63. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
  64. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
  65. package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
  66. package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
  67. package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
  68. package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
  69. package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
  70. package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
  71. package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
  72. package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
  73. package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
  74. package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
  75. package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
  76. package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
  77. package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
  78. package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
  79. package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
  80. package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
  81. package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
  82. package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
  83. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  84. package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
  85. package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
  86. package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
  87. package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
  88. package/dist/service/athena/sim-athena-executions.d.ts +1 -1
  89. package/dist/service/athena/sim-athena-executions.js +3 -2
  90. package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
  91. package/dist/service/bedrock/sim-bedrock.js +3 -2
  92. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
  93. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
  94. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  95. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  96. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  97. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
  98. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  99. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
  100. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  101. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
  102. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
  103. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
  104. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
  105. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  106. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  107. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  108. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
  109. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
  110. package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
  111. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +12 -0
  112. package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
  113. package/dist/service/cloudformation/sim-cloudformation.js +3 -2
  114. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
  115. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
  116. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  117. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  118. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
  119. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
  120. package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
  121. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
  122. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  123. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  124. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
  125. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  126. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
  127. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
  128. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
  129. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
  130. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
  131. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
  132. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
  133. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
  134. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
  135. package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
  136. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
  137. package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
  138. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
  139. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
  140. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
  141. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
  142. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
  143. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
  144. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
  145. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
  146. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
  147. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
  148. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
  149. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
  150. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
  151. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
  152. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
  153. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
  154. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
  155. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
  156. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
  157. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
  158. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
  159. package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
  160. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
  161. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
  162. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
  163. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
  164. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
  165. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
  166. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
  167. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
  168. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
  169. package/dist/service/dynamodb/sim-dynamodb.js +3 -2
  170. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
  171. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
  172. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
  173. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
  174. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
  175. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
  176. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
  177. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
  178. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
  179. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
  180. package/dist/service/ecs/sim-ecs-commands.js +3 -2
  181. package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
  182. package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
  183. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
  184. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
  185. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
  186. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
  187. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
  188. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
  189. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
  190. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
  191. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
  192. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
  193. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
  194. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
  195. package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
  196. package/dist/service/elbv2/sim-elbv2.js +3 -3
  197. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
  198. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
  199. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
  200. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
  201. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
  202. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
  203. package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
  204. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
  205. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
  206. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
  207. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
  208. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
  209. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
  210. package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
  211. package/dist/service/eventbridge/sim-event-bridge.js +3 -2
  212. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
  213. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
  214. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
  215. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
  216. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
  217. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
  218. package/dist/service/firehose/sim-firehose.d.ts +1 -1
  219. package/dist/service/firehose/sim-firehose.js +3 -2
  220. package/dist/service/glue/sim-glue.d.ts +1 -1
  221. package/dist/service/glue/sim-glue.js +3 -2
  222. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +15 -11
  223. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +5 -18
  224. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
  225. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
  226. package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
  227. package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
  228. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
  229. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
  230. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
  231. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
  232. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
  233. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
  234. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
  235. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
  236. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
  237. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
  238. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
  239. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
  240. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
  241. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  242. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
  243. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
  244. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
  245. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
  246. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
  247. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
  248. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
  249. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
  250. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
  251. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
  252. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
  253. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
  254. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
  255. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
  256. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
  257. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
  258. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
  259. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
  260. package/dist/service/iam/authorize/sim-iam-decision.d.ts +12 -0
  261. package/dist/service/iam/authorize/sim-iam-decision.js +14 -0
  262. package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
  263. package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
  264. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
  265. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
  266. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
  267. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
  268. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
  269. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
  270. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
  271. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
  272. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
  273. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
  274. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
  275. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
  276. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
  277. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
  278. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
  279. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
  280. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
  281. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
  282. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
  283. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
  284. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
  285. package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
  286. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
  287. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
  288. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
  289. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
  290. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
  291. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
  292. package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
  293. package/dist/service/kinesis/sim-kinesis.js +3 -2
  294. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
  295. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
  296. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
  297. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
  298. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
  299. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
  300. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
  301. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
  302. package/dist/service/kms/sim-kms-commands.d.ts +1 -1
  303. package/dist/service/kms/sim-kms-commands.js +3 -2
  304. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
  305. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
  306. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
  307. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
  308. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
  309. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
  310. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
  311. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
  312. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
  313. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
  314. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
  315. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
  316. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
  317. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
  318. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
  319. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
  320. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
  321. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
  322. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
  323. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
  324. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
  325. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
  326. package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
  327. package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
  328. package/dist/service/lambda/sim-lambda-commands.js +3 -2
  329. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
  330. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
  331. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
  332. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
  333. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
  334. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
  335. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
  336. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
  337. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
  338. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
  339. package/dist/service/logs/sim-logs-commands.d.ts +1 -1
  340. package/dist/service/logs/sim-logs-commands.js +3 -2
  341. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
  342. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
  343. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
  344. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
  345. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
  346. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
  347. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
  348. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
  349. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
  350. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
  351. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
  352. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
  353. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
  354. package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
  355. package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
  356. package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
  357. package/dist/service/rekognition/sim-rekognition.js +3 -2
  358. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
  359. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
  360. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
  361. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
  362. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
  363. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
  364. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
  365. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
  366. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
  367. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
  368. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
  369. package/dist/service/route53/sim-route53.d.ts +1 -1
  370. package/dist/service/route53/sim-route53.js +5 -2
  371. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
  372. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
  373. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
  374. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
  375. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
  376. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
  377. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
  378. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
  379. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
  380. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
  381. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
  382. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
  383. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
  384. package/dist/service/s3/sim-s3-commands.d.ts +1 -1
  385. package/dist/service/s3/sim-s3-commands.js +3 -2
  386. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
  387. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
  388. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
  389. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
  390. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
  391. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
  392. package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
  393. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
  394. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
  395. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
  396. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
  397. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
  398. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
  399. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
  400. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
  401. package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
  402. package/dist/service/scheduler/command/group/group.command.js +1 -0
  403. package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
  404. package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
  405. package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
  406. package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
  407. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
  408. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
  409. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
  410. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
  411. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
  412. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
  413. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  414. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
  415. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
  416. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
  417. package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
  418. package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
  419. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
  420. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
  421. package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
  422. package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
  423. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
  424. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
  425. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
  426. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
  427. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
  428. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
  429. package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
  430. package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
  431. package/dist/service/scheduler/index.d.ts +2 -0
  432. package/dist/service/scheduler/index.js +2 -0
  433. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
  434. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
  435. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
  436. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
  437. package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
  438. package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
  439. package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
  440. package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
  441. package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
  442. package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
  443. package/dist/service/scheduler/sim-scheduler.js +38 -2
  444. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
  445. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
  446. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
  447. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
  448. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
  449. package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
  450. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
  451. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
  452. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
  453. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
  454. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
  455. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
  456. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
  457. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
  458. package/dist/service/ses/sim-ses-commands.d.ts +1 -1
  459. package/dist/service/ses/sim-ses-commands.js +3 -2
  460. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
  461. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
  462. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
  463. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
  464. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
  465. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
  466. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
  467. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
  468. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
  469. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
  470. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
  471. package/dist/service/sns/sim-sns.d.ts +1 -1
  472. package/dist/service/sns/sim-sns.js +3 -2
  473. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
  474. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
  475. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
  476. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
  477. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
  478. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
  479. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
  480. package/dist/service/sqs/sim-sqs.d.ts +1 -1
  481. package/dist/service/sqs/sim-sqs.js +3 -2
  482. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
  483. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
  484. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
  485. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
  486. package/dist/service/ssm/sim-ssm.d.ts +1 -1
  487. package/dist/service/ssm/sim-ssm.js +3 -2
  488. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
  489. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
  490. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
  491. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
  492. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
  493. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
  494. package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
  495. package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
  496. package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
  497. package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
  498. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
  499. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
  500. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
  501. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
  502. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
  503. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
  504. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
  505. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
  506. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  507. package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
  508. package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
  509. package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
  510. package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
  511. package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
  512. package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
  513. package/dist/service/sts/service-role/sim-service-role.js +7 -21
  514. package/dist/service/sts/sim-sts.js +1 -0
  515. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
  516. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
  517. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
  518. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
  519. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
  520. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
  521. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
  522. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
  523. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
  524. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
  525. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
  526. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
  527. package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
  528. package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
  529. package/dist/util/clock/sim-clock-control.d.ts +3 -1
  530. package/dist/util/clock/sim-clock-control.js +2 -0
  531. package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
  532. package/dist/util/clock/sim-controllable-clock.js +2 -0
  533. package/dist/util/clock/sim-duration.d.ts +6 -2
  534. package/dist/util/clock/sim-duration.js +8 -1
  535. package/package.json +1 -1
@@ -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 {};
@@ -0,0 +1,72 @@
1
+ import { SimSchedulerConflictException } from "../../error/sim-scheduler.error.js";
2
+ import { SimSchedulerPage } from "../sim-scheduler-page.js";
3
+ import { narrowedScheduleGroups } from "./sim-scheduler-listed-groups.js";
4
+ import { refuseUnsimulatedGroupInput } from "./sim-scheduler-unsimulated-group-input.js";
5
+ import { describedScheduleGroup, listedScheduleGroup, } from "./sim-scheduler-described-group.js";
6
+ /**
7
+ * The commands that manage schedule groups.
8
+ *
9
+ * All four in one handler, unlike schedules, where creating and updating are
10
+ * their own. A group is a name. There is no request to read into a resource,
11
+ * and no update at all, since `Name` is the only thing a group has and AWS
12
+ * replaces the group to change it.
13
+ */
14
+ export class SimSchedulerGroupCommands {
15
+ groups;
16
+ schedules;
17
+ access;
18
+ constructor(properties) {
19
+ this.groups = properties.groups;
20
+ this.schedules = properties.schedules;
21
+ this.access = properties.access;
22
+ }
23
+ /**
24
+ * Create a schedule group.
25
+ */
26
+ createScheduleGroup(command, options) {
27
+ const input = command.input;
28
+ refuseUnsimulatedGroupInput(input);
29
+ const groupName = this.access.authorized("scheduler:CreateScheduleGroup", input.Name, options);
30
+ if (this.groups.find(groupName) !== undefined) {
31
+ throw new SimSchedulerConflictException(`Schedule group ${groupName} already exists.`);
32
+ }
33
+ return {
34
+ $metadata: {},
35
+ ScheduleGroupArn: this.groups.create(groupName).arn,
36
+ };
37
+ }
38
+ /**
39
+ * Describe a schedule group.
40
+ */
41
+ getScheduleGroup(command, options) {
42
+ const group = this.access.require("scheduler:GetScheduleGroup", command.input.Name, options);
43
+ return { $metadata: {}, ...describedScheduleGroup(group) };
44
+ }
45
+ /**
46
+ * Delete a schedule group, and the schedules in it.
47
+ *
48
+ * AWS deletes the schedules with the group rather than refusing a group that
49
+ * still holds some, and leaves the group in a `DELETING` state until they
50
+ * have gone. Here they go in the same call, so nothing is ever seen in that
51
+ * state.
52
+ */
53
+ deleteScheduleGroup(command, options) {
54
+ const group = this.access.requireDeletable("scheduler:DeleteScheduleGroup", command.input.Name, options);
55
+ this.schedules.removeGroup(group.name);
56
+ this.groups.remove(group);
57
+ return { $metadata: {} };
58
+ }
59
+ /**
60
+ * List the schedule groups of this scope, in creation order.
61
+ */
62
+ listScheduleGroups(command, options) {
63
+ const input = command.input;
64
+ this.access.authorizeListing("scheduler:ListScheduleGroups", options);
65
+ const page = new SimSchedulerPage(narrowedScheduleGroups(this.groups.all, input).map(listedScheduleGroup), input.MaxResults, input.NextToken);
66
+ return {
67
+ $metadata: {},
68
+ ScheduleGroups: page.items,
69
+ NextToken: page.nextToken,
70
+ };
71
+ }
72
+ }
@@ -0,0 +1,6 @@
1
+ import type { SimSchedulerScheduleGroup } from "../../group/sim-scheduler-schedule-group.js";
2
+ import type { SimListScheduleGroupsCommandInput } from "./group.command.js";
3
+ /**
4
+ * The groups a listing reports, narrowed by what it asked for.
5
+ */
6
+ export declare function narrowedScheduleGroups(groups: readonly SimSchedulerScheduleGroup[], input: SimListScheduleGroupsCommandInput): readonly SimSchedulerScheduleGroup[];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The groups a listing reports, narrowed by what it asked for.
3
+ */
4
+ export function narrowedScheduleGroups(groups, input) {
5
+ const prefix = input.NamePrefix;
6
+ if (prefix === undefined) {
7
+ return groups;
8
+ }
9
+ return groups.filter((group) => group.name.startsWith(prefix));
10
+ }
@@ -0,0 +1,14 @@
1
+ import type { SimCreateScheduleGroupCommandInput } from "./group.command.js";
2
+ /**
3
+ * Refuse the group request inputs this simulation does not model.
4
+ *
5
+ * Tagging is most of what AWS says a group is for, and nothing here reads a
6
+ * tag back, so a group created without them would look tagged to whoever
7
+ * asked and untagged to everything else. An empty list asks for no tags, so
8
+ * there is nothing to drop and nothing to refuse.
9
+ *
10
+ * A template is treated differently. The CDK puts a Stack's tags on a group
11
+ * without being asked, and failing a Stack over them would be a refusal nobody
12
+ * wrote.
13
+ */
14
+ export declare function refuseUnsimulatedGroupInput(input: SimCreateScheduleGroupCommandInput): void;
@@ -0,0 +1,19 @@
1
+ import { SimSchedulerUnsimulatedInputException } from "../../error/sim-scheduler.error.js";
2
+ /**
3
+ * Refuse the group request inputs this simulation does not model.
4
+ *
5
+ * Tagging is most of what AWS says a group is for, and nothing here reads a
6
+ * tag back, so a group created without them would look tagged to whoever
7
+ * asked and untagged to everything else. An empty list asks for no tags, so
8
+ * there is nothing to drop and nothing to refuse.
9
+ *
10
+ * A template is treated differently. The CDK puts a Stack's tags on a group
11
+ * without being asked, and failing a Stack over them would be a refusal nobody
12
+ * wrote.
13
+ */
14
+ export function refuseUnsimulatedGroupInput(input) {
15
+ if (input.Tags !== undefined && input.Tags.length > 0) {
16
+ throw new SimSchedulerUnsimulatedInputException("Schedule group tags are not simulated, so CreateScheduleGroup " +
17
+ "refuses them rather than dropping them");
18
+ }
19
+ }
@@ -26,6 +26,7 @@ export class SimSchedulerCreateSchedule {
26
26
  const input = command.input;
27
27
  const requested = this.access.requested(input);
28
28
  this.access.authorize("scheduler:CreateSchedule", requested, options);
29
+ this.access.requireGroup(requested.groupName);
29
30
  if (this.schedules.find(requested.groupName, requested.name.value) !==
30
31
  undefined) {
31
32
  throw new SimSchedulerConflictException(`Schedule ${requested.name.value} already exists in group ` +
@@ -1,4 +1,5 @@
1
1
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimSchedulerScheduleGroupStore } from "../../group/sim-scheduler-schedule-group-store.js";
2
3
  import { SimSchedulerScheduleName } from "../../schedule/sim-scheduler-schedule-name.js";
3
4
  import type { SimSchedulerSchedule } from "../../schedule/sim-scheduler-schedule.js";
4
5
  import type { SimSchedulerScheduleStore } from "../../schedule/sim-scheduler-schedule-store.js";
@@ -13,6 +14,7 @@ export interface SimSchedulerRequestedSchedule {
13
14
  }
14
15
  interface SimSchedulerScheduleAccessProperties {
15
16
  readonly schedules: SimSchedulerScheduleStore;
17
+ readonly groups: SimSchedulerScheduleGroupStore;
16
18
  readonly authorizer: SimSchedulerAuthorizer;
17
19
  readonly accountRegionScope: SimAwsAccountRegionScope;
18
20
  }
@@ -29,6 +31,7 @@ interface SimSchedulerScheduleRequest {
29
31
  */
30
32
  export declare class SimSchedulerScheduleAccess {
31
33
  private readonly schedules;
34
+ private readonly groups;
32
35
  private readonly authorizer;
33
36
  private readonly accountRegionScope;
34
37
  constructor(properties: SimSchedulerScheduleAccessProperties);
@@ -41,6 +44,19 @@ export declare class SimSchedulerScheduleAccess {
41
44
  * exist.
42
45
  */
43
46
  authorize(action: string, requested: SimSchedulerRequestedSchedule, options?: SimSchedulerRequestOptions): void;
47
+ /**
48
+ * Ensure the group a request names is there, which AWS requires of every
49
+ * request naming one.
50
+ *
51
+ * Real Scheduler refuses a schedule whose `GroupName` names no group rather
52
+ * than creating it in `default`, and so does this. The group is in a
53
+ * schedule's ARN, and a schedule quietly moved would carry an ARN naming a
54
+ * group it had never been put in.
55
+ *
56
+ * Asked after the caller is authorized, so a caller with no permission
57
+ * learns nothing about which groups exist.
58
+ */
59
+ requireGroup(groupName: string): void;
44
60
  /**
45
61
  * Resolve the schedule a request names, authorizing the action first.
46
62
  */
@@ -9,10 +9,12 @@ import { requestedScheduleGroupName, SimSchedulerScheduleName, } from "../../sch
9
9
  */
10
10
  export class SimSchedulerScheduleAccess {
11
11
  schedules;
12
+ groups;
12
13
  authorizer;
13
14
  accountRegionScope;
14
15
  constructor(properties) {
15
16
  this.schedules = properties.schedules;
17
+ this.groups = properties.groups;
16
18
  this.authorizer = properties.authorizer;
17
19
  this.accountRegionScope = properties.accountRegionScope;
18
20
  }
@@ -30,7 +32,22 @@ export class SimSchedulerScheduleAccess {
30
32
  * exist.
31
33
  */
32
34
  authorize(action, requested, options) {
33
- this.authorizer.authorizeSchedule(action, this.arnFor(requested), options);
35
+ this.authorizer.authorizeResource(action, this.arnFor(requested), options);
36
+ }
37
+ /**
38
+ * Ensure the group a request names is there, which AWS requires of every
39
+ * request naming one.
40
+ *
41
+ * Real Scheduler refuses a schedule whose `GroupName` names no group rather
42
+ * than creating it in `default`, and so does this. The group is in a
43
+ * schedule's ARN, and a schedule quietly moved would carry an ARN naming a
44
+ * group it had never been put in.
45
+ *
46
+ * Asked after the caller is authorized, so a caller with no permission
47
+ * learns nothing about which groups exist.
48
+ */
49
+ requireGroup(groupName) {
50
+ this.groups.require(groupName);
34
51
  }
35
52
  /**
36
53
  * Resolve the schedule a request names, authorizing the action first.
@@ -38,6 +55,7 @@ export class SimSchedulerScheduleAccess {
38
55
  require(action, request, options) {
39
56
  const requested = this.requested(request);
40
57
  this.authorize(action, requested, options);
58
+ this.requireGroup(requested.groupName);
41
59
  return this.schedules.require(requested.groupName, requested.name.value);
42
60
  }
43
61
  /**
@@ -48,8 +66,10 @@ export class SimSchedulerScheduleAccess {
48
66
  * listing by what the caller can reach.
49
67
  */
50
68
  listedGroupName(action, requested, options) {
51
- this.authorizer.authorizeAnySchedule(action, options);
52
- return requestedScheduleGroupName(requested);
69
+ this.authorizer.authorizeAnyResource(action, options);
70
+ const groupName = requestedScheduleGroupName(requested);
71
+ this.requireGroup(groupName);
72
+ return groupName;
53
73
  }
54
74
  /**
55
75
  * The ARN a schedule of this name in this group has, or would have.
@@ -1 +1,2 @@
1
1
  export type { SimCreateScheduleCommand, SimCreateScheduleCommandOutput, SimDeleteScheduleCommand, SimDeleteScheduleCommandInput, SimDeleteScheduleCommandOutput, SimGetScheduleCommand, SimGetScheduleCommandInput, SimGetScheduleCommandOutput, SimListSchedulesCommand, SimListSchedulesCommandInput, SimListSchedulesCommandOutput, SimSchedulerFlexibleTimeWindow, SimSchedulerListedSchedule, SimSchedulerRequestTarget, SimSchedulerScheduleInput, SimUpdateScheduleCommand, SimUpdateScheduleCommandOutput, } from "./schedule/schedule.command.js";
2
+ export type { SimCreateScheduleGroupCommand, SimCreateScheduleGroupCommandInput, SimCreateScheduleGroupCommandOutput, SimDeleteScheduleGroupCommand, SimDeleteScheduleGroupCommandInput, SimDeleteScheduleGroupCommandOutput, SimGetScheduleGroupCommand, SimGetScheduleGroupCommandInput, SimGetScheduleGroupCommandOutput, SimListScheduleGroupsCommand, SimListScheduleGroupsCommandInput, SimListScheduleGroupsCommandOutput, SimSchedulerListedScheduleGroup, SimSchedulerTag, } from "./group/group.command.js";