@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,48 @@
1
+ import type { SimClock } from "../../../../util/clock/sim-clock.js";
2
+ import type { SimLogsLogGroupStore } from "../../group/sim-logs-log-group-store.js";
3
+ import type { SimLogsMetricFanOut } from "../../metric/sim-logs-metric-fan-out.js";
4
+ import type { SimLogsAuthorizer } from "../authorize/sim-logs-authorizer.js";
5
+ import type { SimLogsRequestOptions } from "../sim-logs-request-options.js";
6
+ import type { SimDeleteMetricFilterCommand, SimDeleteMetricFilterCommandOutput, SimDescribeMetricFiltersCommand, SimDescribeMetricFiltersCommandOutput, SimPutMetricFilterCommand, SimPutMetricFilterCommandOutput } from "./metric-filter.command.js";
7
+ interface SimLogsMetricFilterCommandsProperties {
8
+ readonly groups: SimLogsLogGroupStore;
9
+ readonly authorizer: SimLogsAuthorizer;
10
+ readonly fanOut: SimLogsMetricFanOut;
11
+ readonly clock: SimClock;
12
+ }
13
+ /**
14
+ * The commands that put, describe and remove metric filters.
15
+ */
16
+ export declare class SimLogsMetricFilterCommands {
17
+ #private;
18
+ constructor(properties: SimLogsMetricFilterCommandsProperties);
19
+ /**
20
+ * Put a metric filter on a log group.
21
+ *
22
+ * Whether the datapoints could go anywhere is checked here, the way
23
+ * `PutSubscriptionFilter` checks its destination. A filter that takes its
24
+ * configuration and publishes nothing is worse than a failure, because the
25
+ * alarm over its metric then reports healthy for ever.
26
+ */
27
+ putMetricFilter(command: SimPutMetricFilterCommand, options?: SimLogsRequestOptions): SimPutMetricFilterCommandOutput;
28
+ /**
29
+ * Describe metric filters, on one log group or across them all.
30
+ *
31
+ * Real CloudWatch Logs takes `logGroupName` as optional here, unlike
32
+ * `DescribeSubscriptionFilters`. Leaving it off is how a caller finds every
33
+ * filter writing to a metric it has an alarm on.
34
+ */
35
+ describeMetricFilters(command: SimDescribeMetricFiltersCommand, options?: SimLogsRequestOptions): SimDescribeMetricFiltersCommandOutput;
36
+ /**
37
+ * Remove a metric filter from a log group.
38
+ */
39
+ deleteMetricFilter(command: SimDeleteMetricFilterCommand, options?: SimLogsRequestOptions): SimDeleteMetricFilterCommandOutput;
40
+ /**
41
+ * The filters one describe request selects, authorized for what it reaches.
42
+ *
43
+ * A request naming no log group reaches every one in the scope, so it is
44
+ * authorized against them all rather than against any single group.
45
+ */
46
+ private selected;
47
+ }
48
+ export {};
@@ -0,0 +1,95 @@
1
+ import { requiredSimLogsLogGroupName } from "../../group/sim-logs-log-group-name.js";
2
+ import { SimLogsMetricFilter } from "../../metric/sim-logs-metric-filter.js";
3
+ import { simLogsSelectedMetricFilters } from "../../metric/sim-logs-metric-filter-selection.js";
4
+ import { SimLogsPage } from "../sim-logs-page.js";
5
+ import { requiredSimLogsFilterName } from "../subscription/sim-logs-subscription-input.js";
6
+ import { requiredSimLogsMetricTransformations, simLogsMetricFilterDetail, } from "./sim-logs-metric-filter-input.js";
7
+ const maximumDescribeLimit = 50;
8
+ /**
9
+ * The commands that put, describe and remove metric filters.
10
+ */
11
+ export class SimLogsMetricFilterCommands {
12
+ #groups;
13
+ #authorizer;
14
+ #fanOut;
15
+ #clock;
16
+ constructor(properties) {
17
+ this.#groups = properties.groups;
18
+ this.#authorizer = properties.authorizer;
19
+ this.#fanOut = properties.fanOut;
20
+ this.#clock = properties.clock;
21
+ }
22
+ /**
23
+ * Put a metric filter on a log group.
24
+ *
25
+ * Whether the datapoints could go anywhere is checked here, the way
26
+ * `PutSubscriptionFilter` checks its destination. A filter that takes its
27
+ * configuration and publishes nothing is worse than a failure, because the
28
+ * alarm over its metric then reports healthy for ever.
29
+ */
30
+ putMetricFilter(command, options) {
31
+ const input = command.input;
32
+ const logGroupName = requiredSimLogsLogGroupName(input.logGroupName);
33
+ const filterName = requiredSimLogsFilterName(input.filterName);
34
+ const transformations = requiredSimLogsMetricTransformations(input.metricTransformations);
35
+ this.#authorizer.authorizeLogGroup("logs:PutMetricFilter", logGroupName, options?.caller);
36
+ const group = this.#groups.require(logGroupName);
37
+ this.#fanOut.checkPublishable();
38
+ group.metricFilters.put(new SimLogsMetricFilter({
39
+ filterName,
40
+ logGroupName,
41
+ filterPattern: input.filterPattern,
42
+ transformations,
43
+ creationTime: this.#clock.now().getTime(),
44
+ }));
45
+ return { $metadata: {} };
46
+ }
47
+ /**
48
+ * Describe metric filters, on one log group or across them all.
49
+ *
50
+ * Real CloudWatch Logs takes `logGroupName` as optional here, unlike
51
+ * `DescribeSubscriptionFilters`. Leaving it off is how a caller finds every
52
+ * filter writing to a metric it has an alarm on.
53
+ */
54
+ describeMetricFilters(command, options) {
55
+ const input = command.input;
56
+ const page = new SimLogsPage({
57
+ listed: this.selected(input, options),
58
+ limit: input.limit,
59
+ nextToken: input.nextToken,
60
+ maximumLimit: maximumDescribeLimit,
61
+ });
62
+ return {
63
+ $metadata: {},
64
+ metricFilters: page.items.map((filter) => simLogsMetricFilterDetail(filter)),
65
+ nextToken: page.nextToken,
66
+ };
67
+ }
68
+ /**
69
+ * Remove a metric filter from a log group.
70
+ */
71
+ deleteMetricFilter(command, options) {
72
+ const input = command.input;
73
+ const logGroupName = requiredSimLogsLogGroupName(input.logGroupName);
74
+ const filterName = requiredSimLogsFilterName(input.filterName);
75
+ this.#authorizer.authorizeLogGroup("logs:DeleteMetricFilter", logGroupName, options?.caller);
76
+ this.#groups.require(logGroupName).metricFilters.delete(filterName);
77
+ return { $metadata: {} };
78
+ }
79
+ /**
80
+ * The filters one describe request selects, authorized for what it reaches.
81
+ *
82
+ * A request naming no log group reaches every one in the scope, so it is
83
+ * authorized against them all rather than against any single group.
84
+ */
85
+ selected(input, options) {
86
+ const action = "logs:DescribeMetricFilters";
87
+ if (input.logGroupName === undefined) {
88
+ this.#authorizer.authorizeAnyLogGroup(action, options?.caller);
89
+ return this.#groups.all.flatMap((group) => simLogsSelectedMetricFilters(group.metricFilters.all, input));
90
+ }
91
+ const logGroupName = requiredSimLogsLogGroupName(input.logGroupName);
92
+ this.#authorizer.authorizeLogGroup(action, logGroupName, options?.caller);
93
+ return simLogsSelectedMetricFilters(this.#groups.require(logGroupName).metricFilters.all, input);
94
+ }
95
+ }
@@ -0,0 +1,11 @@
1
+ import type { SimLogsMetricFilter } from "../../metric/sim-logs-metric-filter.js";
2
+ import { SimLogsMetricTransformation } from "../../metric/sim-logs-metric-transformation.js";
3
+ import type { SimLogsMetricFilterDetail, SimLogsMetricTransformationInput } from "./metric-filter.command.js";
4
+ /**
5
+ * Read the transformations a metric filter publishes through.
6
+ */
7
+ export declare function requiredSimLogsMetricTransformations(transformations?: readonly SimLogsMetricTransformationInput[]): readonly SimLogsMetricTransformation[];
8
+ /**
9
+ * What DescribeMetricFilters reports about one filter.
10
+ */
11
+ export declare function simLogsMetricFilterDetail(filter: SimLogsMetricFilter): SimLogsMetricFilterDetail;
@@ -0,0 +1,79 @@
1
+ import { SimLogsInvalidParameterException } from "../../error/sim-logs.error.js";
2
+ import { SimLogsMetricTransformation } from "../../metric/sim-logs-metric-transformation.js";
3
+ /**
4
+ * How many transformations real CloudWatch Logs allows on one metric filter.
5
+ *
6
+ * One. The field is a list because the API has always shaped it that way, and
7
+ * an account refuses a second entry.
8
+ */
9
+ const maximumTransformations = 1;
10
+ /**
11
+ * Read the transformations a metric filter publishes through.
12
+ */
13
+ export function requiredSimLogsMetricTransformations(transformations) {
14
+ if (transformations === undefined || transformations.length === 0) {
15
+ throw new SimLogsInvalidParameterException("1 validation error detected: Value at 'metricTransformations' failed " +
16
+ "to satisfy constraint: Member must not be null");
17
+ }
18
+ if (transformations.length > maximumTransformations) {
19
+ throw new SimLogsInvalidParameterException(`1 validation error detected: Value at 'metricTransformations' failed ` +
20
+ `to satisfy constraint: Member must have length less than or equal ` +
21
+ `to ${maximumTransformations}`);
22
+ }
23
+ return transformations.map((transformation) => metricTransformation(transformation));
24
+ }
25
+ /**
26
+ * Read one transformation, refusing what real CloudWatch Logs refuses.
27
+ */
28
+ function metricTransformation(input) {
29
+ return new SimLogsMetricTransformation({
30
+ metricNamespace: requiredTransformationField("metricNamespace", input.metricNamespace),
31
+ metricName: requiredTransformationField("metricName", input.metricName),
32
+ metricValue: requiredTransformationField("metricValue", input.metricValue),
33
+ defaultValue: input.defaultValue,
34
+ unit: input.unit,
35
+ dimensions: metricDimensions(input.dimensions),
36
+ });
37
+ }
38
+ /**
39
+ * Read a transformation field the API requires.
40
+ */
41
+ function requiredTransformationField(name, value) {
42
+ if (value === undefined || value.length === 0) {
43
+ throw new SimLogsInvalidParameterException(`1 validation error detected: Value at ` +
44
+ `'metricTransformations.member.${name}' failed to satisfy ` +
45
+ `constraint: Member must not be null`);
46
+ }
47
+ return value;
48
+ }
49
+ /**
50
+ * Read a transformation's dimensions from the map the SDK carries them in.
51
+ */
52
+ function metricDimensions(dimensions) {
53
+ return Object.entries(dimensions ?? {}).map(([name, value]) => ({
54
+ name,
55
+ value,
56
+ }));
57
+ }
58
+ /**
59
+ * What DescribeMetricFilters reports about one filter.
60
+ */
61
+ export function simLogsMetricFilterDetail(filter) {
62
+ return {
63
+ filterName: filter.filterName,
64
+ logGroupName: filter.logGroupName,
65
+ filterPattern: filter.filterPatternText,
66
+ metricTransformations: filter.transformations.map((transformation) => ({
67
+ metricName: transformation.metricName,
68
+ metricNamespace: transformation.metricNamespace,
69
+ metricValue: transformation.metricValue,
70
+ defaultValue: transformation.defaultValue,
71
+ unit: transformation.unit,
72
+ dimensions: Object.fromEntries(transformation.dimensions.map((dimension) => [
73
+ dimension.name,
74
+ dimension.value,
75
+ ])),
76
+ })),
77
+ creationTime: filter.creationTime,
78
+ };
79
+ }
@@ -4,6 +4,7 @@
4
4
  export type { SimCreateLogGroupCommand, SimCreateLogGroupCommandInput, SimCreateLogGroupCommandOutput, SimDeleteLogGroupCommand, SimDeleteLogGroupCommandInput, SimDeleteLogGroupCommandOutput, SimDeleteRetentionPolicyCommand, SimDeleteRetentionPolicyCommandInput, SimDeleteRetentionPolicyCommandOutput, SimDescribeLogGroupsCommand, SimDescribeLogGroupsCommandInput, SimDescribeLogGroupsCommandOutput, SimLogsLogGroupDetail, SimPutRetentionPolicyCommand, SimPutRetentionPolicyCommandInput, SimPutRetentionPolicyCommandOutput, } from "./group/group.command.js";
5
5
  export type { SimCreateLogStreamCommand, SimCreateLogStreamCommandInput, SimCreateLogStreamCommandOutput, SimDescribeLogStreamsCommand, SimDescribeLogStreamsCommandInput, SimDescribeLogStreamsCommandOutput, SimLogsLogStreamDetail, } from "./stream/stream.command.js";
6
6
  export type { SimFilterLogEventsCommand, SimFilterLogEventsCommandInput, SimFilterLogEventsCommandOutput, SimGetLogEventsCommand, SimGetLogEventsCommandInput, SimGetLogEventsCommandOutput, SimLogsFilteredLogEvent, SimLogsInputLogEvent, SimLogsOutputLogEvent, SimPutLogEventsCommand, SimPutLogEventsCommandInput, SimPutLogEventsCommandOutput, } from "./event/event.command.js";
7
+ export type { SimDeleteMetricFilterCommand, SimDeleteMetricFilterCommandInput, SimDeleteMetricFilterCommandOutput, SimDescribeMetricFiltersCommand, SimDescribeMetricFiltersCommandInput, SimDescribeMetricFiltersCommandOutput, SimLogsMetricFilterDetail, SimLogsMetricTransformationInput, SimPutMetricFilterCommand, SimPutMetricFilterCommandInput, SimPutMetricFilterCommandOutput, } from "./metric/metric-filter.command.js";
7
8
  export type { SimDeleteSubscriptionFilterCommand, SimDeleteSubscriptionFilterCommandInput, SimDeleteSubscriptionFilterCommandOutput, SimDescribeSubscriptionFiltersCommand, SimDescribeSubscriptionFiltersCommandInput, SimDescribeSubscriptionFiltersCommandOutput, SimLogsSubscriptionFilterDetail, SimPutSubscriptionFilterCommand, SimPutSubscriptionFilterCommandInput, SimPutSubscriptionFilterCommandOutput, } from "./subscription/subscription.command.js";
8
9
  export type { SimDeleteDeliverySourceCommand, SimDeleteDeliverySourceCommandInput, SimDeleteDeliverySourceCommandOutput, SimDescribeDeliverySourcesCommand, SimDescribeDeliverySourcesCommandInput, SimDescribeDeliverySourcesCommandOutput, SimLogsDeliverySourceDetail, SimPutDeliverySourceCommand, SimPutDeliverySourceCommandInput, SimPutDeliverySourceCommandOutput, } from "./delivery/delivery-source.command.js";
9
10
  export type { SimDeleteDeliveryDestinationCommand, SimDeleteDeliveryDestinationCommandInput, SimDeleteDeliveryDestinationCommandOutput, SimDescribeDeliveryDestinationsCommand, SimDescribeDeliveryDestinationsCommandInput, SimDescribeDeliveryDestinationsCommandOutput, SimLogsDeliveryDestinationConfiguration, SimLogsDeliveryDestinationDetail, SimPutDeliveryDestinationCommand, SimPutDeliveryDestinationCommandInput, SimPutDeliveryDestinationCommandOutput, } from "./delivery/delivery-destination.command.js";
@@ -1,5 +1,6 @@
1
1
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
2
  import type { SimLogsLogStream } from "../stream/sim-logs-log-stream.js";
3
+ import { SimLogsMetricFilterStore } from "../metric/sim-logs-metric-filter-store.js";
3
4
  import { SimLogsSubscriptionFilterStore } from "../subscription/sim-logs-subscription-filter-store.js";
4
5
  interface SimLogsLogGroupProperties {
5
6
  readonly logGroupName: string;
@@ -25,6 +26,11 @@ export declare class SimLogsLogGroup {
25
26
  * written to it onward.
26
27
  */
27
28
  readonly subscriptionFilters: SimLogsSubscriptionFilterStore;
29
+ /**
30
+ * The metric filters watching this group, which turn what is written to it
31
+ * into CloudWatch metric datapoints.
32
+ */
33
+ readonly metricFilters: SimLogsMetricFilterStore;
28
34
  constructor(properties: SimLogsLogGroupProperties);
29
35
  /**
30
36
  * How long events in this group are kept, or undefined where nothing has set
@@ -1,4 +1,5 @@
1
1
  import { SimLogsLogStreamStore } from "../stream/sim-logs-log-stream-store.js";
2
+ import { SimLogsMetricFilterStore } from "../metric/sim-logs-metric-filter-store.js";
2
3
  import { SimLogsSubscriptionFilterStore } from "../subscription/sim-logs-subscription-filter-store.js";
3
4
  import { simLogsLogGroupArn, simLogsLogGroupWildcardArn, simLogsLogStreamArn, } from "./sim-logs-arn.js";
4
5
  /**
@@ -19,6 +20,11 @@ export class SimLogsLogGroup {
19
20
  * written to it onward.
20
21
  */
21
22
  subscriptionFilters = new SimLogsSubscriptionFilterStore();
23
+ /**
24
+ * The metric filters watching this group, which turn what is written to it
25
+ * into CloudWatch metric datapoints.
26
+ */
27
+ metricFilters = new SimLogsMetricFilterStore();
22
28
  #streams;
23
29
  #retentionInDays;
24
30
  constructor(properties) {
@@ -10,6 +10,12 @@ export { requiredSimLogsLogStreamName } from "./stream/sim-logs-log-stream-name.
10
10
  export { compareSimLogsEvents, simLogsEventOverheadBytes, simLogsEventSizeBytes, type SimLogsStoredEvent, } from "./event/sim-logs-event.js";
11
11
  export { SimLogsEventIds } from "./event/sim-logs-event-ids.js";
12
12
  export { SimLogsFilterPattern } from "./event/sim-logs-filter-pattern.js";
13
+ export { SimLogsMetricFilter } from "./metric/sim-logs-metric-filter.js";
14
+ export { SimLogsMetricFilterStore } from "./metric/sim-logs-metric-filter-store.js";
15
+ export { SimLogsMetricTransformation, simLogsMaximumMetricDimensions, } from "./metric/sim-logs-metric-transformation.js";
16
+ export type { SimLogsMetricDatapoint, SimLogsMetricDimension, } from "./metric/sim-logs-metric-datapoint.js";
17
+ export { metricFilterSource, simLogsEmbeddedMetricSource, type SimLogsMetricPublicationFailure, type SimLogsMetricPublicationSource, } from "./metric/sim-logs-metric-publication-failure.js";
18
+ export type { SimLogsMetricPublications } from "./metric/sim-logs-metric-publications.js";
13
19
  export { simLogsStandardLogGroupClass } from "./command/group/sim-logs-unsimulated-group-input.js";
14
20
  export { SimLogsDeliverySource } from "./delivery/sim-logs-delivery-source.js";
15
21
  export { SimLogsDeliveryDestination } from "./delivery/sim-logs-delivery-destination.js";
@@ -9,6 +9,10 @@ export { requiredSimLogsLogStreamName } from "./stream/sim-logs-log-stream-name.
9
9
  export { compareSimLogsEvents, simLogsEventOverheadBytes, simLogsEventSizeBytes, } from "./event/sim-logs-event.js";
10
10
  export { SimLogsEventIds } from "./event/sim-logs-event-ids.js";
11
11
  export { SimLogsFilterPattern } from "./event/sim-logs-filter-pattern.js";
12
+ export { SimLogsMetricFilter } from "./metric/sim-logs-metric-filter.js";
13
+ export { SimLogsMetricFilterStore } from "./metric/sim-logs-metric-filter-store.js";
14
+ export { SimLogsMetricTransformation, simLogsMaximumMetricDimensions, } from "./metric/sim-logs-metric-transformation.js";
15
+ export { metricFilterSource, simLogsEmbeddedMetricSource, } from "./metric/sim-logs-metric-publication-failure.js";
12
16
  export { simLogsStandardLogGroupClass } from "./command/group/sim-logs-unsimulated-group-input.js";
13
17
  export { SimLogsDeliverySource } from "./delivery/sim-logs-delivery-source.js";
14
18
  export { SimLogsDeliveryDestination } from "./delivery/sim-logs-delivery-destination.js";
@@ -0,0 +1,40 @@
1
+ import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimAws } from "../../../aws/sim-aws.js";
3
+ import type { SimLogsMetricDatapoint } from "../sim-logs-metric-datapoint.js";
4
+ import type { SimLogsMetricPublications } from "../sim-logs-metric-publications.js";
5
+ interface SimAwsLogsMetricFilterMetricsProperties {
6
+ readonly simAws: SimAws;
7
+ readonly accountRegionScope: SimAwsAccountRegionScope;
8
+ }
9
+ /**
10
+ * The simulated CloudWatch a metric filter's datapoints are published into.
11
+ *
12
+ * Real CloudWatch Logs publishes a filter's metric in the Account and Region
13
+ * of the log group, and there is no way to point one at another Region, so
14
+ * this scope's own CloudWatch is the one to write to.
15
+ *
16
+ * Publication goes through the ordinary `PutMetricData` path, which keeps one
17
+ * route into the metric store rather than a private one. A filter naming a
18
+ * reserved `AWS/` namespace is therefore refused exactly as a caller putting
19
+ * into one is.
20
+ *
21
+ * The Account root is named as the caller rather than left to be resolved.
22
+ * Real CloudWatch Logs publishes a filter's datapoint itself, and no policy
23
+ * anybody writes gates it. Leaving the caller off would pick up the ambient
24
+ * one, so a filter over a Lambda function's log group would publish as that
25
+ * function's execution role and be denied for a metric the role has no reason
26
+ * to name.
27
+ */
28
+ export declare class SimAwsLogsMetricFilterMetrics implements SimLogsMetricPublications {
29
+ #private;
30
+ constructor(properties: SimAwsLogsMetricFilterMetricsProperties);
31
+ /**
32
+ * Publish the datapoints one log event produced.
33
+ *
34
+ * `PutMetricData` carries one namespace per request, so datapoints are
35
+ * grouped by the namespace they were published under. One batch writing into
36
+ * two namespaces is two requests, as it is on real AWS.
37
+ */
38
+ publish(datapoints: readonly SimLogsMetricDatapoint[]): Promise<void>;
39
+ }
40
+ export {};
@@ -0,0 +1,78 @@
1
+ import { makeSimAwsAccountRootPrincipal } from "../../../aws/caller/sim-aws-account-root-principal.js";
2
+ /**
3
+ * The simulated CloudWatch a metric filter's datapoints are published into.
4
+ *
5
+ * Real CloudWatch Logs publishes a filter's metric in the Account and Region
6
+ * of the log group, and there is no way to point one at another Region, so
7
+ * this scope's own CloudWatch is the one to write to.
8
+ *
9
+ * Publication goes through the ordinary `PutMetricData` path, which keeps one
10
+ * route into the metric store rather than a private one. A filter naming a
11
+ * reserved `AWS/` namespace is therefore refused exactly as a caller putting
12
+ * into one is.
13
+ *
14
+ * The Account root is named as the caller rather than left to be resolved.
15
+ * Real CloudWatch Logs publishes a filter's datapoint itself, and no policy
16
+ * anybody writes gates it. Leaving the caller off would pick up the ambient
17
+ * one, so a filter over a Lambda function's log group would publish as that
18
+ * function's execution role and be denied for a metric the role has no reason
19
+ * to name.
20
+ */
21
+ export class SimAwsLogsMetricFilterMetrics {
22
+ #simAws;
23
+ #accountRegionScope;
24
+ constructor(properties) {
25
+ this.#simAws = properties.simAws;
26
+ this.#accountRegionScope = properties.accountRegionScope;
27
+ }
28
+ /**
29
+ * Publish the datapoints one log event produced.
30
+ *
31
+ * `PutMetricData` carries one namespace per request, so datapoints are
32
+ * grouped by the namespace they were published under. One batch writing into
33
+ * two namespaces is two requests, as it is on real AWS.
34
+ */
35
+ async publish(datapoints) {
36
+ const scope = this.#accountRegionScope;
37
+ const cloudWatch = this.#simAws
38
+ .accountRegionScope(scope.accountId, scope.regionName)
39
+ .cloudWatch();
40
+ const caller = makeSimAwsAccountRootPrincipal(scope.accountId);
41
+ for (const [namespace, data] of byNamespace(datapoints)) {
42
+ // oxlint-disable-next-line no-await-in-loop -- one request per namespace, in order
43
+ await cloudWatch.putMetricData({ input: { Namespace: namespace, MetricData: data } }, { caller });
44
+ }
45
+ }
46
+ }
47
+ /**
48
+ * The datapoints grouped into one PutMetricData request per namespace.
49
+ */
50
+ function byNamespace(datapoints) {
51
+ const grouped = new Map();
52
+ for (const datapoint of datapoints) {
53
+ const data = grouped.get(datapoint.namespace) ?? [];
54
+ data.push(metricDatum(datapoint));
55
+ grouped.set(datapoint.namespace, data);
56
+ }
57
+ return grouped;
58
+ }
59
+ /**
60
+ * One datapoint as PutMetricData takes it.
61
+ *
62
+ * The timestamp is the instant CloudWatch Logs took the event, rather than the
63
+ * instant this runs. Publication happens on the background scheduler, and a
64
+ * clock that moved in between would otherwise file the datapoint under a later
65
+ * period than the log line it counts.
66
+ */
67
+ function metricDatum(datapoint) {
68
+ return {
69
+ MetricName: datapoint.metricName,
70
+ Value: datapoint.value,
71
+ Timestamp: new Date(datapoint.timestamp),
72
+ Unit: datapoint.unit,
73
+ Dimensions: datapoint.dimensions.map((dimension) => ({
74
+ Name: dimension.name,
75
+ Value: dimension.value,
76
+ })),
77
+ };
78
+ }
@@ -0,0 +1,25 @@
1
+ import type { SimLogsMetricDatapoint } from "../sim-logs-metric-datapoint.js";
2
+ /**
3
+ * One metric an EMF document declared and this could not publish.
4
+ */
5
+ export interface SimLogsEmbeddedMetricSkip {
6
+ readonly metricNamespace: string;
7
+ readonly metricName: string;
8
+ readonly reason: string;
9
+ }
10
+ /**
11
+ * What one log event's EMF document produced.
12
+ */
13
+ export interface SimLogsEmbeddedMetricReading {
14
+ readonly datapoints: readonly SimLogsMetricDatapoint[];
15
+ readonly skipped: readonly SimLogsEmbeddedMetricSkip[];
16
+ }
17
+ /**
18
+ * Read the metrics one log event's message publishes as EMF.
19
+ *
20
+ * A message that is not an EMF document reads as nothing at all. The timestamp
21
+ * comes from the document where it carries one, because a Powertools handler
22
+ * stamps its own document, and from the instant CloudWatch Logs took the event
23
+ * where it does not.
24
+ */
25
+ export declare function simLogsEmbeddedMetricReading(message: string, ingestionTime: number): SimLogsEmbeddedMetricReading;
@@ -0,0 +1,81 @@
1
+ import { simLogsEmbeddedMetricDocument, } from "./sim-logs-embedded-metric-document.js";
2
+ import { embeddedMetricDimensions, embeddedMetricValues, } from "./sim-logs-embedded-metric-values.js";
3
+ const nothingRead = {
4
+ datapoints: [],
5
+ skipped: [],
6
+ };
7
+ /**
8
+ * Read the metrics one log event's message publishes as EMF.
9
+ *
10
+ * A message that is not an EMF document reads as nothing at all. The timestamp
11
+ * comes from the document where it carries one, because a Powertools handler
12
+ * stamps its own document, and from the instant CloudWatch Logs took the event
13
+ * where it does not.
14
+ */
15
+ export function simLogsEmbeddedMetricReading(message, ingestionTime) {
16
+ const document = simLogsEmbeddedMetricDocument(message);
17
+ if (document === undefined) {
18
+ return nothingRead;
19
+ }
20
+ const datapoints = [];
21
+ const skipped = [];
22
+ const timestamp = document.timestamp ?? ingestionTime;
23
+ for (const directive of document.directives) {
24
+ const read = readDirective(document, directive, timestamp);
25
+ datapoints.push(...read.datapoints);
26
+ skipped.push(...read.skipped);
27
+ }
28
+ return { datapoints, skipped };
29
+ }
30
+ /**
31
+ * Why a directive that asked for dimensions can publish none of its metrics.
32
+ */
33
+ function unusableDimensions(directive, dimensionSets) {
34
+ return directive.declaresDimensions && dimensionSets.length === 0
35
+ ? `The document declares dimensions for ${directive.namespace} and ` +
36
+ `carries no usable set of them, so there is no identity to publish ` +
37
+ `under.`
38
+ : undefined;
39
+ }
40
+ function readDirective(document, directive, timestamp) {
41
+ const datapoints = [];
42
+ const skipped = [];
43
+ const resolved = directive.dimensionSets
44
+ .map((keys) => embeddedMetricDimensions(document, keys))
45
+ .filter((dimensions) => dimensions !== undefined);
46
+ // A directive asking for no dimensions publishes undimensioned. One that
47
+ // asked and got nothing usable publishes nothing at all.
48
+ const dimensionSets = directive.declaresDimensions ? resolved : [[]];
49
+ const noIdentity = unusableDimensions(directive, dimensionSets);
50
+ const skip = (metricName, reason) => {
51
+ skipped.push({
52
+ metricNamespace: directive.namespace,
53
+ metricName,
54
+ reason,
55
+ });
56
+ };
57
+ for (const metric of directive.metrics) {
58
+ const values = embeddedMetricValues(document, metric);
59
+ if (typeof values === "string") {
60
+ skip(metric.name, values);
61
+ continue;
62
+ }
63
+ if (noIdentity !== undefined) {
64
+ skip(metric.name, noIdentity);
65
+ continue;
66
+ }
67
+ for (const dimensions of dimensionSets) {
68
+ for (const value of values) {
69
+ datapoints.push({
70
+ namespace: directive.namespace,
71
+ metricName: metric.name,
72
+ value,
73
+ timestamp,
74
+ unit: metric.unit,
75
+ dimensions,
76
+ });
77
+ }
78
+ }
79
+ }
80
+ return { datapoints, skipped };
81
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The property an Embedded Metric Format document carries its metadata under.
3
+ *
4
+ * A log event without it is an ordinary line, and the great majority of lines
5
+ * in a log group are. Looking for this before parsing anything is what keeps
6
+ * the check on the write path cheap.
7
+ */
8
+ export declare const embeddedMetricMetadataKey = "_aws";
9
+ /**
10
+ * One metric an EMF document declares.
11
+ */
12
+ export interface SimLogsEmbeddedMetricDeclaration {
13
+ readonly name: string;
14
+ readonly unit: string | undefined;
15
+ readonly storageResolution: number | undefined;
16
+ }
17
+ /**
18
+ * One namespace's worth of an EMF document's metadata.
19
+ *
20
+ * `dimensionSets` is a list of dimension key lists, and each inner list is one
21
+ * whole dimension set. A document declaring two sets publishes each of its
22
+ * metrics once per set.
23
+ */
24
+ export interface SimLogsEmbeddedMetricDirective {
25
+ readonly namespace: string;
26
+ /**
27
+ * Whether the directive asked for dimensions at all.
28
+ *
29
+ * A directive that asked for none publishes undimensioned. One that asked
30
+ * and whose sets all turn out to be unusable publishes nothing, because
31
+ * falling back to no dimensions would put the datapoint on a metric the
32
+ * document never named.
33
+ */
34
+ readonly declaresDimensions: boolean;
35
+ readonly dimensionSets: readonly (readonly string[])[];
36
+ readonly metrics: readonly SimLogsEmbeddedMetricDeclaration[];
37
+ }
38
+ /**
39
+ * An Embedded Metric Format document read out of one log event.
40
+ *
41
+ * `values` is every top-level property of the document, which is where both
42
+ * the metric values and the dimension values live. The metadata names them,
43
+ * and the document body carries them.
44
+ */
45
+ export interface SimLogsEmbeddedMetricDocument {
46
+ readonly timestamp: number | undefined;
47
+ readonly directives: readonly SimLogsEmbeddedMetricDirective[];
48
+ readonly values: ReadonlyMap<string, unknown>;
49
+ }
50
+ /**
51
+ * Read a log event's message as an EMF document, or answer undefined.
52
+ *
53
+ * Anything that is not JSON, is not an object, or carries no usable `_aws`
54
+ * metadata is an ordinary log line. It is stored and left alone rather than
55
+ * refused, because a log group is full of lines that were never metrics.
56
+ */
57
+ export declare function simLogsEmbeddedMetricDocument(message: string): SimLogsEmbeddedMetricDocument | undefined;