@kensio/yulin 1.21.0 → 1.21.2

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 (529) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +4 -0
  3. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
  4. package/dist/service/aws/factory/sim-aws-lambda-collaborators.d.ts +2 -0
  5. package/dist/service/aws/factory/sim-aws-lambda-collaborators.js +3 -0
  6. package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +7 -0
  7. package/dist/service/aws/factory/sim-aws-logs-collaborators.js +10 -0
  8. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +3 -0
  9. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +5 -0
  10. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  11. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  12. package/dist/service/aws/sim-aws-account-region-scope.d.ts +3 -0
  13. package/dist/service/aws/sim-aws-account-region-scope.js +4 -0
  14. package/dist/service/aws/sim-aws-account.d.ts +3 -0
  15. package/dist/service/aws/sim-aws-account.js +4 -0
  16. package/dist/service/aws/sim-aws-region.d.ts +3 -0
  17. package/dist/service/aws/sim-aws-region.js +4 -0
  18. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  19. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  20. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.d.ts +6 -0
  21. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.js +12 -0
  22. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.d.ts +12 -0
  23. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.js +31 -0
  24. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.d.ts +15 -0
  25. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.js +38 -0
  26. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.d.ts +6 -0
  27. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.js +17 -0
  28. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.d.ts +6 -0
  29. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.js +29 -0
  30. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.d.ts +11 -0
  31. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.js +37 -0
  32. package/dist/service/backup/cfn/sim-cfn-backup-properties.d.ts +12 -0
  33. package/dist/service/backup/cfn/sim-cfn-backup-properties.js +37 -0
  34. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.d.ts +17 -0
  35. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.js +62 -0
  36. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.d.ts +7 -0
  37. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.js +22 -0
  38. package/dist/service/backup/command/sim-backup-authorizer.d.ts +11 -0
  39. package/dist/service/backup/command/sim-backup-authorizer.js +24 -0
  40. package/dist/service/backup/command/sim-backup-command.types.d.ts +238 -0
  41. package/dist/service/backup/command/sim-backup-command.types.js +1 -0
  42. package/dist/service/backup/command/sim-backup-configuration-commands.d.ts +32 -0
  43. package/dist/service/backup/command/sim-backup-configuration-commands.js +138 -0
  44. package/dist/service/backup/command/sim-backup-job-commands.d.ts +23 -0
  45. package/dist/service/backup/command/sim-backup-job-commands.js +52 -0
  46. package/dist/service/backup/command/sim-backup-recovery-point-commands.d.ts +18 -0
  47. package/dist/service/backup/command/sim-backup-recovery-point-commands.js +38 -0
  48. package/dist/service/backup/command/sim-backup-request-options.d.ts +4 -0
  49. package/dist/service/backup/command/sim-backup-request-options.js +1 -0
  50. package/dist/service/backup/command/sim-backup-required-string.d.ts +2 -0
  51. package/dist/service/backup/command/sim-backup-required-string.js +8 -0
  52. package/dist/service/backup/error/sim-backup.error.d.ts +38 -0
  53. package/dist/service/backup/error/sim-backup.error.js +50 -0
  54. package/dist/service/backup/index.d.ts +9 -0
  55. package/dist/service/backup/index.js +7 -0
  56. package/dist/service/backup/job/sim-backup-job-input.d.ts +11 -0
  57. package/dist/service/backup/job/sim-backup-job-input.js +1 -0
  58. package/dist/service/backup/job/sim-backup-job-page.d.ts +22 -0
  59. package/dist/service/backup/job/sim-backup-job-page.js +54 -0
  60. package/dist/service/backup/job/sim-backup-job.d.ts +25 -0
  61. package/dist/service/backup/job/sim-backup-job.factory.d.ts +10 -0
  62. package/dist/service/backup/job/sim-backup-job.factory.js +24 -0
  63. package/dist/service/backup/job/sim-backup-job.js +54 -0
  64. package/dist/service/backup/job/sim-backup-jobs.d.ts +18 -0
  65. package/dist/service/backup/job/sim-backup-jobs.js +33 -0
  66. package/dist/service/backup/plan/sim-backup-plan-schedules.d.ts +21 -0
  67. package/dist/service/backup/plan/sim-backup-plan-schedules.js +66 -0
  68. package/dist/service/backup/plan/sim-backup-plan.d.ts +22 -0
  69. package/dist/service/backup/plan/sim-backup-plan.js +37 -0
  70. package/dist/service/backup/plan/sim-backup-rule.d.ts +9 -0
  71. package/dist/service/backup/plan/sim-backup-rule.js +71 -0
  72. package/dist/service/backup/recovery-point/sim-backup-recovery-point.d.ts +28 -0
  73. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.d.ts +9 -0
  74. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.js +23 -0
  75. package/dist/service/backup/recovery-point/sim-backup-recovery-point.js +62 -0
  76. package/dist/service/backup/sdk/sim-backup-sdk-command-router.d.ts +9 -0
  77. package/dist/service/backup/sdk/sim-backup-sdk-command-router.js +37 -0
  78. package/dist/service/backup/selection/sim-backup-selection.d.ts +22 -0
  79. package/dist/service/backup/selection/sim-backup-selection.js +43 -0
  80. package/dist/service/backup/sim-backup-arn.d.ts +7 -0
  81. package/dist/service/backup/sim-backup-arn.js +12 -0
  82. package/dist/service/backup/sim-backup-properties.d.ts +8 -0
  83. package/dist/service/backup/sim-backup-properties.js +1 -0
  84. package/dist/service/backup/sim-backup-resource-resolver.d.ts +24 -0
  85. package/dist/service/backup/sim-backup-resource-resolver.js +44 -0
  86. package/dist/service/backup/sim-backup-store.d.ts +29 -0
  87. package/dist/service/backup/sim-backup-store.js +80 -0
  88. package/dist/service/backup/sim-backup.d.ts +48 -0
  89. package/dist/service/backup/sim-backup.js +139 -0
  90. package/dist/service/backup/vault/sim-backup-vault-description.d.ts +12 -0
  91. package/dist/service/backup/vault/sim-backup-vault-description.js +15 -0
  92. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.d.ts +5 -0
  93. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.js +31 -0
  94. package/dist/service/backup/vault/sim-backup-vault-lock.d.ts +15 -0
  95. package/dist/service/backup/vault/sim-backup-vault-lock.js +23 -0
  96. package/dist/service/backup/vault/sim-backup-vault-recovery-points.d.ts +12 -0
  97. package/dist/service/backup/vault/sim-backup-vault-recovery-points.js +30 -0
  98. package/dist/service/backup/vault/sim-backup-vault-retention.d.ts +4 -0
  99. package/dist/service/backup/vault/sim-backup-vault-retention.js +20 -0
  100. package/dist/service/backup/vault/sim-backup-vault.d.ts +33 -0
  101. package/dist/service/backup/vault/sim-backup-vault.js +49 -0
  102. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.d.ts +3 -0
  103. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.js +66 -0
  104. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +6 -0
  105. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.d.ts +23 -0
  106. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.js +22 -0
  107. package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
  108. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.d.ts +49 -0
  109. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.js +61 -0
  110. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.d.ts +51 -0
  111. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.js +1 -0
  112. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
  113. package/dist/service/cloudwatch/index.d.ts +1 -0
  114. package/dist/service/cloudwatch/index.js +1 -0
  115. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +2 -0
  116. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +6 -0
  117. package/dist/service/cloudwatch/sim-cloudwatch.d.ts +9 -0
  118. package/dist/service/cloudwatch/sim-cloudwatch.js +10 -0
  119. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.d.ts +58 -0
  120. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.js +53 -0
  121. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.d.ts +3 -0
  122. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.js +8 -2
  123. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.d.ts +3 -0
  124. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.js +4 -0
  125. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.d.ts +11 -1
  126. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.js +13 -1
  127. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.d.ts +3 -0
  128. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.js +16 -4
  129. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.d.ts +7 -0
  130. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.js +11 -1
  131. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.d.ts +3 -0
  132. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.js +8 -2
  133. package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +19 -0
  134. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +1 -1
  135. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +3 -2
  136. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts +8 -0
  137. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +11 -3
  138. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.d.ts +11 -1
  139. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.js +13 -2
  140. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +11 -1
  141. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +11 -1
  142. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +7 -1
  143. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +18 -7
  144. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.d.ts +20 -3
  145. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.js +19 -3
  146. package/dist/service/cognito/command/hosted/sim-cognito-token-endpoint.d.ts +2 -0
  147. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.d.ts +8 -0
  148. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.js +13 -4
  149. package/dist/service/cognito/command/sim-cognito-commands.d.ts +5 -0
  150. package/dist/service/cognito/command/sim-cognito-commands.js +22 -2
  151. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.d.ts +74 -0
  152. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.js +110 -0
  153. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.d.ts +5 -49
  154. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.js +7 -87
  155. package/dist/service/cognito/command/user/sim-cognito-user-commands.d.ts +4 -0
  156. package/dist/service/cognito/command/user/sim-cognito-user-commands.js +38 -29
  157. package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +23 -0
  158. package/dist/service/cognito/error/sim-cognito-managed-login.error.js +36 -0
  159. package/dist/service/cognito/error/sim-cognito-throttle.error.d.ts +13 -0
  160. package/dist/service/cognito/error/sim-cognito-throttle.error.js +15 -0
  161. package/dist/service/cognito/index.d.ts +2 -0
  162. package/dist/service/cognito/index.js +2 -0
  163. package/dist/service/cognito/metric/sim-cognito-counted-request.d.ts +50 -0
  164. package/dist/service/cognito/metric/sim-cognito-counted-request.js +51 -0
  165. package/dist/service/cognito/metric/sim-cognito-metrics.d.ts +22 -0
  166. package/dist/service/cognito/metric/sim-cognito-metrics.js +26 -0
  167. package/dist/service/cognito/metric/sim-cognito-pool-metrics.d.ts +40 -0
  168. package/dist/service/cognito/metric/sim-cognito-pool-metrics.js +51 -0
  169. package/dist/service/cognito/metric/sim-cognito-throttled-request.d.ts +11 -0
  170. package/dist/service/cognito/metric/sim-cognito-throttled-request.js +15 -0
  171. package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +1 -0
  172. package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +6 -1
  173. package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +4 -1
  174. package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +6 -2
  175. package/dist/service/cognito/serve/page/sim-cognito-provider-page.d.ts +35 -0
  176. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +50 -0
  177. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +6 -0
  178. package/dist/service/cognito/sim-cognito-identity-provider.js +1 -0
  179. package/dist/service/cognito/sim-cognito-user-directory.js +3 -3
  180. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.d.ts +9 -0
  181. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.js +2 -0
  182. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.d.ts +8 -0
  183. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.js +8 -0
  184. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.d.ts +36 -0
  185. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.js +45 -0
  186. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.d.ts +42 -9
  187. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.js +56 -27
  188. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.d.ts +52 -0
  189. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.js +49 -0
  190. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +48 -0
  191. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +94 -0
  192. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.d.ts +13 -0
  193. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.js +19 -0
  194. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.d.ts +7 -0
  195. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.js +9 -0
  196. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.d.ts +3 -2
  197. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.js +3 -2
  198. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.d.ts +18 -1
  199. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.js +35 -18
  200. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  201. package/dist/service/lambda/command/create-function/create-function.handler.js +4 -1
  202. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  203. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +7 -11
  204. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +7 -8
  205. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.d.ts +11 -0
  206. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.js +31 -0
  207. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.d.ts +10 -0
  208. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.js +12 -0
  209. package/dist/service/lambda/function/sim-lambda-function.d.ts +3 -0
  210. package/dist/service/lambda/function/sim-lambda-function.js +6 -2
  211. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +7 -0
  212. package/dist/service/lambda/metric/sim-lambda-function-metrics.d.ts +47 -0
  213. package/dist/service/lambda/metric/sim-lambda-function-metrics.js +83 -0
  214. package/dist/service/lambda/metric/sim-lambda-iterator-age.d.ts +29 -0
  215. package/dist/service/lambda/metric/sim-lambda-iterator-age.js +41 -0
  216. package/dist/service/lambda/metric/sim-lambda-metrics.d.ts +12 -0
  217. package/dist/service/lambda/metric/sim-lambda-metrics.js +13 -0
  218. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  219. package/dist/service/lambda/sim-lambda-commands.js +2 -1
  220. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.d.ts +9 -0
  221. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.js +25 -0
  222. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.d.ts +30 -0
  223. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.js +52 -0
  224. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.d.ts +40 -0
  225. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.js +66 -0
  226. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.d.ts +19 -0
  227. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.js +40 -0
  228. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.d.ts +5 -0
  229. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.js +23 -0
  230. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.d.ts +25 -0
  231. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.js +58 -0
  232. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.d.ts +6 -0
  233. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.js +19 -0
  234. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -0
  235. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -0
  236. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +5 -3
  237. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +12 -3
  238. package/dist/service/logs/command/event/sim-logs-put-log-events.d.ts +3 -0
  239. package/dist/service/logs/command/event/sim-logs-put-log-events.js +3 -0
  240. package/dist/service/logs/command/group/sim-logs-log-group-commands.js +3 -3
  241. package/dist/service/logs/command/metric/metric-filter.command.d.ts +79 -0
  242. package/dist/service/logs/command/metric/metric-filter.command.js +1 -0
  243. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.d.ts +48 -0
  244. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.js +95 -0
  245. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.d.ts +11 -0
  246. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.js +79 -0
  247. package/dist/service/logs/command/sim-logs-command.types.d.ts +1 -0
  248. package/dist/service/logs/group/sim-logs-log-group.d.ts +6 -0
  249. package/dist/service/logs/group/sim-logs-log-group.js +6 -0
  250. package/dist/service/logs/index.d.ts +6 -0
  251. package/dist/service/logs/index.js +4 -0
  252. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.d.ts +40 -0
  253. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.js +78 -0
  254. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.d.ts +25 -0
  255. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.js +81 -0
  256. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.d.ts +57 -0
  257. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.js +85 -0
  258. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.d.ts +24 -0
  259. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.js +41 -0
  260. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.d.ts +20 -0
  261. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.js +39 -0
  262. package/dist/service/logs/metric/sim-logs-metric-datapoint.d.ts +25 -0
  263. package/dist/service/logs/metric/sim-logs-metric-datapoint.js +1 -0
  264. package/dist/service/logs/metric/sim-logs-metric-fan-out.d.ts +62 -0
  265. package/dist/service/logs/metric/sim-logs-metric-fan-out.js +116 -0
  266. package/dist/service/logs/metric/sim-logs-metric-filter-selection.d.ts +17 -0
  267. package/dist/service/logs/metric/sim-logs-metric-filter-selection.js +17 -0
  268. package/dist/service/logs/metric/sim-logs-metric-filter-store.d.ts +35 -0
  269. package/dist/service/logs/metric/sim-logs-metric-filter-store.js +47 -0
  270. package/dist/service/logs/metric/sim-logs-metric-filter.d.ts +49 -0
  271. package/dist/service/logs/metric/sim-logs-metric-filter.js +95 -0
  272. package/dist/service/logs/metric/sim-logs-metric-publication-failure.d.ts +31 -0
  273. package/dist/service/logs/metric/sim-logs-metric-publication-failure.js +12 -0
  274. package/dist/service/logs/metric/sim-logs-metric-publications.d.ts +11 -0
  275. package/dist/service/logs/metric/sim-logs-metric-publications.js +1 -0
  276. package/dist/service/logs/metric/sim-logs-metric-transformation.d.ts +45 -0
  277. package/dist/service/logs/metric/sim-logs-metric-transformation.js +127 -0
  278. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +12 -0
  279. package/dist/service/logs/sim-logs-commands.d.ts +12 -0
  280. package/dist/service/logs/sim-logs-commands.js +17 -0
  281. package/dist/service/logs/sim-logs-metric-operations.d.ts +31 -0
  282. package/dist/service/logs/sim-logs-metric-operations.js +37 -0
  283. package/dist/service/logs/sim-logs.d.ts +4 -3
  284. package/dist/service/logs/sim-logs.js +4 -3
  285. package/dist/service/logs/write/sim-logs-service-writer.d.ts +3 -0
  286. package/dist/service/logs/write/sim-logs-service-writer.js +5 -1
  287. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +32 -0
  288. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +31 -1
  289. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +13 -2
  290. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +18 -1
  291. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +17 -1
  292. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +27 -3
  293. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +45 -0
  294. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +90 -0
  295. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.d.ts +42 -0
  296. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.js +59 -0
  297. package/dist/service/s3/bucket/lock/sim-s3-default-retention.d.ts +8 -0
  298. package/dist/service/s3/bucket/lock/sim-s3-default-retention.js +15 -0
  299. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.d.ts +49 -0
  300. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.js +102 -0
  301. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.d.ts +14 -0
  302. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.js +1 -0
  303. package/dist/service/s3/bucket/lock/sim-s3-object-lock.d.ts +62 -0
  304. package/dist/service/s3/bucket/lock/sim-s3-object-lock.js +100 -0
  305. package/dist/service/s3/bucket/lock/sim-s3-object-retention.d.ts +55 -0
  306. package/dist/service/s3/bucket/lock/sim-s3-object-retention.js +82 -0
  307. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  308. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
  309. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts +1 -1
  310. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +1 -2
  311. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +114 -0
  312. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +148 -0
  313. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +30 -29
  314. package/dist/service/s3/bucket/sim-s3-bucket.js +42 -45
  315. package/dist/service/s3/bucket/sim-s3-object-deletion.d.ts +30 -0
  316. package/dist/service/s3/bucket/sim-s3-object-deletion.js +29 -0
  317. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.d.ts +61 -0
  318. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.js +65 -0
  319. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.d.ts +97 -0
  320. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.js +176 -0
  321. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.d.ts +10 -0
  322. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.js +16 -0
  323. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +85 -0
  324. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +101 -0
  325. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.d.ts +52 -0
  326. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.js +91 -0
  327. package/dist/service/s3/bucket/versioning/sim-s3-version-page.d.ts +32 -0
  328. package/dist/service/s3/bucket/versioning/sim-s3-version-page.js +45 -0
  329. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +0 -5
  330. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +3 -14
  331. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +18 -1
  332. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +34 -1
  333. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.d.ts +37 -0
  334. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.js +78 -0
  335. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.d.ts +20 -0
  336. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.js +107 -0
  337. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +14 -7
  338. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +29 -37
  339. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +62 -0
  340. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +89 -0
  341. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +9 -5
  342. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +16 -16
  343. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +9 -5
  344. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +17 -6
  345. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.d.ts +19 -0
  346. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.js +28 -0
  347. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +24 -0
  348. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +30 -0
  349. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +2 -0
  350. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +3 -1
  351. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +3 -1
  352. package/dist/service/s3/command/copy-object/copy-object.handler.js +3 -1
  353. package/dist/service/s3/command/delete-object/delete-object-version-removal.d.ts +50 -0
  354. package/dist/service/s3/command/delete-object/delete-object-version-removal.js +52 -0
  355. package/dist/service/s3/command/delete-object/delete-object.command.d.ts +19 -2
  356. package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +7 -1
  357. package/dist/service/s3/command/delete-object/delete-object.handler.js +28 -16
  358. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.d.ts +24 -0
  359. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.js +32 -0
  360. package/dist/service/s3/command/delete-objects/delete-object-attempt.d.ts +6 -2
  361. package/dist/service/s3/command/delete-objects/delete-object-attempt.js +6 -2
  362. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +10 -9
  363. package/dist/service/s3/command/delete-objects/delete-objects-outcome.js +9 -1
  364. package/dist/service/s3/command/delete-objects/delete-objects.command.d.ts +6 -0
  365. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.d.ts +23 -0
  366. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.js +1 -0
  367. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.d.ts +31 -0
  368. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.js +40 -0
  369. package/dist/service/s3/command/get-object/get-object-loader.d.ts +3 -2
  370. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  371. package/dist/service/s3/command/get-object/get-object.command.d.ts +9 -1
  372. package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
  373. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.d.ts +25 -0
  374. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.js +1 -0
  375. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.d.ts +31 -0
  376. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.js +41 -0
  377. package/dist/service/s3/command/head-object/head-object-loader.d.ts +1 -1
  378. package/dist/service/s3/command/head-object/head-object-loader.js +7 -3
  379. package/dist/service/s3/command/head-object/head-object.command.d.ts +9 -1
  380. package/dist/service/s3/command/head-object/head-object.handler.js +1 -1
  381. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.d.ts +31 -0
  382. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.js +55 -0
  383. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.d.ts +17 -0
  384. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +34 -0
  385. package/dist/service/s3/command/list-object-versions/list-object-versions.command.d.ts +59 -0
  386. package/dist/service/s3/command/list-object-versions/list-object-versions.command.js +1 -0
  387. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.d.ts +34 -0
  388. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.js +62 -0
  389. package/dist/service/s3/command/object/sim-s3-read-object-version.d.ts +34 -0
  390. package/dist/service/s3/command/object/sim-s3-read-object-version.js +52 -0
  391. package/dist/service/s3/command/object-lock/sim-s3-locked-version.d.ts +11 -0
  392. package/dist/service/s3/command/object-lock/sim-s3-locked-version.js +27 -0
  393. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.d.ts +42 -0
  394. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.js +66 -0
  395. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.d.ts +30 -0
  396. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.js +41 -0
  397. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.d.ts +21 -0
  398. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.js +1 -0
  399. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.d.ts +31 -0
  400. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.js +44 -0
  401. package/dist/service/s3/command/put-object/put-object.command.d.ts +3 -0
  402. package/dist/service/s3/command/put-object/put-object.handler.js +10 -10
  403. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.d.ts +24 -0
  404. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.js +1 -0
  405. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.d.ts +32 -0
  406. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.js +41 -0
  407. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.d.ts +21 -0
  408. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.js +1 -0
  409. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.d.ts +32 -0
  410. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.js +47 -0
  411. package/dist/service/s3/command/put-object-retention/put-object-retention.command.d.ts +29 -0
  412. package/dist/service/s3/command/put-object-retention/put-object-retention.command.js +1 -0
  413. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.d.ts +31 -0
  414. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.js +42 -0
  415. package/dist/service/s3/command/sim-s3-command.types.d.ts +7 -0
  416. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.d.ts +35 -0
  417. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.js +57 -0
  418. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.d.ts +26 -0
  419. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.js +34 -0
  420. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.d.ts +13 -0
  421. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.js +28 -0
  422. package/dist/service/s3/error/sim-s3-object-lock.error.d.ts +22 -0
  423. package/dist/service/s3/error/sim-s3-object-lock.error.js +26 -0
  424. package/dist/service/s3/error/sim-s3.error.d.ts +22 -0
  425. package/dist/service/s3/error/sim-s3.error.js +26 -0
  426. package/dist/service/s3/notification/event/sim-s3-event-records.js +3 -0
  427. package/dist/service/s3/notification/event/sim-s3-event.type.d.ts +5 -3
  428. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +15 -0
  429. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +4 -1
  430. package/dist/service/s3/notification/event/sim-s3-object-event.d.ts +6 -0
  431. package/dist/service/s3/notification/event/sim-s3-object-event.js +2 -0
  432. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
  433. package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
  434. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.d.ts +10 -0
  435. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +84 -0
  436. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +6 -132
  437. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.d.ts +10 -0
  438. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.js +28 -0
  439. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.d.ts +7 -0
  440. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.js +80 -0
  441. package/dist/service/s3/sim-s3-commands.d.ts +4 -0
  442. package/dist/service/s3/sim-s3-commands.js +6 -0
  443. package/dist/service/s3/sim-s3-operations.d.ts +5 -5
  444. package/dist/service/s3/sim-s3-operations.js +5 -6
  445. package/dist/service/s3/sim-s3-version-operations.d.ts +32 -0
  446. package/dist/service/s3/sim-s3-version-operations.js +45 -0
  447. package/dist/service/scheduler/command/schedule/schedule.command.d.ts +9 -2
  448. package/dist/service/scheduler/command/schedule/sim-scheduler-described-schedule.js +2 -0
  449. package/dist/service/scheduler/command/schedule/sim-scheduler-unsimulated-target.js +0 -6
  450. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -1
  451. package/dist/service/scheduler/command/sim-scheduler-commands.js +1 -0
  452. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.d.ts +17 -0
  453. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.js +29 -0
  454. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.d.ts +6 -1
  455. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +9 -0
  456. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.d.ts +18 -0
  457. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.js +62 -0
  458. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.d.ts +29 -0
  459. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.js +81 -0
  460. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +9 -5
  461. package/dist/service/scheduler/delivery/sim-scheduler-delivery.d.ts +11 -0
  462. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.d.ts +5 -1
  463. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.js +8 -0
  464. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.d.ts +4 -1
  465. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.js +20 -15
  466. package/dist/service/scheduler/index.d.ts +1 -1
  467. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.d.ts +15 -0
  468. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.js +24 -0
  469. package/dist/service/scheduler/target/sim-scheduler-retry-policy.d.ts +20 -0
  470. package/dist/service/scheduler/target/sim-scheduler-retry-policy.js +37 -0
  471. package/dist/service/scheduler/target/sim-scheduler-target.d.ts +6 -0
  472. package/dist/service/scheduler/target/sim-scheduler-target.js +12 -0
  473. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +13 -5
  474. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +1 -1
  475. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +9 -9
  476. package/dist/service/ses/command/send/send.command.d.ts +10 -1
  477. package/dist/service/ses/command/send/sim-ses-read-content.d.ts +2 -1
  478. package/dist/service/ses/command/send/sim-ses-send-email.js +1 -0
  479. package/dist/service/ses/command/send/sim-ses-service-send.js +1 -0
  480. package/dist/service/ses/command/send/sim-ses-simple-content.js +26 -5
  481. package/dist/service/ses/command/send/sim-ses-template-send.js +1 -0
  482. package/dist/service/ses/command/suppression/suppression.command.d.ts +3 -2
  483. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +9 -10
  484. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +7 -8
  485. package/dist/service/ses/email/sim-ses-sent-email-store.d.ts +8 -0
  486. package/dist/service/ses/email/sim-ses-sent-email-store.js +17 -0
  487. package/dist/service/ses/email/sim-ses-sent-email.d.ts +18 -0
  488. package/dist/service/ses/email/sim-ses-sent-email.js +3 -0
  489. package/dist/service/ses/error/sim-ses.error.d.ts +10 -0
  490. package/dist/service/ses/error/sim-ses.error.js +10 -0
  491. package/dist/service/ses/feedback/sim-ses-feedback-recorder.d.ts +34 -0
  492. package/dist/service/ses/feedback/sim-ses-feedback-recorder.js +55 -0
  493. package/dist/service/ses/index.d.ts +3 -2
  494. package/dist/service/ses/index.js +2 -1
  495. package/dist/service/ses/sim-ses-commands.d.ts +2 -0
  496. package/dist/service/ses/sim-ses-commands.js +9 -0
  497. package/dist/service/ses/sim-ses-configuration-sets.d.ts +4 -4
  498. package/dist/service/ses/sim-ses-configuration-sets.js +4 -4
  499. package/dist/service/ses/sim-ses-suppression.d.ts +3 -2
  500. package/dist/service/ses/sim-ses-suppression.js +3 -2
  501. package/dist/service/ses/sim-ses-v2.d.ts +13 -0
  502. package/dist/service/ses/sim-ses-v2.js +13 -0
  503. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +3 -4
  504. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +3 -4
  505. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +4 -4
  506. package/dist/service/ses/suppression/sim-ses-suppression-list.js +4 -4
  507. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
  508. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
  509. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
  510. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
  511. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
  512. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
  513. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
  514. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
  515. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
  516. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
  517. package/docs/README.md +1 -0
  518. package/docs/services/backup/README.md +553 -0
  519. package/docs/services/cloudformation/README.md +16 -6
  520. package/docs/services/cloudwatch/README.md +159 -3
  521. package/docs/services/cognito/README.md +370 -7
  522. package/docs/services/lambda/README.md +28 -0
  523. package/docs/services/logs/README.md +284 -3
  524. package/docs/services/s3/README.md +463 -20
  525. package/docs/services/scheduler/README.md +48 -9
  526. package/docs/services/ses/README.md +164 -41
  527. package/docs/services/sqs/README.md +47 -10
  528. package/llms.txt +1 -0
  529. package/package.json +7 -2
