@kensio/yulin 1.20.17 → 1.21.1

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 (662) 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/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
  4. package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
  5. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
  7. package/dist/service/aws/factory/sim-aws-lambda-collaborators.d.ts +2 -0
  8. package/dist/service/aws/factory/sim-aws-lambda-collaborators.js +3 -0
  9. package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +7 -0
  10. package/dist/service/aws/factory/sim-aws-logs-collaborators.js +10 -0
  11. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +3 -0
  12. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +5 -0
  13. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  15. package/dist/service/aws/sim-aws-account-region-scope.d.ts +3 -0
  16. package/dist/service/aws/sim-aws-account-region-scope.js +4 -0
  17. package/dist/service/aws/sim-aws-account.d.ts +3 -0
  18. package/dist/service/aws/sim-aws-account.js +4 -0
  19. package/dist/service/aws/sim-aws-region.d.ts +3 -0
  20. package/dist/service/aws/sim-aws-region.js +4 -0
  21. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  22. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  23. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.d.ts +6 -0
  24. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.js +12 -0
  25. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.d.ts +12 -0
  26. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.js +31 -0
  27. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.d.ts +15 -0
  28. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.js +38 -0
  29. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.d.ts +6 -0
  30. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.js +17 -0
  31. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.d.ts +6 -0
  32. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.js +29 -0
  33. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.d.ts +11 -0
  34. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.js +37 -0
  35. package/dist/service/backup/cfn/sim-cfn-backup-properties.d.ts +12 -0
  36. package/dist/service/backup/cfn/sim-cfn-backup-properties.js +37 -0
  37. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.d.ts +17 -0
  38. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.js +62 -0
  39. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.d.ts +7 -0
  40. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.js +22 -0
  41. package/dist/service/backup/command/sim-backup-authorizer.d.ts +11 -0
  42. package/dist/service/backup/command/sim-backup-authorizer.js +24 -0
  43. package/dist/service/backup/command/sim-backup-command.types.d.ts +238 -0
  44. package/dist/service/backup/command/sim-backup-command.types.js +1 -0
  45. package/dist/service/backup/command/sim-backup-configuration-commands.d.ts +32 -0
  46. package/dist/service/backup/command/sim-backup-configuration-commands.js +138 -0
  47. package/dist/service/backup/command/sim-backup-job-commands.d.ts +23 -0
  48. package/dist/service/backup/command/sim-backup-job-commands.js +52 -0
  49. package/dist/service/backup/command/sim-backup-recovery-point-commands.d.ts +18 -0
  50. package/dist/service/backup/command/sim-backup-recovery-point-commands.js +38 -0
  51. package/dist/service/backup/command/sim-backup-request-options.d.ts +4 -0
  52. package/dist/service/backup/command/sim-backup-request-options.js +1 -0
  53. package/dist/service/backup/command/sim-backup-required-string.d.ts +2 -0
  54. package/dist/service/backup/command/sim-backup-required-string.js +8 -0
  55. package/dist/service/backup/error/sim-backup.error.d.ts +38 -0
  56. package/dist/service/backup/error/sim-backup.error.js +50 -0
  57. package/dist/service/backup/index.d.ts +9 -0
  58. package/dist/service/backup/index.js +7 -0
  59. package/dist/service/backup/job/sim-backup-job-input.d.ts +11 -0
  60. package/dist/service/backup/job/sim-backup-job-input.js +1 -0
  61. package/dist/service/backup/job/sim-backup-job-page.d.ts +22 -0
  62. package/dist/service/backup/job/sim-backup-job-page.js +54 -0
  63. package/dist/service/backup/job/sim-backup-job.d.ts +25 -0
  64. package/dist/service/backup/job/sim-backup-job.factory.d.ts +10 -0
  65. package/dist/service/backup/job/sim-backup-job.factory.js +24 -0
  66. package/dist/service/backup/job/sim-backup-job.js +54 -0
  67. package/dist/service/backup/job/sim-backup-jobs.d.ts +18 -0
  68. package/dist/service/backup/job/sim-backup-jobs.js +33 -0
  69. package/dist/service/backup/plan/sim-backup-plan-schedules.d.ts +21 -0
  70. package/dist/service/backup/plan/sim-backup-plan-schedules.js +66 -0
  71. package/dist/service/backup/plan/sim-backup-plan.d.ts +22 -0
  72. package/dist/service/backup/plan/sim-backup-plan.js +37 -0
  73. package/dist/service/backup/plan/sim-backup-rule.d.ts +9 -0
  74. package/dist/service/backup/plan/sim-backup-rule.js +71 -0
  75. package/dist/service/backup/recovery-point/sim-backup-recovery-point.d.ts +28 -0
  76. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.d.ts +9 -0
  77. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.js +23 -0
  78. package/dist/service/backup/recovery-point/sim-backup-recovery-point.js +62 -0
  79. package/dist/service/backup/sdk/sim-backup-sdk-command-router.d.ts +9 -0
  80. package/dist/service/backup/sdk/sim-backup-sdk-command-router.js +37 -0
  81. package/dist/service/backup/selection/sim-backup-selection.d.ts +22 -0
  82. package/dist/service/backup/selection/sim-backup-selection.js +43 -0
  83. package/dist/service/backup/sim-backup-arn.d.ts +7 -0
  84. package/dist/service/backup/sim-backup-arn.js +12 -0
  85. package/dist/service/backup/sim-backup-properties.d.ts +8 -0
  86. package/dist/service/backup/sim-backup-properties.js +1 -0
  87. package/dist/service/backup/sim-backup-resource-resolver.d.ts +24 -0
  88. package/dist/service/backup/sim-backup-resource-resolver.js +44 -0
  89. package/dist/service/backup/sim-backup-store.d.ts +29 -0
  90. package/dist/service/backup/sim-backup-store.js +80 -0
  91. package/dist/service/backup/sim-backup.d.ts +48 -0
  92. package/dist/service/backup/sim-backup.js +139 -0
  93. package/dist/service/backup/vault/sim-backup-vault-description.d.ts +12 -0
  94. package/dist/service/backup/vault/sim-backup-vault-description.js +15 -0
  95. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.d.ts +5 -0
  96. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.js +31 -0
  97. package/dist/service/backup/vault/sim-backup-vault-lock.d.ts +15 -0
  98. package/dist/service/backup/vault/sim-backup-vault-lock.js +23 -0
  99. package/dist/service/backup/vault/sim-backup-vault-recovery-points.d.ts +12 -0
  100. package/dist/service/backup/vault/sim-backup-vault-recovery-points.js +30 -0
  101. package/dist/service/backup/vault/sim-backup-vault-retention.d.ts +4 -0
  102. package/dist/service/backup/vault/sim-backup-vault-retention.js +20 -0
  103. package/dist/service/backup/vault/sim-backup-vault.d.ts +33 -0
  104. package/dist/service/backup/vault/sim-backup-vault.js +49 -0
  105. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.d.ts +3 -0
  106. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.js +66 -0
  107. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  108. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
  109. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
  110. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +6 -0
  111. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.d.ts +23 -0
  112. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.js +22 -0
  113. package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
  114. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.d.ts +49 -0
  115. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.js +61 -0
  116. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.d.ts +51 -0
  117. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.js +1 -0
  118. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
  119. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +12 -1
  120. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
  121. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
  122. package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
  123. package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
  124. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
  125. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
  126. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
  127. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
  128. package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
  129. package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
  130. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
  131. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
  132. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
  133. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
  134. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
  135. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
  136. package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
  137. package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
  138. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
  139. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
  140. package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
  141. package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
  142. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
  143. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
  144. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +13 -3
  145. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +31 -3
  146. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +8 -3
  147. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +96 -12
  148. package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
  149. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +9 -8
  150. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +40 -11
  151. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
  152. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
  153. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
  154. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
  155. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
  156. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
  157. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.d.ts +3 -2
  158. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.js +3 -2
  159. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -6
  160. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +6 -6
  161. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +8 -23
  162. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
  163. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
  164. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
  165. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
  166. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
  167. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
  168. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
  169. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -0
  170. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  171. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +12 -0
  172. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
  173. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
  174. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
  175. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
  176. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
  177. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
  178. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
  179. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
  180. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
  181. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
  182. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
  183. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
  184. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
  185. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
  186. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +2 -0
  187. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
  188. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
  189. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
  190. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
  191. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
  192. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
  193. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
  194. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
  195. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
  196. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
  197. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
  198. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
  199. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
  200. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
  201. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +7 -5
  202. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +8 -5
  203. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +4 -1
  204. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +2 -0
  205. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +6 -2
  206. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
  207. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
  208. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
  209. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
  210. package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +5 -3
  211. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +2 -0
  212. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
  213. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
  214. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
  215. package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
  216. package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
  217. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
  218. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
  219. package/dist/service/cloudfront/index.d.ts +2 -0
  220. package/dist/service/cloudfront/index.js +1 -0
  221. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
  222. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
  223. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
  224. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
  225. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
  226. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
  227. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
  228. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
  229. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
  230. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
  231. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
  232. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
  233. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
  234. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
  235. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
  236. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
  237. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
  238. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
  239. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
  240. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
  241. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
  242. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
  243. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
  244. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
  245. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
  246. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
  247. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
  248. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
  249. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
  250. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
  251. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
  252. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +12 -0
  253. package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
  254. package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
  255. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +12 -0
  256. package/dist/service/cloudfront/sim-cloudfront-commands.js +12 -0
  257. package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
  258. package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
  259. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
  260. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
  261. package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +22 -5
  262. package/dist/service/cloudfront/sim-cloudfront-policies.js +27 -5
  263. package/dist/service/cloudfront/sim-cloudfront.d.ts +15 -31
  264. package/dist/service/cloudfront/sim-cloudfront.js +23 -41
  265. package/dist/service/cloudwatch/index.d.ts +1 -0
  266. package/dist/service/cloudwatch/index.js +1 -0
  267. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +2 -0
  268. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +6 -0
  269. package/dist/service/cloudwatch/sim-cloudwatch.d.ts +9 -0
  270. package/dist/service/cloudwatch/sim-cloudwatch.js +10 -0
  271. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.d.ts +58 -0
  272. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.js +53 -0
  273. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.d.ts +3 -0
  274. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.js +8 -2
  275. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.d.ts +3 -0
  276. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.js +4 -0
  277. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.d.ts +11 -1
  278. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.js +13 -1
  279. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.d.ts +3 -0
  280. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.js +16 -4
  281. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.d.ts +7 -0
  282. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.js +11 -1
  283. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.d.ts +3 -0
  284. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.js +8 -2
  285. package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +19 -0
  286. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +1 -1
  287. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +3 -2
  288. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts +8 -0
  289. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +11 -3
  290. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.d.ts +11 -1
  291. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.js +13 -2
  292. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +11 -1
  293. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +11 -1
  294. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +7 -1
  295. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +18 -7
  296. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.d.ts +20 -3
  297. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.js +19 -3
  298. package/dist/service/cognito/command/hosted/sim-cognito-token-endpoint.d.ts +2 -0
  299. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.d.ts +8 -0
  300. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.js +13 -4
  301. package/dist/service/cognito/command/sim-cognito-commands.d.ts +5 -0
  302. package/dist/service/cognito/command/sim-cognito-commands.js +22 -2
  303. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.d.ts +74 -0
  304. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.js +110 -0
  305. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.d.ts +5 -49
  306. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.js +7 -87
  307. package/dist/service/cognito/command/user/sim-cognito-user-commands.d.ts +4 -0
  308. package/dist/service/cognito/command/user/sim-cognito-user-commands.js +38 -29
  309. package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +23 -0
  310. package/dist/service/cognito/error/sim-cognito-managed-login.error.js +36 -0
  311. package/dist/service/cognito/error/sim-cognito-throttle.error.d.ts +13 -0
  312. package/dist/service/cognito/error/sim-cognito-throttle.error.js +15 -0
  313. package/dist/service/cognito/index.d.ts +2 -0
  314. package/dist/service/cognito/index.js +2 -0
  315. package/dist/service/cognito/metric/sim-cognito-counted-request.d.ts +50 -0
  316. package/dist/service/cognito/metric/sim-cognito-counted-request.js +51 -0
  317. package/dist/service/cognito/metric/sim-cognito-metrics.d.ts +22 -0
  318. package/dist/service/cognito/metric/sim-cognito-metrics.js +26 -0
  319. package/dist/service/cognito/metric/sim-cognito-pool-metrics.d.ts +40 -0
  320. package/dist/service/cognito/metric/sim-cognito-pool-metrics.js +51 -0
  321. package/dist/service/cognito/metric/sim-cognito-throttled-request.d.ts +11 -0
  322. package/dist/service/cognito/metric/sim-cognito-throttled-request.js +15 -0
  323. package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +1 -0
  324. package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +6 -1
  325. package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +4 -1
  326. package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +6 -2
  327. package/dist/service/cognito/serve/page/sim-cognito-provider-page.d.ts +35 -0
  328. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +50 -0
  329. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +6 -0
  330. package/dist/service/cognito/sim-cognito-identity-provider.js +1 -0
  331. package/dist/service/cognito/sim-cognito-user-directory.js +3 -3
  332. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.d.ts +9 -0
  333. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.js +2 -0
  334. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.d.ts +8 -0
  335. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.js +8 -0
  336. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.d.ts +36 -0
  337. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.js +45 -0
  338. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.d.ts +42 -9
  339. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.js +56 -27
  340. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.d.ts +52 -0
  341. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.js +49 -0
  342. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +48 -0
  343. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +94 -0
  344. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.d.ts +13 -0
  345. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.js +19 -0
  346. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.d.ts +7 -0
  347. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.js +9 -0
  348. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.d.ts +3 -2
  349. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.js +3 -2
  350. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.d.ts +18 -1
  351. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.js +35 -18
  352. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +6 -5
  353. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +6 -5
  354. package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +6 -4
  355. package/dist/service/kms/command/sim-kms-request-options.d.ts +9 -5
  356. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  357. package/dist/service/lambda/command/create-function/create-function.handler.js +4 -1
  358. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  359. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +7 -11
  360. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +7 -8
  361. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.d.ts +11 -0
  362. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.js +31 -0
  363. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.d.ts +10 -0
  364. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.js +12 -0
  365. package/dist/service/lambda/function/sim-lambda-function.d.ts +3 -0
  366. package/dist/service/lambda/function/sim-lambda-function.js +6 -2
  367. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +7 -0
  368. package/dist/service/lambda/metric/sim-lambda-function-metrics.d.ts +47 -0
  369. package/dist/service/lambda/metric/sim-lambda-function-metrics.js +83 -0
  370. package/dist/service/lambda/metric/sim-lambda-iterator-age.d.ts +29 -0
  371. package/dist/service/lambda/metric/sim-lambda-iterator-age.js +41 -0
  372. package/dist/service/lambda/metric/sim-lambda-metrics.d.ts +12 -0
  373. package/dist/service/lambda/metric/sim-lambda-metrics.js +13 -0
  374. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  375. package/dist/service/lambda/sim-lambda-commands.js +2 -1
  376. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.d.ts +9 -0
  377. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.js +25 -0
  378. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.d.ts +30 -0
  379. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.js +52 -0
  380. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.d.ts +40 -0
  381. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.js +66 -0
  382. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.d.ts +19 -0
  383. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.js +40 -0
  384. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.d.ts +5 -0
  385. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.js +23 -0
  386. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.d.ts +25 -0
  387. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.js +58 -0
  388. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.d.ts +6 -0
  389. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.js +19 -0
  390. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -0
  391. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -0
  392. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +5 -3
  393. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +12 -3
  394. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
  395. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
  396. package/dist/service/logs/command/event/sim-logs-put-log-events.d.ts +3 -0
  397. package/dist/service/logs/command/event/sim-logs-put-log-events.js +3 -0
  398. package/dist/service/logs/command/group/sim-logs-log-group-commands.js +3 -3
  399. package/dist/service/logs/command/metric/metric-filter.command.d.ts +79 -0
  400. package/dist/service/logs/command/metric/metric-filter.command.js +1 -0
  401. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.d.ts +48 -0
  402. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.js +95 -0
  403. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.d.ts +11 -0
  404. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.js +79 -0
  405. package/dist/service/logs/command/sim-logs-command.types.d.ts +1 -0
  406. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
  407. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
  408. package/dist/service/logs/group/sim-logs-log-group.d.ts +6 -0
  409. package/dist/service/logs/group/sim-logs-log-group.js +6 -0
  410. package/dist/service/logs/index.d.ts +6 -0
  411. package/dist/service/logs/index.js +4 -0
  412. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.d.ts +40 -0
  413. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.js +78 -0
  414. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.d.ts +25 -0
  415. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.js +81 -0
  416. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.d.ts +57 -0
  417. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.js +85 -0
  418. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.d.ts +24 -0
  419. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.js +41 -0
  420. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.d.ts +20 -0
  421. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.js +39 -0
  422. package/dist/service/logs/metric/sim-logs-metric-datapoint.d.ts +25 -0
  423. package/dist/service/logs/metric/sim-logs-metric-datapoint.js +1 -0
  424. package/dist/service/logs/metric/sim-logs-metric-fan-out.d.ts +62 -0
  425. package/dist/service/logs/metric/sim-logs-metric-fan-out.js +116 -0
  426. package/dist/service/logs/metric/sim-logs-metric-filter-selection.d.ts +17 -0
  427. package/dist/service/logs/metric/sim-logs-metric-filter-selection.js +17 -0
  428. package/dist/service/logs/metric/sim-logs-metric-filter-store.d.ts +35 -0
  429. package/dist/service/logs/metric/sim-logs-metric-filter-store.js +47 -0
  430. package/dist/service/logs/metric/sim-logs-metric-filter.d.ts +49 -0
  431. package/dist/service/logs/metric/sim-logs-metric-filter.js +95 -0
  432. package/dist/service/logs/metric/sim-logs-metric-publication-failure.d.ts +31 -0
  433. package/dist/service/logs/metric/sim-logs-metric-publication-failure.js +12 -0
  434. package/dist/service/logs/metric/sim-logs-metric-publications.d.ts +11 -0
  435. package/dist/service/logs/metric/sim-logs-metric-publications.js +1 -0
  436. package/dist/service/logs/metric/sim-logs-metric-transformation.d.ts +45 -0
  437. package/dist/service/logs/metric/sim-logs-metric-transformation.js +127 -0
  438. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +12 -0
  439. package/dist/service/logs/sim-logs-commands.d.ts +12 -0
  440. package/dist/service/logs/sim-logs-commands.js +17 -0
  441. package/dist/service/logs/sim-logs-metric-operations.d.ts +31 -0
  442. package/dist/service/logs/sim-logs-metric-operations.js +37 -0
  443. package/dist/service/logs/sim-logs.d.ts +4 -3
  444. package/dist/service/logs/sim-logs.js +4 -3
  445. package/dist/service/logs/write/sim-logs-service-writer.d.ts +3 -0
  446. package/dist/service/logs/write/sim-logs-service-writer.js +5 -1
  447. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +32 -0
  448. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +31 -1
  449. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +13 -2
  450. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +18 -1
  451. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +17 -1
  452. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +27 -3
  453. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +45 -0
  454. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +90 -0
  455. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.d.ts +42 -0
  456. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.js +59 -0
  457. package/dist/service/s3/bucket/lock/sim-s3-default-retention.d.ts +8 -0
  458. package/dist/service/s3/bucket/lock/sim-s3-default-retention.js +15 -0
  459. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.d.ts +49 -0
  460. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.js +102 -0
  461. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.d.ts +14 -0
  462. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.js +1 -0
  463. package/dist/service/s3/bucket/lock/sim-s3-object-lock.d.ts +62 -0
  464. package/dist/service/s3/bucket/lock/sim-s3-object-lock.js +100 -0
  465. package/dist/service/s3/bucket/lock/sim-s3-object-retention.d.ts +55 -0
  466. package/dist/service/s3/bucket/lock/sim-s3-object-retention.js +82 -0
  467. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  468. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
  469. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts +1 -1
  470. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +1 -2
  471. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +114 -0
  472. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +148 -0
  473. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +30 -29
  474. package/dist/service/s3/bucket/sim-s3-bucket.js +42 -45
  475. package/dist/service/s3/bucket/sim-s3-object-deletion.d.ts +30 -0
  476. package/dist/service/s3/bucket/sim-s3-object-deletion.js +29 -0
  477. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.d.ts +61 -0
  478. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.js +65 -0
  479. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.d.ts +97 -0
  480. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.js +176 -0
  481. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.d.ts +10 -0
  482. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.js +16 -0
  483. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +85 -0
  484. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +101 -0
  485. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.d.ts +52 -0
  486. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.js +91 -0
  487. package/dist/service/s3/bucket/versioning/sim-s3-version-page.d.ts +32 -0
  488. package/dist/service/s3/bucket/versioning/sim-s3-version-page.js +45 -0
  489. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +0 -5
  490. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +3 -14
  491. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +18 -1
  492. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +34 -1
  493. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.d.ts +37 -0
  494. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.js +78 -0
  495. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.d.ts +20 -0
  496. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.js +107 -0
  497. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +14 -7
  498. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +29 -37
  499. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +62 -0
  500. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +89 -0
  501. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +9 -5
  502. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +16 -16
  503. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +9 -5
  504. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +17 -6
  505. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.d.ts +19 -0
  506. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.js +28 -0
  507. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +24 -0
  508. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +30 -0
  509. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +2 -0
  510. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +3 -1
  511. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +3 -1
  512. package/dist/service/s3/command/copy-object/copy-object.handler.js +3 -1
  513. package/dist/service/s3/command/delete-object/delete-object-version-removal.d.ts +50 -0
  514. package/dist/service/s3/command/delete-object/delete-object-version-removal.js +52 -0
  515. package/dist/service/s3/command/delete-object/delete-object.command.d.ts +19 -2
  516. package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +7 -1
  517. package/dist/service/s3/command/delete-object/delete-object.handler.js +28 -16
  518. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.d.ts +24 -0
  519. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.js +32 -0
  520. package/dist/service/s3/command/delete-objects/delete-object-attempt.d.ts +6 -2
  521. package/dist/service/s3/command/delete-objects/delete-object-attempt.js +6 -2
  522. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +10 -9
  523. package/dist/service/s3/command/delete-objects/delete-objects-outcome.js +9 -1
  524. package/dist/service/s3/command/delete-objects/delete-objects.command.d.ts +6 -0
  525. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.d.ts +23 -0
  526. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.js +1 -0
  527. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.d.ts +31 -0
  528. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.js +40 -0
  529. package/dist/service/s3/command/get-object/get-object-loader.d.ts +3 -2
  530. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  531. package/dist/service/s3/command/get-object/get-object.command.d.ts +9 -1
  532. package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
  533. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.d.ts +25 -0
  534. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.js +1 -0
  535. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.d.ts +31 -0
  536. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.js +41 -0
  537. package/dist/service/s3/command/head-object/head-object-loader.d.ts +1 -1
  538. package/dist/service/s3/command/head-object/head-object-loader.js +7 -3
  539. package/dist/service/s3/command/head-object/head-object.command.d.ts +9 -1
  540. package/dist/service/s3/command/head-object/head-object.handler.js +1 -1
  541. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.d.ts +31 -0
  542. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.js +55 -0
  543. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.d.ts +17 -0
  544. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +34 -0
  545. package/dist/service/s3/command/list-object-versions/list-object-versions.command.d.ts +59 -0
  546. package/dist/service/s3/command/list-object-versions/list-object-versions.command.js +1 -0
  547. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.d.ts +34 -0
  548. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.js +62 -0
  549. package/dist/service/s3/command/object/sim-s3-read-object-version.d.ts +34 -0
  550. package/dist/service/s3/command/object/sim-s3-read-object-version.js +52 -0
  551. package/dist/service/s3/command/object-lock/sim-s3-locked-version.d.ts +11 -0
  552. package/dist/service/s3/command/object-lock/sim-s3-locked-version.js +27 -0
  553. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.d.ts +42 -0
  554. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.js +66 -0
  555. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.d.ts +30 -0
  556. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.js +41 -0
  557. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.d.ts +21 -0
  558. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.js +1 -0
  559. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.d.ts +31 -0
  560. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.js +44 -0
  561. package/dist/service/s3/command/put-object/put-object.command.d.ts +3 -0
  562. package/dist/service/s3/command/put-object/put-object.handler.js +10 -10
  563. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.d.ts +24 -0
  564. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.js +1 -0
  565. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.d.ts +32 -0
  566. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.js +41 -0
  567. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.d.ts +21 -0
  568. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.js +1 -0
  569. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.d.ts +32 -0
  570. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.js +47 -0
  571. package/dist/service/s3/command/put-object-retention/put-object-retention.command.d.ts +29 -0
  572. package/dist/service/s3/command/put-object-retention/put-object-retention.command.js +1 -0
  573. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.d.ts +31 -0
  574. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.js +42 -0
  575. package/dist/service/s3/command/sim-s3-command.types.d.ts +7 -0
  576. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.d.ts +35 -0
  577. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.js +57 -0
  578. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.d.ts +26 -0
  579. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.js +34 -0
  580. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.d.ts +13 -0
  581. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.js +28 -0
  582. package/dist/service/s3/error/sim-s3-object-lock.error.d.ts +22 -0
  583. package/dist/service/s3/error/sim-s3-object-lock.error.js +26 -0
  584. package/dist/service/s3/error/sim-s3.error.d.ts +22 -0
  585. package/dist/service/s3/error/sim-s3.error.js +26 -0
  586. package/dist/service/s3/notification/event/sim-s3-event-records.js +3 -0
  587. package/dist/service/s3/notification/event/sim-s3-event.type.d.ts +5 -3
  588. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +15 -0
  589. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +4 -1
  590. package/dist/service/s3/notification/event/sim-s3-object-event.d.ts +6 -0
  591. package/dist/service/s3/notification/event/sim-s3-object-event.js +2 -0
  592. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
  593. package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
  594. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.d.ts +10 -0
  595. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +84 -0
  596. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +6 -132
  597. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.d.ts +10 -0
  598. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.js +28 -0
  599. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.d.ts +7 -0
  600. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.js +80 -0
  601. package/dist/service/s3/sim-s3-commands.d.ts +4 -0
  602. package/dist/service/s3/sim-s3-commands.js +6 -0
  603. package/dist/service/s3/sim-s3-operations.d.ts +5 -5
  604. package/dist/service/s3/sim-s3-operations.js +5 -6
  605. package/dist/service/s3/sim-s3-version-operations.d.ts +32 -0
  606. package/dist/service/s3/sim-s3-version-operations.js +45 -0
  607. package/dist/service/scheduler/command/schedule/schedule.command.d.ts +9 -2
  608. package/dist/service/scheduler/command/schedule/sim-scheduler-described-schedule.js +2 -0
  609. package/dist/service/scheduler/command/schedule/sim-scheduler-unsimulated-target.js +0 -6
  610. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -1
  611. package/dist/service/scheduler/command/sim-scheduler-commands.js +1 -0
  612. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.d.ts +17 -0
  613. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.js +29 -0
  614. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.d.ts +6 -1
  615. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +9 -0
  616. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.d.ts +18 -0
  617. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.js +62 -0
  618. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.d.ts +29 -0
  619. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.js +81 -0
  620. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +9 -5
  621. package/dist/service/scheduler/delivery/sim-scheduler-delivery.d.ts +11 -0
  622. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.d.ts +5 -1
  623. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.js +8 -0
  624. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.d.ts +4 -1
  625. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.js +20 -15
  626. package/dist/service/scheduler/index.d.ts +1 -1
  627. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.d.ts +15 -0
  628. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.js +24 -0
  629. package/dist/service/scheduler/target/sim-scheduler-retry-policy.d.ts +20 -0
  630. package/dist/service/scheduler/target/sim-scheduler-retry-policy.js +37 -0
  631. package/dist/service/scheduler/target/sim-scheduler-target.d.ts +6 -0
  632. package/dist/service/scheduler/target/sim-scheduler-target.js +12 -0
  633. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
  634. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
  635. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
  636. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
  637. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
  638. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
  639. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
  640. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
  641. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +7 -10
  642. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +10 -11
  643. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +11 -16
  644. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
  645. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
  646. package/docs/README.md +1 -0
  647. package/docs/services/athena/README.md +7 -1
  648. package/docs/services/backup/README.md +553 -0
  649. package/docs/services/cloudformation/README.md +18 -7
  650. package/docs/services/cloudfront/README.md +903 -25
  651. package/docs/services/cloudwatch/README.md +159 -3
  652. package/docs/services/cognito/README.md +370 -7
  653. package/docs/services/ecs/README.md +5 -2
  654. package/docs/services/kms/README.md +9 -5
  655. package/docs/services/lambda/README.md +28 -0
  656. package/docs/services/logs/README.md +290 -3
  657. package/docs/services/s3/README.md +463 -20
  658. package/docs/services/scheduler/README.md +48 -9
  659. package/docs/services/sqs/README.md +47 -10
  660. package/docs/services/ssm/README.md +26 -33
  661. package/llms.txt +1 -0
  662. package/package.json +7 -2
