@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
@@ -0,0 +1,37 @@
1
+ /** An empty accumulator, which is what an aggregate over no rows answers from. */
2
+ export const noDistinctValues = "[]";
3
+ /**
4
+ * This value with one more added, where it is not null.
5
+ *
6
+ * Trino and SQLite both leave a null out of a distinct count, so a null row
7
+ * adds nothing.
8
+ */
9
+ export function withDistinctValue(accumulator, value) {
10
+ if (value === null) {
11
+ return accumulator;
12
+ }
13
+ const seen = new Set(JSON.parse(accumulator));
14
+ seen.add(keyOf(value));
15
+ return JSON.stringify([...seen]);
16
+ }
17
+ /** How many distinct values this accumulator saw. */
18
+ export function countedDistinctValues(accumulator) {
19
+ return JSON.parse(accumulator).length;
20
+ }
21
+ /**
22
+ * One value as the key that tells it apart from the others.
23
+ *
24
+ * The tag is what keeps the number `1` and the text `'1'` apart, which is how
25
+ * SQLite keeps them apart too. A whole number arrives as a `bigint` or as a
26
+ * `number` by its size alone, so both take the same tag and the same spelling.
27
+ * Bytes are keyed by their hex, since a digest is a blob here and two rows
28
+ * carrying the same digest are one value.
29
+ */
30
+ function keyOf(value) {
31
+ if (typeof value === "string") {
32
+ return `s:${value}`;
33
+ }
34
+ return value instanceof Uint8Array
35
+ ? `b:${Buffer.from(value).toString("hex")}`
36
+ : `n:${String(value)}`;
37
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The 64-bit arithmetic both hand-written hashes are built on.
3
+ *
4
+ * Neither xxHash64 nor MurmurHash3 has an implementation in Node, and both are
5
+ * defined over 64-bit words. A BigInt carries as many bits as it is given, so
6
+ * every operation masks its answer back down to the width the algorithm works
7
+ * in.
8
+ */
9
+ /** Every bit of one 64-bit word. */
10
+ export declare const hashWord: bigint;
11
+ /** One word rotated left, with the bits carried off the top brought back in. */
12
+ export declare function rotateWord(value: bigint, by: number): bigint;
13
+ /** Whatever bytes are left over, read as the low end of a word. */
14
+ export declare function partialWord(bytes: Uint8Array): bigint;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The 64-bit arithmetic both hand-written hashes are built on.
3
+ *
4
+ * Neither xxHash64 nor MurmurHash3 has an implementation in Node, and both are
5
+ * defined over 64-bit words. A BigInt carries as many bits as it is given, so
6
+ * every operation masks its answer back down to the width the algorithm works
7
+ * in.
8
+ */
9
+ /** Every bit of one 64-bit word. */
10
+ export const hashWord = (1n << 64n) - 1n;
11
+ /** One word rotated left, with the bits carried off the top brought back in. */
12
+ export function rotateWord(value, by) {
13
+ return ((value << BigInt(by)) | (value >> BigInt(64 - by))) & hashWord;
14
+ }
15
+ /** Whatever bytes are left over, read as the low end of a word. */
16
+ export function partialWord(bytes) {
17
+ let value = 0n;
18
+ for (const [index, byte] of bytes.entries()) {
19
+ value |= BigInt(byte) << BigInt(8 * index);
20
+ }
21
+ return value;
22
+ }
@@ -0,0 +1,15 @@
1
+ /** The two accumulators MurmurHash3 carries, the low half first. */
2
+ export type SimAthenaMurmurHalves = readonly [bigint, bigint];
3
+ /** Two words scrambled into the keys one round mixes in. */
4
+ export declare function murmurKeys(low: bigint, high: bigint): SimAthenaMurmurHalves;
5
+ /**
6
+ * Both accumulators taken through one round, the low half leading.
7
+ *
8
+ * The high half is crossed with the low half the round has just written, which
9
+ * is what carries a block into every later one.
10
+ */
11
+ export declare function murmurRound(halves: SimAthenaMurmurHalves, keys: SimAthenaMurmurHalves): SimAthenaMurmurHalves;
12
+ /** Each accumulator with the other added into it, the low half first. */
13
+ export declare function murmurCrossed(halves: SimAthenaMurmurHalves): SimAthenaMurmurHalves;
14
+ /** The final mix, which spreads every bit of one half over its word. */
15
+ export declare function murmurAvalanche(value: bigint): bigint;
@@ -0,0 +1,37 @@
1
+ import { hashWord as word, rotateWord as rotate, } from "./sim-athena-hash-words.js";
2
+ const constant1 = 0x87c37b91114253d5n;
3
+ const constant2 = 0x4cf5ad432745937fn;
4
+ /** Two words scrambled into the keys one round mixes in. */
5
+ export function murmurKeys(low, high) {
6
+ return [
7
+ scramble(low, constant1, 31, constant2),
8
+ scramble(high, constant2, 33, constant1),
9
+ ];
10
+ }
11
+ /**
12
+ * Both accumulators taken through one round, the low half leading.
13
+ *
14
+ * The high half is crossed with the low half the round has just written, which
15
+ * is what carries a block into every later one.
16
+ */
17
+ export function murmurRound(halves, keys) {
18
+ const low = mixed(halves[0] ^ keys[0], halves[1], 27, 0x52dce729n);
19
+ return [low, mixed(halves[1] ^ keys[1], low, 31, 0x38495ab5n)];
20
+ }
21
+ /** Each accumulator with the other added into it, the low half first. */
22
+ export function murmurCrossed(halves) {
23
+ const low = (halves[0] + halves[1]) & word;
24
+ return [low, (halves[1] + low) & word];
25
+ }
26
+ /** The final mix, which spreads every bit of one half over its word. */
27
+ export function murmurAvalanche(value) {
28
+ let spread = ((value ^ (value >> 33n)) * 0xff51afd7ed558ccdn) & word;
29
+ spread = ((spread ^ (spread >> 33n)) * 0xc4ceb9fe1a85ec53n) & word;
30
+ return spread ^ (spread >> 33n);
31
+ }
32
+ function scramble(value, before, by, after) {
33
+ return (rotate((value * before) & word, by) * after) & word;
34
+ }
35
+ function mixed(half, other, by, added) {
36
+ return ((rotate(half, by) + other) * 5n + added) & word;
37
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The 128-bit MurmurHash3 of these bytes, seeded with zero, as Trino's
3
+ * `murmur3` seeds it.
4
+ *
5
+ * This is the x64 variant, which answers differently from the x86 one of the
6
+ * same width. Trino writes each half of the answer little-endian, which is what
7
+ * makes `to_hex(murmur3(from_hex('69A69A69')))` read as
8
+ * `BA5855635569B42F4920372CA0E396EF`. That is the one worked example Trino's
9
+ * own documentation carries.
10
+ */
11
+ export declare function simAthenaMurmur3(bytes: Uint8Array): Uint8Array;
@@ -0,0 +1,51 @@
1
+ import { partialWord } from "./sim-athena-hash-words.js";
2
+ import { murmurAvalanche, murmurCrossed, murmurKeys, murmurRound, } from "./sim-athena-murmur3-mixing.js";
3
+ /** How many bytes one round of the body reads. */
4
+ const block = 16;
5
+ /**
6
+ * The 128-bit MurmurHash3 of these bytes, seeded with zero, as Trino's
7
+ * `murmur3` seeds it.
8
+ *
9
+ * This is the x64 variant, which answers differently from the x86 one of the
10
+ * same width. Trino writes each half of the answer little-endian, which is what
11
+ * makes `to_hex(murmur3(from_hex('69A69A69')))` read as
12
+ * `BA5855635569B42F4920372CA0E396EF`. That is the one worked example Trino's
13
+ * own documentation carries.
14
+ */
15
+ export function simAthenaMurmur3(bytes) {
16
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
17
+ const body = bytes.length - (bytes.length % block);
18
+ let halves = [0n, 0n];
19
+ for (let at = 0; at < body; at += block) {
20
+ halves = murmurRound(halves, murmurKeys(view.getBigUint64(at, true), view.getBigUint64(at + 8, true)));
21
+ }
22
+ return written(finish(halves, bytes.subarray(body), bytes.length));
23
+ }
24
+ /**
25
+ * Whatever the body left over, then the final mix over both accumulators.
26
+ *
27
+ * The tail bytes are read low to high, which is the little-endian read of a
28
+ * partial word. Neither half is rotated for them and neither is crossed with
29
+ * the other, and a tail short enough to leave a half empty scrambles a zero
30
+ * into it, which changes nothing.
31
+ */
32
+ function finish(halves, tail, length) {
33
+ const keys = murmurKeys(partialWord(tail.subarray(0, 8)), partialWord(tail.subarray(8)));
34
+ const counted = BigInt(length);
35
+ const carried = murmurCrossed([
36
+ halves[0] ^ keys[0] ^ counted,
37
+ halves[1] ^ keys[1] ^ counted,
38
+ ]);
39
+ return murmurCrossed([
40
+ murmurAvalanche(carried[0]),
41
+ murmurAvalanche(carried[1]),
42
+ ]);
43
+ }
44
+ /** Both halves as bytes, each one written little-endian, as Trino writes them. */
45
+ function written(halves) {
46
+ const digest = new Uint8Array(block);
47
+ const view = new DataView(digest.buffer);
48
+ view.setBigUint64(0, halves[0], true);
49
+ view.setBigUint64(8, halves[1], true);
50
+ return digest;
51
+ }
@@ -21,3 +21,12 @@ export declare function isExplicitNull(values: readonly SQLOutputValue[], index:
21
21
  export declare function shimText(value: SQLOutputValue | undefined): string | undefined;
22
22
  /** One argument as a number, or nothing where it is not one. */
23
23
  export declare function shimNumber(value: SQLOutputValue | undefined): number | undefined;
24
+ /**
25
+ * One argument as bytes, or nothing where it is null.
26
+ *
27
+ * The binary functions take a `varbinary`, and Trino refuses text where one is
28
+ * wanted rather than converting it. SQLite has no such analysis to run, so a
29
+ * column of text reaching `sha256` without a `to_utf8` around it is hashed as
30
+ * its UTF-8 bytes, which is what the missing call would have produced.
31
+ */
32
+ export declare function shimBytes(value: SQLOutputValue | undefined): Uint8Array | undefined;
@@ -6,7 +6,20 @@
6
6
  * with an optional argument would stop resolving.
7
7
  */
8
8
  export function simAthenaScalarShim(database, name, implementation) {
9
- database.function(name, { varargs: true, deterministic: true }, implementation);
9
+ database.function(name, { varargs: true, deterministic: true }, (...values) => withEmptyBytes(implementation(...values)));
10
+ }
11
+ /**
12
+ * One answer, with an empty `varbinary` written so that SQLite keeps it.
13
+ *
14
+ * `node:sqlite` reads a zero length typed array as SQL NULL where its backing
15
+ * store carries no pointer, and `TextEncoder` answers with exactly that over an
16
+ * empty string. Copying those bytes gives the empty blob back, and `to_utf8('')`
17
+ * then answers the empty `varbinary` Trino answers with rather than a null.
18
+ */
19
+ function withEmptyBytes(answered) {
20
+ return answered instanceof Uint8Array && answered.length === 0
21
+ ? Buffer.alloc(0)
22
+ : answered;
10
23
  }
11
24
  /**
12
25
  * Whether an optional argument was written as an explicit `NULL`.
@@ -30,3 +43,19 @@ export function shimNumber(value) {
30
43
  const parsed = Number(value);
31
44
  return Number.isFinite(parsed) ? parsed : undefined;
32
45
  }
46
+ /**
47
+ * One argument as bytes, or nothing where it is null.
48
+ *
49
+ * The binary functions take a `varbinary`, and Trino refuses text where one is
50
+ * wanted rather than converting it. SQLite has no such analysis to run, so a
51
+ * column of text reaching `sha256` without a `to_utf8` around it is hashed as
52
+ * its UTF-8 bytes, which is what the missing call would have produced.
53
+ */
54
+ export function shimBytes(value) {
55
+ if (value === null || value === undefined) {
56
+ return undefined;
57
+ }
58
+ return value instanceof Uint8Array
59
+ ? value
60
+ : new TextEncoder().encode(String(value));
61
+ }
@@ -1,5 +1,6 @@
1
1
  import { simAthenaInstallAggregateShims } from "./sim-athena-aggregate-shims.js";
2
2
  import { simAthenaInstallArrayShims } from "./sim-athena-array-shims.js";
3
+ import { simAthenaInstallBinaryShims } from "./sim-athena-binary-shims.js";
3
4
  import { simAthenaInstallClockShims } from "./sim-athena-clock-shims.js";
4
5
  import { simAthenaInstallDateArithmeticShims } from "./sim-athena-date-arithmetic-shims.js";
5
6
  import { simAthenaInstallDateShims } from "./sim-athena-date-shims.js";
@@ -24,6 +25,7 @@ export function simAthenaInstallShims(database, startedAt) {
24
25
  simAthenaInstallJsonDocumentShims(database);
25
26
  simAthenaInstallArrayShims(database);
26
27
  simAthenaInstallStringShims(database);
28
+ simAthenaInstallBinaryShims(database);
27
29
  simAthenaInstallRegexpShims(database);
28
30
  simAthenaInstallUrlShims(database);
29
31
  simAthenaInstallAggregateShims(database);
@@ -7,11 +7,13 @@ export interface SimAthenaParserSql {
7
7
  /**
8
8
  * The statement as the parser's Athena grammar will take it.
9
9
  *
10
- * The two rewrites close a gap in that grammar rather than a gap in SQLite.
10
+ * Every rewrite here closes a gap in that grammar rather than a gap in SQLite.
11
11
  * `try_cast` becomes a plain cast, which changes meaning in the forgiving
12
12
  * direction, since SQLite already answers with a value where a cast fails
13
13
  * rather than failing the query. Trino writes `OFFSET` before `LIMIT` and every
14
- * other dialect writes it after.
14
+ * other dialect writes it after. `count(DISTINCT <expression>)` becomes a call
15
+ * to an aggregate of the simulator's own, since the grammar takes a column
16
+ * after `DISTINCT` and nothing else.
15
17
  */
16
18
  export declare function simAthenaSqlForParser(sql: string): SimAthenaParserSql;
17
19
  /**
@@ -1,3 +1,4 @@
1
+ import { simAthenaCountDistinct } from "./sim-athena-count-distinct.js";
1
2
  /**
2
3
  * `WITH ORDINALITY`, which the parser's Athena grammar refuses outright.
3
4
  *
@@ -9,14 +10,16 @@ const withOrdinality = /\s+WITH\s+ORDINALITY\b/giu;
9
10
  /**
10
11
  * The statement as the parser's Athena grammar will take it.
11
12
  *
12
- * The two rewrites close a gap in that grammar rather than a gap in SQLite.
13
+ * Every rewrite here closes a gap in that grammar rather than a gap in SQLite.
13
14
  * `try_cast` becomes a plain cast, which changes meaning in the forgiving
14
15
  * direction, since SQLite already answers with a value where a cast fails
15
16
  * rather than failing the query. Trino writes `OFFSET` before `LIMIT` and every
16
- * other dialect writes it after.
17
+ * other dialect writes it after. `count(DISTINCT <expression>)` becomes a call
18
+ * to an aggregate of the simulator's own, since the grammar takes a column
19
+ * after `DISTINCT` and nothing else.
17
20
  */
18
21
  export function simAthenaSqlForParser(sql) {
19
- const rewritten = sql
22
+ const rewritten = simAthenaCountDistinct(sql)
20
23
  .replaceAll(/\btry_cast\s*\(/giu, "CAST(")
21
24
  .replaceAll(/\bOFFSET\s+(\d+)\s+LIMIT\s+(\d+)/giu, (_match, offset, limit) => `LIMIT ${limit} OFFSET ${offset}`);
22
25
  const forParser = rewritten.replaceAll(withOrdinality, "");
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The xxHash64 of these bytes, seeded with zero, as Trino's `xxhash64` seeds
3
+ * it.
4
+ *
5
+ * Trino answers with the eight bytes of the hash written big-endian, which is
6
+ * what makes `to_hex(xxhash64(to_utf8('hello')))` read as `26C7827D889F6DA3`.
7
+ */
8
+ export declare function simAthenaXxHash64(bytes: Uint8Array): Uint8Array;
@@ -0,0 +1,82 @@
1
+ import { hashWord as word, rotateWord as rotate, } from "./sim-athena-hash-words.js";
2
+ const prime1 = 11400714785074694791n;
3
+ const prime2 = 14029467366897019727n;
4
+ const prime3 = 1609587929392839161n;
5
+ const prime4 = 9650029242287828579n;
6
+ const prime5 = 2870177450012600261n;
7
+ /** How many bytes one round of the four-lane body reads. */
8
+ const stripe = 32;
9
+ /**
10
+ * The xxHash64 of these bytes, seeded with zero, as Trino's `xxhash64` seeds
11
+ * it.
12
+ *
13
+ * Trino answers with the eight bytes of the hash written big-endian, which is
14
+ * what makes `to_hex(xxhash64(to_utf8('hello')))` read as `26C7827D889F6DA3`.
15
+ */
16
+ export function simAthenaXxHash64(bytes) {
17
+ const digest = new Uint8Array(8);
18
+ new DataView(digest.buffer).setBigUint64(0, hashOf(bytes), false);
19
+ return digest;
20
+ }
21
+ function hashOf(bytes) {
22
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
23
+ const body = bytes.length - (bytes.length % stripe);
24
+ let hash = bytes.length < stripe ? prime5 : mixedLanes(view, body);
25
+ hash = (hash + BigInt(bytes.length)) & word;
26
+ return avalanche(tail(view, bytes, hash, body));
27
+ }
28
+ /**
29
+ * The four lanes the body is read into, mixed back down to one word.
30
+ *
31
+ * Each lane takes every fourth eight bytes, which is what lets the real
32
+ * implementation read four of them at once.
33
+ */
34
+ function mixedLanes(view, body) {
35
+ let lanes = [
36
+ { value: (prime1 + prime2) & word, rotation: 1 },
37
+ { value: prime2, rotation: 7 },
38
+ { value: 0n, rotation: 12 },
39
+ { value: -prime1 & word, rotation: 18 },
40
+ ];
41
+ for (let at = 0; at < body; at += stripe) {
42
+ lanes = lanes.map((lane, index) => ({
43
+ ...lane,
44
+ value: round(lane.value, view.getBigUint64(at + index * 8, true)),
45
+ }));
46
+ }
47
+ let hash = lanes.reduce((sum, lane) => (sum + rotate(lane.value, lane.rotation)) & word, 0n);
48
+ for (const lane of lanes) {
49
+ hash = ((hash ^ round(0n, lane.value)) * prime1 + prime4) & word;
50
+ }
51
+ return hash;
52
+ }
53
+ /**
54
+ * Whatever the body left over, read eight bytes at a time, then four, then one.
55
+ */
56
+ function tail(view, bytes, hash, body) {
57
+ let mixed = hash;
58
+ let at = body;
59
+ for (; at + 8 <= bytes.length; at += 8) {
60
+ const lane = round(0n, view.getBigUint64(at, true));
61
+ mixed = (rotate(mixed ^ lane, 27) * prime1 + prime4) & word;
62
+ }
63
+ if (at + 4 <= bytes.length) {
64
+ const lane = (BigInt(view.getUint32(at, true)) * prime1) & word;
65
+ mixed = (rotate(mixed ^ lane, 23) * prime2 + prime3) & word;
66
+ at += 4;
67
+ }
68
+ for (; at < bytes.length; at += 1) {
69
+ const lane = (BigInt(view.getUint8(at)) * prime5) & word;
70
+ mixed = (rotate(mixed ^ lane, 11) * prime1) & word;
71
+ }
72
+ return mixed;
73
+ }
74
+ /** The final mix, which spreads every bit of the accumulator over the word. */
75
+ function avalanche(hash) {
76
+ let mixed = ((hash ^ (hash >> 33n)) * prime2) & word;
77
+ mixed = ((mixed ^ (mixed >> 29n)) * prime3) & word;
78
+ return mixed ^ (mixed >> 32n);
79
+ }
80
+ function round(lane, input) {
81
+ return (rotate((lane + input * prime2) & word, 31) * prime1) & word;
82
+ }
@@ -1,6 +1,6 @@
1
1
  import { type BackgroundScheduler } from "../../util/background/background.js";
2
2
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
3
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
4
  import type * as simAthenaCommands from "./command/sim-athena-command.types.js";
5
5
  import { SimAthenaCommands } from "./command/sim-athena-commands.js";
6
6
  import type { SimAthenaRequestOptions } from "./command/sim-athena-request-options.js";
@@ -1,6 +1,6 @@
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 { SimAthenaCommands } from "./command/sim-athena-commands.js";
5
5
  import { SimAthenaQueryEngine } from "./engine/sim-athena-query-engine.js";
6
6
  import { simAthenaTableObjects, } from "./engine/sim-athena-table-objects.js";
@@ -49,7 +49,8 @@ export class SimAthenaExecutions {
49
49
  #results = new SimAthenaQueryResults();
50
50
  #engine = new SimAthenaQueryEngine();
51
51
  constructor(properties = {}) {
52
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
52
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), } = properties;
53
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
53
54
  const writer = new SimAthenaResultWriter({
54
55
  s3: properties.s3 ?? new SimAthenaNoResultDestination(),
55
56
  });
@@ -1,6 +1,6 @@
1
1
  import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
2
2
  import { type BackgroundScheduler } from "../../util/background/background.js";
3
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
4
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
5
5
  import type { SimConverseCommand, SimConverseCommandOutput } from "./command/converse/converse.command.js";
6
6
  import type { SimConverseStreamCommand, SimConverseStreamCommandOutput } from "./command/converse/converse-stream.command.js";
@@ -1,5 +1,5 @@
1
1
  import { BackgroundTasks, } from "../../util/background/background.js";
2
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
2
+ import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
3
3
  import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
4
4
  import { SimBedrockAuthorizer } from "./command/authorize/sim-bedrock-authorizer.js";
5
5
  import { SimBedrockConverseHandler } from "./command/converse/sim-bedrock-converse.js";
@@ -31,7 +31,8 @@ export class SimBedrock {
31
31
  background;
32
32
  sdkRouter = new SimBedrockSdkCommandRouter(this);
33
33
  constructor(properties = {}) {
34
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
34
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks(), } = properties;
35
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
35
36
  const commandProperties = {
36
37
  responses: this.responseRules,
37
38
  authorizer: new SimBedrockAuthorizer({ iam }),
@@ -1,11 +1,19 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
2
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
3
3
  import type { SimCdkOutContext } from "../sim-cdk-out-context.js";
4
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
5
  interface SimCdkAssetsPublisherProperties {
5
6
  readonly simAws: SimAws;
6
7
  readonly accountRegionScope: SimAwsAccountRegionScope;
7
8
  readonly stackName?: string | undefined;
8
9
  readonly cdkOutContext?: SimCdkOutContext | undefined;
10
+ /**
11
+ * The principal the deployment runs as, which the staging Bucket is created
12
+ * and written to as. A real `cdk deploy` publishes assets before
13
+ * CloudFormation sees the template, and it publishes them as somebody; a
14
+ * deployment that names a caller is what says who.
15
+ */
16
+ readonly caller?: SimAwsCaller | undefined;
9
17
  }
10
18
  /**
11
19
  * Publishes a CDK cloud assembly's file assets into simulated S3.
@@ -1,6 +1,7 @@
1
1
  import { SimCfnPseudoParameters } from "../../parameters/pseudo/sim-cfn-pseudo-parameters.js";
2
2
  import { SimCdkAssetPublications, } from "./sim-cdk-asset-publications.js";
3
3
  import { readSimCdkAssetBytes } from "./sim-cdk-asset-bytes.js";
4
+ import { simCfnResourceCallerOptions, } from "../../resource/caller/sim-cfn-resource-caller-options.js";
4
5
  /**
5
6
  * Publishes a CDK cloud assembly's file assets into simulated S3.
6
7
  *
@@ -51,14 +52,15 @@ export class SimCdkAssetsPublisher {
51
52
  return;
52
53
  }
53
54
  const s3 = this.stagingS3();
54
- await this.ensureBucket(s3, publication.bucketName);
55
+ const options = simCfnResourceCallerOptions(this.properties.caller);
56
+ await this.ensureBucket(s3, publication.bucketName, options);
55
57
  await s3.putObject({
56
58
  input: {
57
59
  Bucket: publication.bucketName,
58
60
  Key: publication.objectKey,
59
61
  Body: assetBytes,
60
62
  },
61
- });
63
+ }, options);
62
64
  }
63
65
  /**
64
66
  * Create the staging Bucket if this is the first asset published into it,
@@ -71,12 +73,12 @@ export class SimCdkAssetsPublisher {
71
73
  * wanted, whoever created it. Anything else, such as the name already being
72
74
  * taken in another scope, is a real failure and is reported.
73
75
  */
74
- async ensureBucket(s3, bucketName) {
76
+ async ensureBucket(s3, bucketName, options) {
75
77
  if (s3.getSimBucketByName(bucketName) !== undefined) {
76
78
  return;
77
79
  }
78
80
  try {
79
- await s3.createBucket({ input: { Bucket: bucketName } });
81
+ await s3.createBucket({ input: { Bucket: bucketName } }, options);
80
82
  }
81
83
  catch (error) {
82
84
  if (s3.getSimBucketByName(bucketName) === undefined) {
@@ -1,6 +1,7 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimAws } from "../../../aws/sim-aws.js";
4
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
5
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
5
6
  import { SimCfnStack, type SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
6
7
  import type { SimCreateStackCommand, SimCreateStackCommandOutput } from "./create-stack.command.js";
@@ -14,6 +15,8 @@ interface CreateStackCommandHandlerProperties {
14
15
  readonly background: BackgroundScheduler & BackgroundCompleter;
15
16
  readonly cdkOutContext?: SimCdkOutContext | undefined;
16
17
  readonly bindings?: readonly SimCfnBinding[] | undefined;
18
+ /** The principal the Stack's Resources are created as. */
19
+ readonly caller?: SimAwsCaller | undefined;
17
20
  readonly exports?: SimCfnExports | undefined;
18
21
  }
19
22
  /**
@@ -28,6 +31,7 @@ export declare class CreateStackCommandHandler implements CommandHandler<SimCrea
28
31
  private readonly background;
29
32
  private readonly cdkOutContext;
30
33
  private readonly bindings;
34
+ private readonly caller;
31
35
  private readonly exports;
32
36
  constructor(properties: CreateStackCommandHandlerProperties);
33
37
  /**
@@ -16,15 +16,17 @@ export class CreateStackCommandHandler {
16
16
  background;
17
17
  cdkOutContext;
18
18
  bindings;
19
+ caller;
19
20
  exports;
20
21
  constructor(properties) {
21
- const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, exports, } = properties;
22
+ const { simAws, accountRegionScope, stacks, background, cdkOutContext, bindings, caller, exports, } = properties;
22
23
  this.simAws = simAws;
23
24
  this.accountRegionScope = accountRegionScope;
24
25
  this.stacks = stacks;
25
26
  this.background = background;
26
27
  this.cdkOutContext = cdkOutContext;
27
28
  this.bindings = bindings;
29
+ this.caller = caller;
28
30
  this.exports = exports;
29
31
  }
30
32
  /**
@@ -60,6 +62,7 @@ export class CreateStackCommandHandler {
60
62
  template,
61
63
  cdkOutContext: this.cdkOutContext,
62
64
  bindings: this.bindings,
65
+ caller: this.caller,
63
66
  exports: this.exports,
64
67
  });
65
68
  this.stacks.set(stack.stackName, stack);
@@ -1,6 +1,7 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimAws } from "../../../aws/sim-aws.js";
4
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
5
  import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
5
6
  import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
6
7
  import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
@@ -16,6 +17,11 @@ interface UpdateStackCommandHandlerProperties {
16
17
  * applied from a template file rather than from an SDK Command.
17
18
  */
18
19
  readonly cdkOutContext?: SimCdkOutContext | undefined;
20
+ /**
21
+ * The principal to apply the changed template as, for an update that names
22
+ * one. Left out, the Stack goes on running as whoever deployed it.
23
+ */
24
+ readonly caller?: SimAwsCaller | undefined;
19
25
  /** The export names published in this Account and Region. */
20
26
  readonly exports?: SimCfnExports | undefined;
21
27
  }
@@ -30,6 +36,7 @@ export declare class UpdateStackCommandHandler implements CommandHandler<SimUpda
30
36
  private readonly stacks;
31
37
  private readonly background;
32
38
  private readonly cdkOutContext;
39
+ private readonly caller;
33
40
  private readonly exports;
34
41
  constructor(properties: UpdateStackCommandHandlerProperties);
35
42
  /**
@@ -14,6 +14,7 @@ export class UpdateStackCommandHandler {
14
14
  stacks;
15
15
  background;
16
16
  cdkOutContext;
17
+ caller;
17
18
  exports;
18
19
  constructor(properties) {
19
20
  this.simAws = properties.simAws;
@@ -21,6 +22,7 @@ export class UpdateStackCommandHandler {
21
22
  this.stacks = properties.stacks;
22
23
  this.background = properties.background;
23
24
  this.cdkOutContext = properties.cdkOutContext;
25
+ this.caller = properties.caller;
24
26
  this.exports = properties.exports;
25
27
  }
26
28
  /**
@@ -56,7 +58,7 @@ export class UpdateStackCommandHandler {
56
58
  parameters,
57
59
  accountRegionScope: this.accountRegionScope,
58
60
  exports: this.exports,
59
- }), { cdkOutContext: this.cdkOutContext });
61
+ }), { cdkOutContext: this.cdkOutContext, caller: this.caller });
60
62
  return {
61
63
  StackId: stack.stackName,
62
64
  $metadata: {},
@@ -27,7 +27,7 @@ export class SimCfnCdkOutDeployer {
27
27
  }
28
28
  async deployStack(stack, plan, deployed) {
29
29
  const { simAws, accountRegionScope } = this.scope;
30
- const { transform, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
30
+ const { transform, caller, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
31
31
  return await simAws
32
32
  .accountRegionScope(accountRegionScope.accountId, stack.regionName)
33
33
  .cloudFormation()
@@ -35,6 +35,7 @@ export class SimCfnCdkOutDeployer {
35
35
  templatePath: stack.templatePath,
36
36
  stackName: stack.stackName,
37
37
  ...options,
38
+ caller: caller ?? plan.caller,
38
39
  transform: cdkOutBoundTransform(transform, deployed),
39
40
  });
40
41
  }