@@ -0,0 +1,61 @@
1
+ /**
2
+ * What one Resource's skipped properties say, and what they still have to
3
+ * satisfy.
4
+ *
5
+ * Simulated CloudFormation deploys what it can, so a property a service cannot
6
+ * act on is recorded against the Resource rather than taking it down. That
7
+ * leaves a gap. A skipped property can carry a value real AWS answers with a
8
+ * 400 as readily as a simulated one can, and deploying it here reports a
9
+ * template AWS refuses as working, which is the one failure a local deploy of
10
+ * a real template exists to catch.
11
+ *
12
+ * This is where a service closes that gap. The constraint sits beside the
13
+ * reason in the same map, and every service reaches it the same way, so the
14
+ * next one to need it has nothing to build.
15
+ */
16
+ export class SimCfnSkippedProperties {
17
+ rules;
18
+ properties;
19
+ error;
20
+ constructor(properties) {
21
+ this.rules = properties.rules;
22
+ this.properties = properties.properties;
23
+ this.error = properties.error;
24
+ }
25
+ /**
26
+ * Refuse the Resource where a skipped value is one real AWS would answer
27
+ * with a 400.
28
+ *
29
+ * Every constraint runs before anything is recorded, so a Resource that
30
+ * fails one leaves no half-written list of what it was created without.
31
+ */
32
+ assertConstraints() {
33
+ for (const [name, value] of Object.entries(this.properties)) {
34
+ this.constraintOn(name)?.({
35
+ value,
36
+ properties: this.properties,
37
+ refuse: (reason) => {
38
+ throw this.error(reason);
39
+ },
40
+ });
41
+ }
42
+ }
43
+ /**
44
+ * Why a property is skipped, or nothing where this service has no entry for
45
+ * it.
46
+ */
47
+ reasonFor(name) {
48
+ const rule = this.rules.get(name);
49
+ return typeof rule === "string" ? rule : rule?.reason;
50
+ }
51
+ /**
52
+ * What a property's value has to satisfy, where the service stated it.
53
+ *
54
+ * A rule that is a bare reason states nothing, which is the common case and
55
+ * the reason both shapes share one map.
56
+ */
57
+ constraintOn(name) {
58
+ const rule = this.rules.get(name);
59
+ return typeof rule === "string" ? undefined : rule?.constraint;
60
+ }
61
+ }
@@ -0,0 +1,51 @@
1
+ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../template/value/sim-cfn-template-value.js";
2
+ /**
3
+ * One skipped property, as a constraint on it reads the Resource.
4
+ *
5
+ * The whole Resource comes with it, because the constraints AWS enforces on a
6
+ * property it is not acting on are usually about a second one. Replication on
7
+ * an S3 Bucket needs versioning turned on beside it, and neither property is
8
+ * simulated.
9
+ */
10
+ export interface SimCfnSkippedPropertyValue {
11
+ /** What the template declared for the skipped property. */
12
+ readonly value: SimCfnTemplateValue;
13
+ /** Everything else the Resource declared. */
14
+ readonly properties: SimCfnTemplateValueRecord;
15
+ /**
16
+ * Refuse the Resource, in the service's own words.
17
+ *
18
+ * The wording matters. Sim CloudFormation downgrades a failure that reads as
19
+ * an unsupported Resource type into a skip, and a skipped Resource here
20
+ * would deploy the very template this exists to refuse, so each service
21
+ * passes the error builder it already refuses its own Resources with.
22
+ */
23
+ refuse(reason: string): never;
24
+ }
25
+ /**
26
+ * What a skipped value has to satisfy even though nothing acts on it.
27
+ *
28
+ * A value that passes is recorded against the Resource as any skipped value
29
+ * is. One that fails takes the Resource with it, before anything is recorded.
30
+ */
31
+ export type SimCfnSkippedPropertyConstraint = (declared: SimCfnSkippedPropertyValue) => void;
32
+ /**
33
+ * What a service says about a property its Resource is created without acting
34
+ * on.
35
+ *
36
+ * A reason on its own is the common case and stays a bare string. A property
37
+ * carrying a value real AWS answers with a 400 states the constraint here too,
38
+ * beside the reason, rather than in a check of its own somewhere up the call
39
+ * path.
40
+ */
41
+ export interface SimCfnSkippedPropertyRule {
42
+ readonly reason: string;
43
+ readonly constraint: SimCfnSkippedPropertyConstraint;
44
+ }
45
+ /**
46
+ * The properties one Resource type is created without acting on, by name.
47
+ *
48
+ * Most name a reason and nothing more. The rest state what the value has to
49
+ * satisfy alongside it.
50
+ */
51
+ export type SimCfnSkippedPropertyRules = ReadonlyMap<string, SimCfnSkippedPropertyRule | string>;
@@ -23,6 +23,10 @@ export const simCfnServiceResourceFactories = new Map([
23
23
  "Athena",
24
24
  (scopedAws) => scopedAws.athena().cfnResourceFactory(),
25
25
  ],
26
+ [
27
+ "Backup",
28
+ (scopedAws) => scopedAws.backup().cfnResourceFactory(),
29
+ ],
26
30
  [
27
31
  "ApiGateway",
28
32
  (scopedAws) => scopedAws.apiGateway().cfnResourceFactory(),
@@ -22,4 +22,5 @@ export { requiredSimCloudWatchNamespace, requiredSimCloudWatchWritableNamespace,
22
22
  export { requiredSimCloudWatchPeriod, simCloudWatchMinimumPeriodSeconds, simCloudWatchPeriodAggregates, simCloudWatchPeriodStart, } from "./metric/sim-cloudwatch-period.js";
23
23
  export { requiredSimCloudWatchStatistic, type SimCloudWatchStatistic, simCloudWatchStatistics, simCloudWatchStatisticValue, } from "./metric/sim-cloudwatch-statistic.js";
24
24
  export { requiredSimCloudWatchTimeRange, type SimCloudWatchTimeRange, } from "./metric/sim-cloudwatch-time-range.js";
25
+ export { SimCloudWatchServiceWriter, type SimCloudWatchServiceDatum, } from "./write/sim-cloudwatch-service-writer.js";
25
26
  export { SimCloudWatchError, type SimCloudWatchErrorMetadata, SimCloudWatchInvalidParameterCombinationException, SimCloudWatchInvalidParameterValueException, SimCloudWatchMissingRequiredParameterException, } from "./error/sim-cloudwatch.error.js";
@@ -21,4 +21,5 @@ export { requiredSimCloudWatchNamespace, requiredSimCloudWatchWritableNamespace,
21
21
  export { requiredSimCloudWatchPeriod, simCloudWatchMinimumPeriodSeconds, simCloudWatchPeriodAggregates, simCloudWatchPeriodStart, } from "./metric/sim-cloudwatch-period.js";
22
22
  export { requiredSimCloudWatchStatistic, simCloudWatchStatistics, simCloudWatchStatisticValue, } from "./metric/sim-cloudwatch-statistic.js";
23
23
  export { requiredSimCloudWatchTimeRange, } from "./metric/sim-cloudwatch-time-range.js";
24
+ export { SimCloudWatchServiceWriter, } from "./write/sim-cloudwatch-service-writer.js";
24
25
  export { SimCloudWatchError, SimCloudWatchInvalidParameterCombinationException, SimCloudWatchInvalidParameterValueException, SimCloudWatchMissingRequiredParameterException, } from "./error/sim-cloudwatch.error.js";
@@ -12,6 +12,7 @@ import { SimCloudWatchGetMetricData } from "./command/query/sim-cloudwatch-get-m
12
12
  import { SimCloudWatchGetMetricStatistics } from "./command/query/sim-cloudwatch-get-metric-statistics.js";
13
13
  import { SimCloudWatchListMetrics } from "./command/query/sim-cloudwatch-list-metrics.js";
14
14
  import { SimCloudWatchMetricStore } from "./metric/sim-cloudwatch-metric-store.js";
15
+ import { SimCloudWatchServiceWriter } from "./write/sim-cloudwatch-service-writer.js";
15
16
  export interface SimCloudWatchProperties {
16
17
  readonly accountRegionScope?: SimAwsAccountRegionScope;
17
18
  readonly iam?: SimIamInterServiceAuthZ;
@@ -32,6 +33,7 @@ export interface SimCloudWatchProperties {
32
33
  */
33
34
  export declare class SimCloudWatchCommands {
34
35
  readonly metrics: SimCloudWatchMetricStore;
36
+ readonly serviceWriter: SimCloudWatchServiceWriter;
35
37
  readonly putMetricData: SimCloudWatchPutMetricData;
36
38
  readonly listMetrics: SimCloudWatchListMetrics;
37
39
  readonly getMetricStatistics: SimCloudWatchGetMetricStatistics;
@@ -14,6 +14,7 @@ import { SimCloudWatchGetMetricData } from "./command/query/sim-cloudwatch-get-m
14
14
  import { SimCloudWatchGetMetricStatistics } from "./command/query/sim-cloudwatch-get-metric-statistics.js";
15
15
  import { SimCloudWatchListMetrics } from "./command/query/sim-cloudwatch-list-metrics.js";
16
16
  import { SimCloudWatchMetricStore } from "./metric/sim-cloudwatch-metric-store.js";
17
+ import { SimCloudWatchServiceWriter } from "./write/sim-cloudwatch-service-writer.js";
17
18
  /**
18
19
  * The collaborators one simulated CloudWatch scope is built from.
19
20
  *
@@ -24,6 +25,7 @@ import { SimCloudWatchMetricStore } from "./metric/sim-cloudwatch-metric-store.j
24
25
  */
25
26
  export class SimCloudWatchCommands {
26
27
  metrics;
28
+ serviceWriter;
27
29
  putMetricData;
28
30
  listMetrics;
29
31
  getMetricStatistics;
@@ -39,6 +41,10 @@ export class SimCloudWatchCommands {
39
41
  const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
40
42
  const authorizer = new SimCloudWatchAuthorizer({ iam, accountRegionScope });
41
43
  const metrics = new SimCloudWatchMetricStore();
44
+ this.serviceWriter = new SimCloudWatchServiceWriter({
45
+ metrics,
46
+ clock: background,
47
+ });
42
48
  const alarms = new SimCloudWatchAlarmStore();
43
49
  const alarmActions = new SimCloudWatchAlarmActions({
44
50
  targets: alarmTargets,
@@ -5,6 +5,7 @@ import type { SimCloudWatchRequestOptions } from "./command/sim-cloudwatch-reque
5
5
  import type { SimCloudWatchAlarmActionFailure } from "./alarm/action/sim-cloudwatch-alarm-action-failures.js";
6
6
  import type { SimCloudWatchAlarm } from "./alarm/sim-cloudwatch-alarm.js";
7
7
  import type { SimCloudWatchMetric } from "./metric/sim-cloudwatch-metric.js";
8
+ import type { SimCloudWatchServiceWriter } from "./write/sim-cloudwatch-service-writer.js";
8
9
  import { type SimCloudWatchProperties } from "./sim-cloudwatch-commands.js";
9
10
  /**
10
11
  * Simulated CloudWatch metrics. Handles SDK commands. Emulates AWS behaviour
@@ -28,6 +29,14 @@ export declare class SimCloudWatch {
28
29
  * without going through a Command and its authorization.
29
30
  */
30
31
  allMetrics(): readonly SimCloudWatchMetric[];
32
+ /**
33
+ * How the rest of the simulation publishes the metrics AWS publishes.
34
+ *
35
+ * A simulated service counting its own work reaches the metric store through
36
+ * here rather than through `PutMetricData`, which refuses a reserved `AWS/`
37
+ * namespace exactly as an account does.
38
+ */
39
+ serviceWriter(): SimCloudWatchServiceWriter;
31
40
  /**
32
41
  * Every alarm in this scope, in the order each was created.
33
42
  *
@@ -31,6 +31,16 @@ export class SimCloudWatch {
31
31
  allMetrics() {
32
32
  return this.#commands.metrics.all;
33
33
  }
34
+ /**
35
+ * How the rest of the simulation publishes the metrics AWS publishes.
36
+ *
37
+ * A simulated service counting its own work reaches the metric store through
38
+ * here rather than through `PutMetricData`, which refuses a reserved `AWS/`
39
+ * namespace exactly as an account does.
40
+ */
41
+ serviceWriter() {
42
+ return this.#commands.serviceWriter;
43
+ }
34
44
  /**
35
45
  * Every alarm in this scope, in the order each was created.
36
46
  *
@@ -0,0 +1,58 @@
1
+ import type { SimClock } from "../../../util/clock/sim-clock.js";
2
+ import { type SimCloudWatchDimensionInput } from "../metric/sim-cloudwatch-dimension.js";
3
+ import type { SimCloudWatchMetricStore } from "../metric/sim-cloudwatch-metric-store.js";
4
+ import type { SimCloudWatchUnit } from "../metric/sim-cloudwatch-unit.js";
5
+ /**
6
+ * One observation of a metric AWS publishes.
7
+ *
8
+ * The dimensions are written the way an SDK command writes them, with a
9
+ * capital `Name` and `Value`, because a test seeding a datapoint reaches for
10
+ * the same shape it passes to `PutMetricData` and `PutMetricAlarm`.
11
+ */
12
+ export interface SimCloudWatchServiceDatum {
13
+ readonly namespace: string;
14
+ readonly metricName: string;
15
+ readonly dimensions: readonly SimCloudWatchDimensionInput[];
16
+ readonly value: number;
17
+ readonly unit?: SimCloudWatchUnit | undefined;
18
+ /**
19
+ * When the observation was made. The simulation's clock stamps one that
20
+ * arrives without it.
21
+ */
22
+ readonly timestamp?: number | undefined;
23
+ }
24
+ interface SimCloudWatchServiceWriterProperties {
25
+ readonly metrics: SimCloudWatchMetricStore;
26
+ readonly clock: SimClock;
27
+ }
28
+ /**
29
+ * How a metric AWS publishes reaches the store.
30
+ *
31
+ * This is not the CloudWatch API. A simulated service counting its own work is
32
+ * the account's own machinery rather than a caller making a request, so
33
+ * nothing here authorizes one. Real CloudWatch does not put Lambda's own
34
+ * `Invocations` through `PutMetricData` either.
35
+ *
36
+ * The reserved namespace rule is the point of the separation. `PutMetricData`
37
+ * refuses a namespace beginning `AWS/`, exactly as an account does, and the
38
+ * services whose metrics those are reach the store through here instead.
39
+ *
40
+ * A test reaches it too, through `cloudWatch().serviceWriter()`, to stand up a
41
+ * datapoint for a metric nothing in the simulation publishes. That is how an
42
+ * alarm on one is driven to a state change.
43
+ */
44
+ export declare class SimCloudWatchServiceWriter {
45
+ #private;
46
+ constructor(properties: SimCloudWatchServiceWriterProperties);
47
+ /**
48
+ * Record one observation of each metric given.
49
+ *
50
+ * A whole batch goes in together so one invocation's metrics land at the
51
+ * same instant, whatever the clock does next.
52
+ *
53
+ * Dimensions are read the way a command reads them, which is what keys a
54
+ * seeded datapoint to the same metric a query and an alarm look for.
55
+ */
56
+ publish(data: readonly SimCloudWatchServiceDatum[]): void;
57
+ }
58
+ export {};
@@ -0,0 +1,53 @@
1
+ import { requiredSimCloudWatchDimensions, } from "../metric/sim-cloudwatch-dimension.js";
2
+ /**
3
+ * How a metric AWS publishes reaches the store.
4
+ *
5
+ * This is not the CloudWatch API. A simulated service counting its own work is
6
+ * the account's own machinery rather than a caller making a request, so
7
+ * nothing here authorizes one. Real CloudWatch does not put Lambda's own
8
+ * `Invocations` through `PutMetricData` either.
9
+ *
10
+ * The reserved namespace rule is the point of the separation. `PutMetricData`
11
+ * refuses a namespace beginning `AWS/`, exactly as an account does, and the
12
+ * services whose metrics those are reach the store through here instead.
13
+ *
14
+ * A test reaches it too, through `cloudWatch().serviceWriter()`, to stand up a
15
+ * datapoint for a metric nothing in the simulation publishes. That is how an
16
+ * alarm on one is driven to a state change.
17
+ */
18
+ export class SimCloudWatchServiceWriter {
19
+ #metrics;
20
+ #clock;
21
+ constructor(properties) {
22
+ this.#metrics = properties.metrics;
23
+ this.#clock = properties.clock;
24
+ }
25
+ /**
26
+ * Record one observation of each metric given.
27
+ *
28
+ * A whole batch goes in together so one invocation's metrics land at the
29
+ * same instant, whatever the clock does next.
30
+ *
31
+ * Dimensions are read the way a command reads them, which is what keys a
32
+ * seeded datapoint to the same metric a query and an alarm look for.
33
+ */
34
+ publish(data) {
35
+ const now = this.#clock.now().getTime();
36
+ for (const datum of data) {
37
+ this.#metrics
38
+ .ensure({
39
+ namespace: datum.namespace,
40
+ metricName: datum.metricName,
41
+ dimensions: requiredSimCloudWatchDimensions(datum.dimensions),
42
+ })
43
+ .record({
44
+ timestamp: datum.timestamp ?? now,
45
+ sampleCount: 1,
46
+ sum: datum.value,
47
+ minimum: datum.value,
48
+ maximum: datum.value,
49
+ unit: datum.unit,
50
+ });
51
+ }
52
+ }
53
+ }
@@ -1,8 +1,10 @@
1
1
  import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimCognitoPoolMetrics } from "../../metric/sim-cognito-pool-metrics.js";
2
3
  import type { SimCognitoAuthResolver } from "./sim-cognito-auth-resolver.js";
3
4
  import type { SimCognitoChallengeResponses } from "./sim-cognito-challenge-responses.js";
4
5
  import type { SimAdminRespondToAuthChallengeCommand, SimAdminRespondToAuthChallengeCommandOutput } from "./auth.command.js";
5
6
  interface SimCognitoAdminRespondToChallengeProperties {
7
+ readonly poolMetrics: SimCognitoPoolMetrics;
6
8
  readonly authResolver: SimCognitoAuthResolver;
7
9
  readonly responses: SimCognitoChallengeResponses;
8
10
  }
@@ -17,6 +19,7 @@ interface SimCognitoCommandOptions {
17
19
  * pool.
18
20
  */
19
21
  export declare class SimCognitoAdminRespondToChallenge {
22
+ private readonly poolMetrics;
20
23
  private readonly authResolver;
21
24
  private readonly responses;
22
25
  private readonly unsimulatedOptions;
@@ -1,3 +1,4 @@
1
+ import { countedSimCognitoAuth } from "../../metric/sim-cognito-counted-request.js";
1
2
  import { SimCognitoAuthParameters } from "./sim-cognito-auth-parameters.js";
2
3
  import { SimCognitoUnsimulatedAuthOptions } from "./sim-cognito-unsimulated-auth-options.js";
3
4
  /**
@@ -8,10 +9,12 @@ import { SimCognitoUnsimulatedAuthOptions } from "./sim-cognito-unsimulated-auth
8
9
  * pool.
9
10
  */
10
11
  export class SimCognitoAdminRespondToChallenge {
12
+ poolMetrics;
11
13
  authResolver;
12
14
  responses;
13
15
  unsimulatedOptions = new SimCognitoUnsimulatedAuthOptions();
14
16
  constructor(properties) {
17
+ this.poolMetrics = properties.poolMetrics;
15
18
  this.authResolver = properties.authResolver;
16
19
  this.responses = properties.responses;
17
20
  }
@@ -22,12 +25,15 @@ export class SimCognitoAdminRespondToChallenge {
22
25
  const { input } = command;
23
26
  const { pool, client } = this.authResolver.poolClient("cognito-idp:AdminRespondToAuthChallenge", input, options);
24
27
  this.unsimulatedOptions.refuseInAdminResponse(input);
25
- return await this.responses.handle(input.ChallengeName, {
28
+ // Counted here rather than in the shared responder, so that a response
29
+ // counts as the one request it is, the way `RespondToAuthChallenge`
30
+ // counts its own.
31
+ return await countedSimCognitoAuth(this.poolMetrics, "SignIn", { pool, client }, async () => await this.responses.handle(input.ChallengeName, {
26
32
  pool,
27
33
  client,
28
34
  parameters: new SimCognitoAuthParameters("ChallengeResponses", input.ChallengeResponses),
29
35
  session: input.Session,
30
36
  clientMetadata: input.ClientMetadata,
31
- });
37
+ }));
32
38
  }
33
39
  }
@@ -6,6 +6,7 @@ import type { SimCognitoUserPoolTriggers } from "../../user-pool/trigger/sim-cog
6
6
  import type { SimCognitoRequestResolver } from "../sim-cognito-request-resolver.js";
7
7
  import { SimCognitoAdminInitiateAuth } from "./sim-cognito-admin-initiate-auth.js";
8
8
  import { SimCognitoAdminRespondToChallenge } from "./sim-cognito-admin-respond-to-challenge.js";
9
+ import type { SimCognitoPoolMetrics } from "../../metric/sim-cognito-pool-metrics.js";
9
10
  import { SimCognitoGetTokensFromRefreshToken } from "./sim-cognito-get-tokens-from-refresh-token.js";
10
11
  import type { SimCognitoAuthResolver } from "./sim-cognito-auth-resolver.js";
11
12
  import type { SimCognitoFirstFactorChallenge } from "./sim-cognito-first-factor-challenge.js";
@@ -34,6 +35,8 @@ interface SimCognitoAuthCommandsProperties {
34
35
  * a passkey presented at either answers the same kind of challenge.
35
36
  */
36
37
  readonly firstFactor: SimCognitoFirstFactorChallenge;
38
+ /** What counts this pool's requests into `AWS/Cognito`. */
39
+ readonly poolMetrics: SimCognitoPoolMetrics;
37
40
  }
38
41
  /**
39
42
  * The authentication command handlers of one simulated Cognito scope.
@@ -57,6 +57,7 @@ export class SimCognitoAuthCommands {
57
57
  triggers,
58
58
  });
59
59
  const flowRunner = new SimCognitoAuthFlowRunner({
60
+ poolMetrics: properties.poolMetrics,
60
61
  passwordSignIn,
61
62
  refreshSignIn: new SimCognitoRefreshSignIn({ refreshedTokens, clock }),
62
63
  userAuthSignIn: new SimCognitoUserAuthSignIn({
@@ -86,6 +87,7 @@ export class SimCognitoAuthCommands {
86
87
  flowRunner,
87
88
  });
88
89
  this.adminRespondToChallenge = new SimCognitoAdminRespondToChallenge({
90
+ poolMetrics: properties.poolMetrics,
89
91
  authResolver,
90
92
  responses,
91
93
  });
@@ -94,10 +96,12 @@ export class SimCognitoAuthCommands {
94
96
  flowRunner,
95
97
  });
96
98
  this.respondToChallenge = new SimCognitoRespondToChallenge({
99
+ poolMetrics: properties.poolMetrics,
97
100
  authResolver,
98
101
  responses,
99
102
  });
100
103
  this.getTokensFromRefreshToken = new SimCognitoGetTokensFromRefreshToken({
104
+ poolMetrics: properties.poolMetrics,
101
105
  authResolver,
102
106
  refreshedTokens,
103
107
  clock,
@@ -1,9 +1,11 @@
1
+ import type { SimCognitoPoolMetrics } from "../../metric/sim-cognito-pool-metrics.js";
1
2
  import type { SimCognitoAuthFlow } from "./sim-cognito-auth-flow.js";
2
3
  import type { SimCognitoPasswordSignIn, SimCognitoAuthRequest } from "./sim-cognito-password-sign-in.js";
3
4
  import type { SimCognitoRefreshSignIn } from "./sim-cognito-refresh-sign-in.js";
4
5
  import type { SimCognitoUserAuthSignIn } from "./sim-cognito-user-auth-sign-in.js";
5
6
  import type { SimCognitoAuthenticationOutput } from "./auth.command.js";
6
7
  interface SimCognitoAuthFlowRunnerProperties {
8
+ readonly poolMetrics: SimCognitoPoolMetrics;
7
9
  readonly passwordSignIn: SimCognitoPasswordSignIn;
8
10
  readonly refreshSignIn: SimCognitoRefreshSignIn;
9
11
  readonly userAuthSignIn: SimCognitoUserAuthSignIn;
@@ -21,13 +23,21 @@ interface SimCognitoAuthFlowRunnerProperties {
21
23
  * issues tokens.
22
24
  */
23
25
  export declare class SimCognitoAuthFlowRunner {
26
+ private readonly poolMetrics;
24
27
  private readonly passwordSignIn;
25
28
  private readonly refreshSignIn;
26
29
  private readonly userAuthSignIn;
27
30
  constructor(properties: SimCognitoAuthFlowRunnerProperties);
28
31
  /**
29
- * Run a flow the app client is configured for.
32
+ * Run a flow the app client is configured for, and count the request.
33
+ *
34
+ * Real Cognito keeps a token refresh out of `SignInSuccesses` and counts it
35
+ * under `TokenRefreshSuccesses` instead, so which metric a request lands in
36
+ * follows the flow it ran. A request answered with a challenge issued no
37
+ * tokens and counts as a 0, and so does one the pool refused outright. The
38
+ * response that finishes a challenged sign-in is counted where it completes.
30
39
  */
31
40
  run(flow: SimCognitoAuthFlow, request: SimCognitoAuthRequest): Promise<SimCognitoAuthenticationOutput>;
41
+ private ran;
32
42
  }
33
43
  export {};
@@ -1,3 +1,4 @@
1
+ import { countedSimCognitoAuth } from "../../metric/sim-cognito-counted-request.js";
1
2
  /**
2
3
  * Runs whichever flow a request resolved to.
3
4
  *
@@ -11,18 +12,29 @@
11
12
  * issues tokens.
12
13
  */
13
14
  export class SimCognitoAuthFlowRunner {
15
+ poolMetrics;
14
16
  passwordSignIn;
15
17
  refreshSignIn;
16
18
  userAuthSignIn;
17
19
  constructor(properties) {
20
+ this.poolMetrics = properties.poolMetrics;
18
21
  this.passwordSignIn = properties.passwordSignIn;
19
22
  this.refreshSignIn = properties.refreshSignIn;
20
23
  this.userAuthSignIn = properties.userAuthSignIn;
21
24
  }
22
25
  /**
23
- * Run a flow the app client is configured for.
26
+ * Run a flow the app client is configured for, and count the request.
27
+ *
28
+ * Real Cognito keeps a token refresh out of `SignInSuccesses` and counts it
29
+ * under `TokenRefreshSuccesses` instead, so which metric a request lands in
30
+ * follows the flow it ran. A request answered with a challenge issued no
31
+ * tokens and counts as a 0, and so does one the pool refused outright. The
32
+ * response that finishes a challenged sign-in is counted where it completes.
24
33
  */
25
34
  async run(flow, request) {
35
+ return await countedSimCognitoAuth(this.poolMetrics, flow.exchangesRefreshToken ? "TokenRefresh" : "SignIn", request, async () => await this.ran(flow, request));
36
+ }
37
+ async ran(flow, request) {
26
38
  if (flow.exchangesRefreshToken) {
27
39
  return await this.refreshSignIn.handle(request);
28
40
  }
@@ -1,11 +1,13 @@
1
1
  import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
2
  import type { SimCognitoUserPoolClient } from "../../user-pool/client/sim-cognito-user-pool-client.js";
3
3
  import type { SimCognitoClientInPool, SimCognitoUserPoolStore } from "../../user-pool/sim-cognito-user-pool-store.js";
4
+ import type { SimCognitoPoolMetrics } from "../../metric/sim-cognito-pool-metrics.js";
4
5
  import type { SimCognitoRequestResolver } from "../sim-cognito-request-resolver.js";
5
6
  import type { SimCognitoAuthParameters } from "./sim-cognito-auth-parameters.js";
6
7
  interface SimCognitoAuthResolverProperties {
7
8
  readonly resolver: SimCognitoRequestResolver;
8
9
  readonly pools: SimCognitoUserPoolStore;
10
+ readonly poolMetrics: SimCognitoPoolMetrics;
9
11
  }
10
12
  interface SimCognitoCommandOptions {
11
13
  readonly caller?: SimAwsCaller;
@@ -29,6 +31,7 @@ export type SimCognitoAuthenticatingClient = SimCognitoClientInPool;
29
31
  export declare class SimCognitoAuthResolver {
30
32
  private readonly resolver;
31
33
  private readonly pools;
34
+ private readonly poolMetrics;
32
35
  constructor(properties: SimCognitoAuthResolverProperties);
33
36
  /**
34
37
  * Resolve the pool and app client an admin request names, once the caller
@@ -1,5 +1,6 @@
1
1
  import { requireSimCognitoSecretHash } from "../../user-pool/auth/sim-cognito-secret-hash.js";
2
2
  import { requireSimCognitoUserPoolClientId } from "../../user-pool/client/sim-cognito-user-pool-client-id.js";
3
+ import { simCognitoInvalidClientDimension } from "../../metric/sim-cognito-metrics.js";
3
4
  /**
4
5
  * Resolves what an authentication request names before the flow itself runs.
5
6
  *
@@ -10,9 +11,11 @@ import { requireSimCognitoUserPoolClientId } from "../../user-pool/client/sim-co
10
11
  export class SimCognitoAuthResolver {
11
12
  resolver;
12
13
  pools;
14
+ poolMetrics;
13
15
  constructor(properties) {
14
16
  this.resolver = properties.resolver;
15
17
  this.pools = properties.pools;
18
+ this.poolMetrics = properties.poolMetrics;
16
19
  }
17
20
  /**
18
21
  * Resolve the pool and app client an admin request names, once the caller
@@ -23,10 +26,19 @@ export class SimCognitoAuthResolver {
23
26
  */
24
27
  poolClient(action, input, options) {
25
28
  const pool = this.resolver.pool(action, input.UserPoolId, options);
26
- return {
27
- pool,
28
- client: pool.requireClient(requireSimCognitoUserPoolClientId(input.ClientId)),
29
- };
29
+ try {
30
+ return {
31
+ pool,
32
+ client: pool.requireClient(requireSimCognitoUserPoolClientId(input.ClientId)),
33
+ };
34
+ }
35
+ catch (error) {
36
+ // Real Cognito counts a request naming an app client the pool has none
37
+ // of, reporting a fixed name in the client's place rather than the id
38
+ // the request gave. The request still fails.
39
+ this.poolMetrics.count("SignIn", pool.id, simCognitoInvalidClientDimension, false);
40
+ throw error;
41
+ }
30
42
  }
31
43
  /**
32
44
  * Resolve the pool and app client a client-side request names, which is by
@@ -1,8 +1,10 @@
1
1
  import type { SimClock } from "../../../../util/clock/sim-clock.js";
2
+ import type { SimCognitoPoolMetrics } from "../../metric/sim-cognito-pool-metrics.js";
2
3
  import type { SimCognitoAuthResolver } from "./sim-cognito-auth-resolver.js";
3
4
  import type { SimCognitoRefreshedTokens } from "./sim-cognito-refreshed-tokens.js";
4
5
  import type { SimGetTokensFromRefreshTokenCommand, SimGetTokensFromRefreshTokenCommandOutput } from "./auth.command.js";
5
6
  interface SimCognitoGetTokensFromRefreshTokenProperties {
7
+ readonly poolMetrics: SimCognitoPoolMetrics;
6
8
  readonly authResolver: SimCognitoAuthResolver;
7
9
  readonly refreshedTokens: SimCognitoRefreshedTokens;
8
10
  readonly clock: SimClock;
@@ -21,6 +23,7 @@ interface SimCognitoGetTokensFromRefreshTokenProperties {
21
23
  * than a hash computed over a username it does not have.
22
24
  */
23
25
  export declare class SimCognitoGetTokensFromRefreshToken {
26
+ private readonly poolMetrics;
24
27
  private readonly authResolver;
25
28
  private readonly refreshedTokens;
26
29
  private readonly clock;
@@ -28,7 +31,11 @@ export declare class SimCognitoGetTokensFromRefreshToken {
28
31
  constructor(properties: SimCognitoGetTokensFromRefreshTokenProperties);
29
32
  /**
30
33
  * Renew a session from the refresh token it holds.
34
+ *
35
+ * Real Cognito counts this under `TokenRefreshSuccesses`, the same metric an
36
+ * `InitiateAuth` running `REFRESH_TOKEN_AUTH` lands in.
31
37
  */
32
38
  handle(command: SimGetTokensFromRefreshTokenCommand): Promise<SimGetTokensFromRefreshTokenCommandOutput>;
39
+ private renewed;
33
40
  }
34
41
  export {};
@@ -1,5 +1,6 @@
1
1
  import { requireSimCognitoRefreshTokenInput } from "../../user-pool/auth/sim-cognito-refresh-token-input.js";
2
2
  import { requireSimCognitoClientSecret } from "../../user-pool/client/sim-cognito-client-secret.js";
3
+ import { countedSimCognitoAuth } from "../../metric/sim-cognito-counted-request.js";
3
4
  import { SimCognitoUnsimulatedInput } from "../sim-cognito-unsimulated-input.js";
4
5
  /**
5
6
  * The GetTokensFromRefreshToken command.
@@ -15,21 +16,30 @@ import { SimCognitoUnsimulatedInput } from "../sim-cognito-unsimulated-input.js"
15
16
  * than a hash computed over a username it does not have.
16
17
  */
17
18
  export class SimCognitoGetTokensFromRefreshToken {
19
+ poolMetrics;
18
20
  authResolver;
19
21
  refreshedTokens;
20
22
  clock;
21
23
  unsimulated = new SimCognitoUnsimulatedInput("GetTokensFromRefreshToken");
22
24
  constructor(properties) {
25
+ this.poolMetrics = properties.poolMetrics;
23
26
  this.authResolver = properties.authResolver;
24
27
  this.refreshedTokens = properties.refreshedTokens;
25
28
  this.clock = properties.clock;
26
29
  }
27
30
  /**
28
31
  * Renew a session from the refresh token it holds.
32
+ *
33
+ * Real Cognito counts this under `TokenRefreshSuccesses`, the same metric an
34
+ * `InitiateAuth` running `REFRESH_TOKEN_AUTH` lands in.
29
35
  */
30
36
  async handle(command) {
31
37
  const { input } = command;
32
- const { pool, client } = this.authResolver.client(input.ClientId);
38
+ const scope = this.authResolver.client(input.ClientId);
39
+ return await countedSimCognitoAuth(this.poolMetrics, "TokenRefresh", scope, async () => await this.renewed(command, scope));
40
+ }
41
+ async renewed(command, { pool, client }) {
42
+ const { input } = command;
33
43
  this.unsimulated.refuse("DeviceKey", input.DeviceKey, "device remembering, which signs a known device in without its second factor");
34
44
  requireSimCognitoClientSecret(client, input.ClientSecret);
35
45
  const refreshToken = pool.auth.requireRefreshToken({