@@ -0,0 +1,47 @@
1
+ import { SimLogsResourceNotFoundException } from "../error/sim-logs.error.js";
2
+ /**
3
+ * The metric filters on one log group.
4
+ *
5
+ * They belong to the group the way its subscription filters and its streams
6
+ * do. A metric filter has no identity outside the group it watches, and
7
+ * deleting the group takes its filters with it.
8
+ */
9
+ export class SimLogsMetricFilterStore {
10
+ #filters = new Map();
11
+ /**
12
+ * Every filter on this group, in the order they were put.
13
+ */
14
+ get all() {
15
+ return this.#filters.values().toArray();
16
+ }
17
+ /**
18
+ * How many filters this group has, which is what `DescribeLogGroups` reports
19
+ * as `metricFilterCount`.
20
+ */
21
+ get count() {
22
+ return this.#filters.size;
23
+ }
24
+ /**
25
+ * Find a filter on this group by name.
26
+ */
27
+ find(filterName) {
28
+ return this.#filters.get(filterName);
29
+ }
30
+ /**
31
+ * Put a filter, replacing one of the same name.
32
+ *
33
+ * Putting a filter already there by name is an update rather than a second
34
+ * filter, which is what makes `PutMetricFilter` the way to change a pattern.
35
+ */
36
+ put(filter) {
37
+ this.#filters.set(filter.filterName, filter);
38
+ }
39
+ /**
40
+ * Remove a filter by name, refusing one that was never there.
41
+ */
42
+ delete(filterName) {
43
+ if (!this.#filters.delete(filterName)) {
44
+ throw new SimLogsResourceNotFoundException("The specified metric filter does not exist.");
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,49 @@
1
+ import type { SimLogsStoredEvent } from "../event/sim-logs-event.js";
2
+ import type { SimLogsMetricDatapoint } from "./sim-logs-metric-datapoint.js";
3
+ import type { SimLogsMetricTransformation } from "./sim-logs-metric-transformation.js";
4
+ interface SimLogsMetricFilterProperties {
5
+ readonly filterName: string;
6
+ readonly logGroupName: string;
7
+ readonly filterPattern: string | undefined;
8
+ readonly transformations: readonly SimLogsMetricTransformation[];
9
+ readonly creationTime: number;
10
+ }
11
+ /**
12
+ * One metric filter on a log group.
13
+ *
14
+ * The pattern is compiled once, when the filter is put, the way a subscription
15
+ * filter's is. A pattern this simulator cannot read is refused there rather
16
+ * than on the first event that happens to arrive.
17
+ */
18
+ export declare class SimLogsMetricFilter {
19
+ #private;
20
+ readonly filterName: string;
21
+ readonly logGroupName: string;
22
+ readonly filterPatternText: string;
23
+ readonly transformations: readonly SimLogsMetricTransformation[];
24
+ readonly creationTime: number;
25
+ constructor(properties: SimLogsMetricFilterProperties);
26
+ /**
27
+ * Whether this filter matches an event's message.
28
+ */
29
+ matches(message: string): boolean;
30
+ /**
31
+ * The datapoints a batch of log events publishes through this filter.
32
+ *
33
+ * A matching event publishes one datapoint per transformation, stamped with
34
+ * the instant CloudWatch Logs took it.
35
+ *
36
+ * A default value is published once for a period that took events and
37
+ * matched none of them, rather than once per event that missed. That is what
38
+ * real CloudWatch Logs reports: a minute with two records and one match
39
+ * counts one, and a minute with two records and no match reports the default
40
+ * once. Publishing per event would inflate `SampleCount` and change what an
41
+ * alarm over the metric decides.
42
+ */
43
+ datapoints(events: readonly SimLogsStoredEvent[]): readonly SimLogsMetricDatapoint[];
44
+ /**
45
+ * What one period of events publishes.
46
+ */
47
+ private periodDatapoints;
48
+ }
49
+ export {};
@@ -0,0 +1,95 @@
1
+ import { SimLogsFilterPattern } from "../event/sim-logs-filter-pattern.js";
2
+ /**
3
+ * How long a metric filter's aggregation period is.
4
+ *
5
+ * Real CloudWatch Logs aggregates and reports a filter's metric every minute,
6
+ * and the default value is what it reports for a minute that took log events
7
+ * and matched none of them.
8
+ */
9
+ const periodMilliseconds = 60_000;
10
+ /**
11
+ * One metric filter on a log group.
12
+ *
13
+ * The pattern is compiled once, when the filter is put, the way a subscription
14
+ * filter's is. A pattern this simulator cannot read is refused there rather
15
+ * than on the first event that happens to arrive.
16
+ */
17
+ export class SimLogsMetricFilter {
18
+ filterName;
19
+ logGroupName;
20
+ filterPatternText;
21
+ transformations;
22
+ creationTime;
23
+ #pattern;
24
+ /**
25
+ * The most recent period this filter matched something in.
26
+ *
27
+ * One period is remembered rather than all of them, so a filter cannot grow
28
+ * without bound over a long run. It is what stops a second write in a minute
29
+ * a match already landed in from publishing a default value over the top.
30
+ */
31
+ #matchedPeriod;
32
+ constructor(properties) {
33
+ this.filterName = properties.filterName;
34
+ this.logGroupName = properties.logGroupName;
35
+ this.filterPatternText = properties.filterPattern ?? "";
36
+ this.transformations = properties.transformations;
37
+ this.creationTime = properties.creationTime;
38
+ this.#pattern = new SimLogsFilterPattern(properties.filterPattern);
39
+ }
40
+ /**
41
+ * Whether this filter matches an event's message.
42
+ */
43
+ matches(message) {
44
+ return this.#pattern.matches(message);
45
+ }
46
+ /**
47
+ * The datapoints a batch of log events publishes through this filter.
48
+ *
49
+ * A matching event publishes one datapoint per transformation, stamped with
50
+ * the instant CloudWatch Logs took it.
51
+ *
52
+ * A default value is published once for a period that took events and
53
+ * matched none of them, rather than once per event that missed. That is what
54
+ * real CloudWatch Logs reports: a minute with two records and one match
55
+ * counts one, and a minute with two records and no match reports the default
56
+ * once. Publishing per event would inflate `SampleCount` and change what an
57
+ * alarm over the metric decides.
58
+ */
59
+ datapoints(events) {
60
+ const published = [];
61
+ for (const [period, inPeriod] of byPeriod(events)) {
62
+ published.push(...this.periodDatapoints(period, inPeriod));
63
+ }
64
+ return published;
65
+ }
66
+ /**
67
+ * What one period of events publishes.
68
+ */
69
+ periodDatapoints(period, events) {
70
+ const matched = events.filter((event) => this.matches(event.message));
71
+ if (matched.length > 0) {
72
+ this.#matchedPeriod = period;
73
+ return matched.flatMap((event) => this.transformations.map((transformation) => transformation.matched(event.ingestionTime)));
74
+ }
75
+ if (this.#matchedPeriod === period) {
76
+ return [];
77
+ }
78
+ return this.transformations
79
+ .map((transformation) => transformation.unmatched(period))
80
+ .filter((datapoint) => datapoint !== undefined);
81
+ }
82
+ }
83
+ /**
84
+ * A batch's events grouped into the aggregation periods they were taken in.
85
+ */
86
+ function byPeriod(events) {
87
+ const grouped = new Map();
88
+ for (const event of events) {
89
+ const period = Math.floor(event.ingestionTime / periodMilliseconds) * periodMilliseconds;
90
+ const inPeriod = grouped.get(period) ?? [];
91
+ inPeriod.push(event);
92
+ grouped.set(period, inPeriod);
93
+ }
94
+ return grouped;
95
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * What asked for a datapoint the log group could not publish.
3
+ *
4
+ * A discriminated pair rather than a name, because a metric filter may be
5
+ * called anything a caller likes. A filter named after the other kind would
6
+ * otherwise be indistinguishable from it on the ledger.
7
+ */
8
+ export type SimLogsMetricPublicationSource = {
9
+ readonly kind: "metricFilter";
10
+ readonly filterName: string;
11
+ } | {
12
+ readonly kind: "embeddedMetricFormat";
13
+ };
14
+ /**
15
+ * The source of a datapoint an embedded metric document asked for.
16
+ */
17
+ export declare const simLogsEmbeddedMetricSource: SimLogsMetricPublicationSource;
18
+ /**
19
+ * The source of a datapoint a metric filter asked for.
20
+ */
21
+ export declare function metricFilterSource(filterName: string): SimLogsMetricPublicationSource;
22
+ /**
23
+ * One datapoint a log group could not turn into a metric.
24
+ */
25
+ export interface SimLogsMetricPublicationFailure {
26
+ readonly logGroupName: string;
27
+ readonly source: SimLogsMetricPublicationSource;
28
+ readonly metricNamespace: string;
29
+ readonly metricName: string;
30
+ readonly reason: string;
31
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The source of a datapoint an embedded metric document asked for.
3
+ */
4
+ export const simLogsEmbeddedMetricSource = {
5
+ kind: "embeddedMetricFormat",
6
+ };
7
+ /**
8
+ * The source of a datapoint a metric filter asked for.
9
+ */
10
+ export function metricFilterSource(filterName) {
11
+ return { kind: "metricFilter", filterName };
12
+ }
@@ -0,0 +1,11 @@
1
+ import type { SimLogsMetricDatapoint } from "./sim-logs-metric-datapoint.js";
2
+ /**
3
+ * Where a log group's metric datapoints are published.
4
+ *
5
+ * A simulated CloudWatch Logs reached through a `SimAws` Account Region scope
6
+ * has one of these, pointing at that scope's own CloudWatch. One built on its
7
+ * own has none, and reads no metrics out of what is written to it.
8
+ */
9
+ export interface SimLogsMetricPublications {
10
+ publish(datapoints: readonly SimLogsMetricDatapoint[]): Promise<void>;
11
+ }
@@ -0,0 +1,45 @@
1
+ import type { SimLogsMetricDatapoint, SimLogsMetricDimension } from "./sim-logs-metric-datapoint.js";
2
+ /**
3
+ * How many dimensions real CloudWatch Logs allows on one transformation.
4
+ */
5
+ export declare const simLogsMaximumMetricDimensions = 3;
6
+ export interface SimLogsMetricTransformationProperties {
7
+ readonly metricNamespace: string;
8
+ readonly metricName: string;
9
+ readonly metricValue: string;
10
+ readonly defaultValue: number | undefined;
11
+ readonly unit: string | undefined;
12
+ readonly dimensions: readonly SimLogsMetricDimension[];
13
+ }
14
+ /**
15
+ * How one metric filter turns a log event into a metric datapoint.
16
+ *
17
+ * The value is read once, when the filter is put, so a value this simulator
18
+ * cannot produce is refused there rather than on the first event that happens
19
+ * to match. Real CloudWatch Logs validates a transformation at
20
+ * `PutMetricFilter` too.
21
+ */
22
+ export declare class SimLogsMetricTransformation {
23
+ #private;
24
+ readonly metricNamespace: string;
25
+ readonly metricName: string;
26
+ readonly metricValue: string;
27
+ readonly defaultValue: number | undefined;
28
+ readonly unit: string | undefined;
29
+ readonly dimensions: readonly SimLogsMetricDimension[];
30
+ constructor(properties: SimLogsMetricTransformationProperties);
31
+ /**
32
+ * The datapoint one matching log event publishes.
33
+ */
34
+ matched(timestamp: number): SimLogsMetricDatapoint;
35
+ /**
36
+ * The datapoint one period that matched nothing publishes, where the
37
+ * transformation sets a default value.
38
+ *
39
+ * A transformation with no default value publishes nothing for a period it
40
+ * matched nothing in, which is what leaves the metric with no datapoint at
41
+ * all over a quiet stretch.
42
+ */
43
+ unmatched(timestamp: number): SimLogsMetricDatapoint | undefined;
44
+ private datapoint;
45
+ }
@@ -0,0 +1,127 @@
1
+ import { SimLogsInvalidParameterException, SimLogsUnsupportedOperationException, } from "../error/sim-logs.error.js";
2
+ /**
3
+ * The character real CloudWatch Logs reads as naming a field of the log event
4
+ * rather than as part of a literal.
5
+ *
6
+ * `$1` names the first field of a space delimited pattern and `$.level` a JSON
7
+ * property. Both need the pattern to have been read structurally.
8
+ */
9
+ const eventFieldPrefix = "$";
10
+ /**
11
+ * How many dimensions real CloudWatch Logs allows on one transformation.
12
+ */
13
+ export const simLogsMaximumMetricDimensions = 3;
14
+ /**
15
+ * How one metric filter turns a log event into a metric datapoint.
16
+ *
17
+ * The value is read once, when the filter is put, so a value this simulator
18
+ * cannot produce is refused there rather than on the first event that happens
19
+ * to match. Real CloudWatch Logs validates a transformation at
20
+ * `PutMetricFilter` too.
21
+ */
22
+ export class SimLogsMetricTransformation {
23
+ metricNamespace;
24
+ metricName;
25
+ metricValue;
26
+ defaultValue;
27
+ unit;
28
+ dimensions;
29
+ #matchedValue;
30
+ constructor(properties) {
31
+ this.metricNamespace = properties.metricNamespace;
32
+ this.metricName = properties.metricName;
33
+ this.metricValue = properties.metricValue;
34
+ this.defaultValue = properties.defaultValue;
35
+ this.unit = properties.unit;
36
+ this.dimensions = refuseFieldDimensions(properties.dimensions);
37
+ this.#matchedValue = literalMetricValue(properties.metricValue);
38
+ refuseDefaultValueWithDimensions(properties);
39
+ }
40
+ /**
41
+ * The datapoint one matching log event publishes.
42
+ */
43
+ matched(timestamp) {
44
+ return this.datapoint(this.#matchedValue, timestamp);
45
+ }
46
+ /**
47
+ * The datapoint one period that matched nothing publishes, where the
48
+ * transformation sets a default value.
49
+ *
50
+ * A transformation with no default value publishes nothing for a period it
51
+ * matched nothing in, which is what leaves the metric with no datapoint at
52
+ * all over a quiet stretch.
53
+ */
54
+ unmatched(timestamp) {
55
+ return this.defaultValue === undefined
56
+ ? undefined
57
+ : this.datapoint(this.defaultValue, timestamp);
58
+ }
59
+ datapoint(value, timestamp) {
60
+ return {
61
+ namespace: this.metricNamespace,
62
+ metricName: this.metricName,
63
+ value,
64
+ timestamp,
65
+ unit: this.unit,
66
+ dimensions: this.dimensions,
67
+ };
68
+ }
69
+ }
70
+ /**
71
+ * Read a metric value this simulation can publish.
72
+ *
73
+ * Real CloudWatch Logs takes either a number or a reference to a field of the
74
+ * matched event. A field reference needs the pattern to have been read
75
+ * structurally, and `SimLogsFilterPattern` refuses both structured syntaxes,
76
+ * so a filter naming one is refused here rather than publishing a number that
77
+ * was never in the log line.
78
+ */
79
+ function literalMetricValue(metricValue) {
80
+ if (metricValue.startsWith(eventFieldPrefix)) {
81
+ throw new SimLogsUnsupportedOperationException(`Simulated CloudWatch Logs does not support a metricValue naming a ` +
82
+ `field of the log event yet: ${metricValue}. Reading one needs a JSON ` +
83
+ `property or space delimited filter pattern, and neither is ` +
84
+ `simulated. A literal number publishes.`);
85
+ }
86
+ const value = Number(metricValue);
87
+ if (!Number.isFinite(value)) {
88
+ throw new SimLogsInvalidParameterException(`Invalid metric value ${metricValue}: a metricValue must be a number or ` +
89
+ `a reference to a field of the log event.`);
90
+ }
91
+ return value;
92
+ }
93
+ /**
94
+ * Refuse a default value on a transformation that also has dimensions.
95
+ *
96
+ * Real CloudWatch Logs allows one or the other. A metric a filter gives
97
+ * dimensions to cannot have a default value, because the default would have to
98
+ * be reported against every dimension value the filter has ever seen.
99
+ */
100
+ function refuseDefaultValueWithDimensions(properties) {
101
+ if (properties.defaultValue !== undefined &&
102
+ properties.dimensions.length > 0) {
103
+ throw new SimLogsInvalidParameterException("A metric filter transformation carrying dimensions cannot also carry " +
104
+ "a defaultValue. CloudWatch Logs allows one or the other.");
105
+ }
106
+ }
107
+ /**
108
+ * Refuse dimensions this simulation cannot fill in.
109
+ *
110
+ * A dimension value naming a field of the event has the same problem a metric
111
+ * value naming one has, and a dimension quietly dropped would put the
112
+ * datapoint under an identity no alarm is watching.
113
+ */
114
+ function refuseFieldDimensions(dimensions) {
115
+ if (dimensions.length > simLogsMaximumMetricDimensions) {
116
+ throw new SimLogsInvalidParameterException(`A metric filter transformation may have at most ` +
117
+ `${simLogsMaximumMetricDimensions} dimensions.`);
118
+ }
119
+ for (const dimension of dimensions) {
120
+ if (dimension.value.startsWith(eventFieldPrefix)) {
121
+ throw new SimLogsUnsupportedOperationException(`Simulated CloudWatch Logs does not support a dimension naming a ` +
122
+ `field of the log event yet: ${dimension.name} is ` +
123
+ `${dimension.value}. A literal value publishes.`);
124
+ }
125
+ }
126
+ return dimensions;
127
+ }
@@ -54,6 +54,18 @@ export class SimLogsSdkCommandRouter {
54
54
  "DeleteSubscriptionFilterCommand",
55
55
  async (command, context) => await simLogs.deleteSubscriptionFilter(command, simSdkCallerOptions(context)),
56
56
  ],
57
+ [
58
+ "PutMetricFilterCommand",
59
+ async (command, context) => await simLogs.putMetricFilter(command, simSdkCallerOptions(context)),
60
+ ],
61
+ [
62
+ "DescribeMetricFiltersCommand",
63
+ async (command, context) => await simLogs.describeMetricFilters(command, simSdkCallerOptions(context)),
64
+ ],
65
+ [
66
+ "DeleteMetricFilterCommand",
67
+ async (command, context) => await simLogs.deleteMetricFilter(command, simSdkCallerOptions(context)),
68
+ ],
57
69
  [
58
70
  "FilterLogEventsCommand",
59
71
  async (command, context) => await simLogs.filterLogEvents(command, simSdkCallerOptions(context)),
@@ -14,10 +14,13 @@ import { SimLogsGetLogEvents } from "./command/event/sim-logs-get-log-events.js"
14
14
  import { SimLogsPutLogEvents } from "./command/event/sim-logs-put-log-events.js";
15
15
  import { SimLogsLogGroupCommands } from "./command/group/sim-logs-log-group-commands.js";
16
16
  import { SimLogsRetentionCommands } from "./command/group/sim-logs-retention-commands.js";
17
+ import { SimLogsMetricFilterCommands } from "./command/metric/sim-logs-metric-filter-commands.js";
17
18
  import { SimLogsLogStreamCommands } from "./command/stream/sim-logs-log-stream-commands.js";
18
19
  import { SimLogsSubscriptionCommands } from "./command/subscription/sim-logs-subscription-commands.js";
19
20
  import { SimLogsLogGroupStore } from "./group/sim-logs-log-group-store.js";
20
21
  import { type SimLogsSubscriptionDestinations } from "./subscription/sim-logs-subscription-destinations.js";
22
+ import { SimLogsMetricFanOut } from "./metric/sim-logs-metric-fan-out.js";
23
+ import type { SimLogsMetricPublications } from "./metric/sim-logs-metric-publications.js";
21
24
  import { SimLogsSubscriptionFanOut } from "./subscription/sim-logs-subscription-fan-out.js";
22
25
  import { SimLogsServiceWriter } from "./write/sim-logs-service-writer.js";
23
26
  export interface SimLogsProperties {
@@ -36,6 +39,13 @@ export interface SimLogsProperties {
36
39
  * takes any ARN, the way it always did.
37
40
  */
38
41
  readonly deliverySourceResources?: SimLogsDeliverySourceResources;
42
+ /**
43
+ * Where a log group's metric datapoints are published. A SimLogs built on
44
+ * its own has no simulated CloudWatch to write into. It refuses a metric
45
+ * filter rather than holding one that publishes nowhere, and it reads no
46
+ * embedded metrics out of what is written to it.
47
+ */
48
+ readonly metricPublications?: SimLogsMetricPublications;
39
49
  }
40
50
  /**
41
51
  * The collaborators one simulated CloudWatch Logs scope is built from.
@@ -58,6 +68,8 @@ export declare class SimLogsCommands {
58
68
  readonly subscriptions: SimLogsSubscriptionCommands;
59
69
  readonly serviceWriter: SimLogsServiceWriter;
60
70
  readonly fanOut: SimLogsSubscriptionFanOut;
71
+ readonly metricFanOut: SimLogsMetricFanOut;
72
+ readonly metricFilters: SimLogsMetricFilterCommands;
61
73
  readonly deliverySourceStore: SimLogsDeliverySourceStore;
62
74
  readonly deliveryDestinationStore: SimLogsDeliveryDestinationStore;
63
75
  readonly deliveryStore: SimLogsDeliveryStore;
@@ -14,11 +14,13 @@ import { SimLogsGetLogEvents } from "./command/event/sim-logs-get-log-events.js"
14
14
  import { SimLogsPutLogEvents } from "./command/event/sim-logs-put-log-events.js";
15
15
  import { SimLogsLogGroupCommands } from "./command/group/sim-logs-log-group-commands.js";
16
16
  import { SimLogsRetentionCommands } from "./command/group/sim-logs-retention-commands.js";
17
+ import { SimLogsMetricFilterCommands } from "./command/metric/sim-logs-metric-filter-commands.js";
17
18
  import { SimLogsLogStreamCommands } from "./command/stream/sim-logs-log-stream-commands.js";
18
19
  import { SimLogsSubscriptionCommands } from "./command/subscription/sim-logs-subscription-commands.js";
19
20
  import { SimLogsEventIds } from "./event/sim-logs-event-ids.js";
20
21
  import { SimLogsLogGroupStore } from "./group/sim-logs-log-group-store.js";
21
22
  import { SimLogsNoSubscriptionDestinations, } from "./subscription/sim-logs-subscription-destinations.js";
23
+ import { SimLogsMetricFanOut } from "./metric/sim-logs-metric-fan-out.js";
22
24
  import { SimLogsSubscriptionFanOut } from "./subscription/sim-logs-subscription-fan-out.js";
23
25
  import { SimLogsServiceWriter } from "./write/sim-logs-service-writer.js";
24
26
  /**
@@ -42,6 +44,8 @@ export class SimLogsCommands {
42
44
  subscriptions;
43
45
  serviceWriter;
44
46
  fanOut;
47
+ metricFanOut;
48
+ metricFilters;
45
49
  deliverySourceStore;
46
50
  deliveryDestinationStore;
47
51
  deliveryStore;
@@ -60,11 +64,16 @@ export class SimLogsCommands {
60
64
  accountRegionScope,
61
65
  background,
62
66
  });
67
+ const metricFanOut = new SimLogsMetricFanOut({
68
+ publications: properties.metricPublications,
69
+ background,
70
+ });
63
71
  this.authorizer = authorizer;
64
72
  this.accountRegionScope = accountRegionScope;
65
73
  this.background = background;
66
74
  this.groups = groups;
67
75
  this.fanOut = fanOut;
76
+ this.metricFanOut = metricFanOut;
68
77
  this.logGroups = new SimLogsLogGroupCommands({
69
78
  groups,
70
79
  authorizer,
@@ -82,6 +91,7 @@ export class SimLogsCommands {
82
91
  eventIds,
83
92
  clock: background,
84
93
  fanOut,
94
+ metricFanOut,
85
95
  });
86
96
  this.getLogEvents = new SimLogsGetLogEvents({ groups, authorizer });
87
97
  this.filterLogEvents = new SimLogsFilterLogEvents({ groups, authorizer });
@@ -91,11 +101,18 @@ export class SimLogsCommands {
91
101
  destinations: subscriptionDestinations,
92
102
  clock: background,
93
103
  });
104
+ this.metricFilters = new SimLogsMetricFilterCommands({
105
+ groups,
106
+ authorizer,
107
+ fanOut: metricFanOut,
108
+ clock: background,
109
+ });
94
110
  this.serviceWriter = new SimLogsServiceWriter({
95
111
  groups,
96
112
  eventIds,
97
113
  clock: background,
98
114
  fanOut,
115
+ metricFanOut,
99
116
  });
100
117
  const deliverySources = new SimLogsDeliverySourceStore();
101
118
  const deliveryDestinations = new SimLogsDeliveryDestinationStore();
@@ -0,0 +1,31 @@
1
+ import type * as simLogsCommands from "./command/sim-logs-command.types.js";
2
+ import type { SimLogsRequestOptions } from "./command/sim-logs-request-options.js";
3
+ import type { SimLogsMetricPublicationFailure } from "./metric/sim-logs-metric-publication-failure.js";
4
+ import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
5
+ import type { SimLogsCommands } from "./sim-logs-commands.js";
6
+ /**
7
+ * The metric commands of the simulated CloudWatch Logs facade.
8
+ *
9
+ * They sit here for the reason the delivery commands do. SimLogs grows by one
10
+ * delegating method per simulated operation and is at the length this codebase
11
+ * allows. These belong together as the half of CloudWatch Logs that turns what
12
+ * is written into CloudWatch metrics.
13
+ */
14
+ export declare abstract class SimLogsMetricOperations extends SimLogsDeliveryOperations {
15
+ protected abstract readonly commands: SimLogsCommands;
16
+ /**
17
+ * Every metric publication this scope could not make, whether a metric
18
+ * filter or an embedded metric document asked for it.
19
+ *
20
+ * A failed publication is invisible in an account, where it becomes a metric
21
+ * nobody is watching. Keeping it is what lets a test find out that the
22
+ * metrics it set up never wrote a datapoint.
23
+ */
24
+ get metricPublicationFailures(): readonly SimLogsMetricPublicationFailure[];
25
+ /** Handle a PutMetricFilter Command from the SDK. */
26
+ putMetricFilter(command: simLogsCommands.SimPutMetricFilterCommand, options?: SimLogsRequestOptions): Promise<simLogsCommands.SimPutMetricFilterCommandOutput>;
27
+ /** Handle a DescribeMetricFilters Command from the SDK. */
28
+ describeMetricFilters(command: simLogsCommands.SimDescribeMetricFiltersCommand, options?: SimLogsRequestOptions): Promise<simLogsCommands.SimDescribeMetricFiltersCommandOutput>;
29
+ /** Handle a DeleteMetricFilter Command from the SDK. */
30
+ deleteMetricFilter(command: simLogsCommands.SimDeleteMetricFilterCommand, options?: SimLogsRequestOptions): Promise<simLogsCommands.SimDeleteMetricFilterCommandOutput>;
31
+ }
@@ -0,0 +1,37 @@
1
+ import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
2
+ /**
3
+ * The metric commands of the simulated CloudWatch Logs facade.
4
+ *
5
+ * They sit here for the reason the delivery commands do. SimLogs grows by one
6
+ * delegating method per simulated operation and is at the length this codebase
7
+ * allows. These belong together as the half of CloudWatch Logs that turns what
8
+ * is written into CloudWatch metrics.
9
+ */
10
+ export class SimLogsMetricOperations extends SimLogsDeliveryOperations {
11
+ /**
12
+ * Every metric publication this scope could not make, whether a metric
13
+ * filter or an embedded metric document asked for it.
14
+ *
15
+ * A failed publication is invisible in an account, where it becomes a metric
16
+ * nobody is watching. Keeping it is what lets a test find out that the
17
+ * metrics it set up never wrote a datapoint.
18
+ */
19
+ get metricPublicationFailures() {
20
+ return this.commands.metricFanOut.failures;
21
+ }
22
+ /** Handle a PutMetricFilter Command from the SDK. */
23
+ async putMetricFilter(command, options) {
24
+ await this.commands.background.sequence();
25
+ return this.commands.metricFilters.putMetricFilter(command, options);
26
+ }
27
+ /** Handle a DescribeMetricFilters Command from the SDK. */
28
+ async describeMetricFilters(command, options) {
29
+ await this.commands.background.sequence();
30
+ return this.commands.metricFilters.describeMetricFilters(command, options);
31
+ }
32
+ /** Handle a DeleteMetricFilter Command from the SDK. */
33
+ async deleteMetricFilter(command, options) {
34
+ await this.commands.background.sequence();
35
+ return this.commands.metricFilters.deleteMetricFilter(command, options);
36
+ }
37
+ }
@@ -4,7 +4,7 @@ import type * as simLogsCommands from "./command/sim-logs-command.types.js";
4
4
  import type { SimLogsRequestOptions } from "./command/sim-logs-request-options.js";
5
5
  import type { SimLogsLogGroup } from "./group/sim-logs-log-group.js";
6
6
  import { SimLogsCommands, type SimLogsProperties } from "./sim-logs-commands.js";
7
- import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
7
+ import { SimLogsMetricOperations } from "./sim-logs-metric-operations.js";
8
8
  import type { SimLogsSubscriptionFailure } from "./subscription/sim-logs-subscription-fan-out.js";
9
9
  import type { SimLogsServiceWriter } from "./write/sim-logs-service-writer.js";
10
10
  /**
@@ -20,11 +20,12 @@ import type { SimLogsServiceWriter } from "./write/sim-logs-service-writer.js";
20
20
  * an event expire, and what teams get wrong about retention is the value they
21
21
  * deployed rather than the deletion that eventually follows from it.
22
22
  *
23
- * The delivery operations are held apart in `SimLogsDeliveryOperations`, which
23
+ * The delivery and metric operations are held apart in
24
+ * `SimLogsDeliveryOperations` and `SimLogsMetricOperations`, which
24
25
  * this extends, because this file grows by one delegating method per simulated
25
26
  * operation and is at the length this codebase allows.
26
27
  */
27
- export declare class SimLogs extends SimLogsDeliveryOperations {
28
+ export declare class SimLogs extends SimLogsMetricOperations {
28
29
  #private;
29
30
  protected readonly commands: SimLogsCommands;
30
31
  constructor(properties?: SimLogsProperties);
@@ -1,7 +1,7 @@
1
1
  import { SimLogsCfnResourceFactory } from "./cfn/sim-logs-cfn-resource-factory.js";
2
2
  import { SimLogsSdkCommandRouter } from "./sdk/sim-logs-sdk-command-router.js";
3
3
  import { SimLogsCommands, } from "./sim-logs-commands.js";
4
- import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
4
+ import { SimLogsMetricOperations } from "./sim-logs-metric-operations.js";
5
5
  /**
6
6
  * Simulated CloudWatch Logs. Handles SDK commands. Emulates AWS behaviour and
7
7
  * state.
@@ -15,11 +15,12 @@ import { SimLogsDeliveryOperations } from "./sim-logs-delivery-operations.js";
15
15
  * an event expire, and what teams get wrong about retention is the value they
16
16
  * deployed rather than the deletion that eventually follows from it.
17
17
  *
18
- * The delivery operations are held apart in `SimLogsDeliveryOperations`, which
18
+ * The delivery and metric operations are held apart in
19
+ * `SimLogsDeliveryOperations` and `SimLogsMetricOperations`, which
19
20
  * this extends, because this file grows by one delegating method per simulated
20
21
  * operation and is at the length this codebase allows.
21
22
  */
22
- export class SimLogs extends SimLogsDeliveryOperations {
23
+ export class SimLogs extends SimLogsMetricOperations {
23
24
  commands;
24
25
  #sdkRouter = new SimLogsSdkCommandRouter(this);
25
26
  #cfnFactory;