@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,20 @@
1
+ export declare const defaultSchedulerMaximumEventAgeInSeconds = 86400;
2
+ export declare const defaultSchedulerMaximumRetryAttempts = 185;
3
+ export interface SimSchedulerRetryPolicyInput {
4
+ readonly MaximumEventAgeInSeconds?: number | undefined;
5
+ readonly MaximumRetryAttempts?: number | undefined;
6
+ }
7
+ /**
8
+ * The retry limits one target declares and the effective values they produce.
9
+ */
10
+ export declare class SimSchedulerRetryPolicy {
11
+ readonly declared: SimSchedulerRetryPolicyInput;
12
+ readonly maximumEventAgeInSeconds: number;
13
+ readonly maximumRetryAttempts: number;
14
+ private constructor();
15
+ /**
16
+ * Read a retry policy, refusing values outside Scheduler's limits.
17
+ */
18
+ static of(policy: SimSchedulerRetryPolicyInput): SimSchedulerRetryPolicy;
19
+ private static requireWholeNumber;
20
+ }
@@ -0,0 +1,37 @@
1
+ import { SimSchedulerValidationException } from "../error/sim-scheduler.error.js";
2
+ export const defaultSchedulerMaximumEventAgeInSeconds = 86_400;
3
+ export const defaultSchedulerMaximumRetryAttempts = 185;
4
+ const minimumEventAgeInSeconds = 60;
5
+ /**
6
+ * The retry limits one target declares and the effective values they produce.
7
+ */
8
+ export class SimSchedulerRetryPolicy {
9
+ declared;
10
+ maximumEventAgeInSeconds;
11
+ maximumRetryAttempts;
12
+ constructor(policy) {
13
+ this.declared = { ...policy };
14
+ this.maximumEventAgeInSeconds =
15
+ policy.MaximumEventAgeInSeconds ??
16
+ defaultSchedulerMaximumEventAgeInSeconds;
17
+ this.maximumRetryAttempts =
18
+ policy.MaximumRetryAttempts ?? defaultSchedulerMaximumRetryAttempts;
19
+ }
20
+ /**
21
+ * Read a retry policy, refusing values outside Scheduler's limits.
22
+ */
23
+ static of(policy) {
24
+ this.requireWholeNumber("MaximumEventAgeInSeconds", policy.MaximumEventAgeInSeconds, minimumEventAgeInSeconds, defaultSchedulerMaximumEventAgeInSeconds);
25
+ this.requireWholeNumber("MaximumRetryAttempts", policy.MaximumRetryAttempts, 0, defaultSchedulerMaximumRetryAttempts);
26
+ return new this(policy);
27
+ }
28
+ static requireWholeNumber(name, value, minimum, maximum) {
29
+ if (value === undefined) {
30
+ return;
31
+ }
32
+ if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
33
+ throw new SimSchedulerValidationException(`Target RetryPolicy ${name} must be a whole number between ` +
34
+ `${minimum} and ${maximum}, and ${value} is not.`);
35
+ }
36
+ }
37
+ }
@@ -1,5 +1,7 @@
1
1
  import { SimEcsTargetTask } from "../../ecs/target/sim-ecs-target-task.js";
2
2
  import { SimSchedulerTargetArn } from "./sim-scheduler-target-arn.js";
3
+ import { SimSchedulerDeadLetterConfig, type SimSchedulerDeadLetterConfigInput } from "./sim-scheduler-dead-letter-config.js";
4
+ import { SimSchedulerRetryPolicy, type SimSchedulerRetryPolicyInput } from "./sim-scheduler-retry-policy.js";
3
5
  /**
4
6
  * What a target request says, of the parts a target reads.
5
7
  */
@@ -8,6 +10,8 @@ interface SimSchedulerRequestedTarget {
8
10
  readonly RoleArn?: string | undefined;
9
11
  readonly Input?: string | undefined;
10
12
  readonly EcsParameters?: unknown;
13
+ readonly DeadLetterConfig?: SimSchedulerDeadLetterConfigInput | undefined;
14
+ readonly RetryPolicy?: SimSchedulerRetryPolicyInput | undefined;
11
15
  }
12
16
  /**
13
17
  * What one schedule invokes, and who it invokes it as.
@@ -37,6 +41,8 @@ export declare class SimSchedulerTarget {
37
41
  * what the task overrides instead.
38
42
  */
39
43
  readonly task: SimEcsTargetTask | undefined;
44
+ readonly deadLetterConfig: SimSchedulerDeadLetterConfig | undefined;
45
+ readonly retryPolicy: SimSchedulerRetryPolicy | undefined;
40
46
  private constructor();
41
47
  /**
42
48
  * Read the target a request carries.
@@ -1,6 +1,8 @@
1
1
  import { SimEcsTargetTask } from "../../ecs/target/sim-ecs-target-task.js";
2
2
  import { SimSchedulerUnsimulatedInputException, SimSchedulerValidationException, } from "../error/sim-scheduler.error.js";
3
3
  import { SimSchedulerTargetArn } from "./sim-scheduler-target-arn.js";
4
+ import { SimSchedulerDeadLetterConfig, } from "./sim-scheduler-dead-letter-config.js";
5
+ import { SimSchedulerRetryPolicy, } from "./sim-scheduler-retry-policy.js";
4
6
  /**
5
7
  * The longest role ARN AWS takes, and the shape one has to be.
6
8
  */
@@ -39,11 +41,15 @@ export class SimSchedulerTarget {
39
41
  * what the task overrides instead.
40
42
  */
41
43
  task;
44
+ deadLetterConfig;
45
+ retryPolicy;
42
46
  constructor(properties) {
43
47
  this.arn = properties.arn;
44
48
  this.roleArn = properties.roleArn;
45
49
  this.input = properties.input;
46
50
  this.task = properties.task;
51
+ this.deadLetterConfig = properties.deadLetterConfig;
52
+ this.retryPolicy = properties.retryPolicy;
47
53
  }
48
54
  /**
49
55
  * Read the target a request carries.
@@ -58,6 +64,12 @@ export class SimSchedulerTarget {
58
64
  roleArn: this.roleArnIn(target.RoleArn),
59
65
  input: target.Input,
60
66
  task: this.taskIn(arn, target),
67
+ deadLetterConfig: target.DeadLetterConfig === undefined
68
+ ? undefined
69
+ : SimSchedulerDeadLetterConfig.of(target.DeadLetterConfig),
70
+ retryPolicy: target.RetryPolicy === undefined
71
+ ? undefined
72
+ : SimSchedulerRetryPolicy.of(target.RetryPolicy),
61
73
  });
62
74
  }
63
75
  /**
@@ -82,15 +82,13 @@ export class SimSesConfigurationSetCommands {
82
82
  /**
83
83
  * What GetConfigurationSet answers with.
84
84
  *
85
- * Every group is reported, including the ones the set never declared, because
86
- * real SES answers with the defaults it applied rather than leaving them out.
85
+ * Sending, delivery and reputation options report their applied defaults.
86
+ * Suppression options stay absent unless the set declared an override.
87
87
  */
88
88
  function reported(configurationSet) {
89
89
  return {
90
90
  ConfigurationSetName: configurationSet.configurationSetName,
91
- SuppressionOptions: {
92
- SuppressedReasons: configurationSet.suppressedReasons,
93
- },
91
+ ...reportedSuppressionOptions(configurationSet),
94
92
  SendingOptions: { SendingEnabled: configurationSet.sendingEnabled },
95
93
  DeliveryOptions: {
96
94
  TlsPolicy: configurationSet.deliveryOptions.tlsPolicy,
@@ -102,3 +100,13 @@ function reported(configurationSet) {
102
100
  },
103
101
  };
104
102
  }
103
+ function reportedSuppressionOptions(configurationSet) {
104
+ if (configurationSet.suppressedReasons === undefined) {
105
+ return {};
106
+ }
107
+ return {
108
+ SuppressionOptions: {
109
+ SuppressedReasons: configurationSet.suppressedReasons,
110
+ },
111
+ };
112
+ }
@@ -5,6 +5,6 @@ import type { SimCreateConfigurationSetCommandInput } from "./configuration-set.
5
5
  * refuses.
6
6
  *
7
7
  * A set declaring none of these gets the defaults real SES applies: sending
8
- * on, no suppression reasons, optional TLS and no reputation metrics.
8
+ * on, account-level suppression, optional TLS and no reputation metrics.
9
9
  */
10
10
  export declare function readSimSesConfigurationSetOptions(input: SimCreateConfigurationSetCommandInput): SimSesConfigurationSetOptions;
@@ -11,11 +11,11 @@ const tlsPolicies = new Set(["REQUIRE", "OPTIONAL"]);
11
11
  * refuses.
12
12
  *
13
13
  * A set declaring none of these gets the defaults real SES applies: sending
14
- * on, no suppression reasons, optional TLS and no reputation metrics.
14
+ * on, account-level suppression, optional TLS and no reputation metrics.
15
15
  */
16
16
  export function readSimSesConfigurationSetOptions(input) {
17
17
  return {
18
- suppressedReasons: readSuppressedReasons(input.SuppressionOptions?.SuppressedReasons),
18
+ suppressedReasons: readSuppressedReasons(input.SuppressionOptions),
19
19
  sendingEnabled: input.SendingOptions?.SendingEnabled ?? true,
20
20
  deliveryOptions: readDeliveryOptions(input.DeliveryOptions),
21
21
  reputationOptions: {
@@ -26,15 +26,15 @@ export function readSimSesConfigurationSetOptions(input) {
26
26
  /**
27
27
  * The suppression reasons a set names, refusing one SES has no meaning for.
28
28
  *
29
- * An absent `SuppressionOptions` leaves this empty. Real SES falls back to the
30
- * account-level setting there, and this simulation has no account suppression
31
- * list to fall back to.
29
+ * An absent `SuppressionOptions` returns undefined, which preserves the
30
+ * account-level fallback. A present group with no reasons returns an empty
31
+ * override and disables suppression for messages sent through the set.
32
32
  */
33
- function readSuppressedReasons(reasons) {
34
- if (reasons === undefined) {
35
- return [];
33
+ function readSuppressedReasons(options) {
34
+ if (options === undefined) {
35
+ return undefined;
36
36
  }
37
- return reasons.map((reason) => {
37
+ return (options.SuppressedReasons ?? []).map((reason) => {
38
38
  if (!isSuppressedReason(reason)) {
39
39
  throw new SimSesBadRequestException(`1 validation error detected: Value '${reason}' at ` +
40
40
  `'suppressionOptions.suppressedReasons' failed to satisfy ` +
@@ -11,11 +11,20 @@ export interface SimSesBody {
11
11
  readonly Text?: SimSesContent | undefined;
12
12
  readonly Html?: SimSesContent | undefined;
13
13
  }
14
+ export interface SimSesAttachment {
15
+ readonly RawContent?: Uint8Array | undefined;
16
+ readonly ContentDisposition?: "ATTACHMENT" | "INLINE" | undefined;
17
+ readonly FileName?: string | undefined;
18
+ readonly ContentDescription?: string | undefined;
19
+ readonly ContentId?: string | undefined;
20
+ readonly ContentTransferEncoding?: "BASE64" | "QUOTED_PRINTABLE" | "SEVEN_BIT" | undefined;
21
+ readonly ContentType?: string | undefined;
22
+ }
14
23
  export interface SimSesMessage {
15
24
  readonly Subject?: SimSesContent | undefined;
16
25
  readonly Body?: SimSesBody | undefined;
17
26
  readonly Headers?: readonly unknown[] | undefined;
18
- readonly Attachments?: readonly unknown[] | undefined;
27
+ readonly Attachments?: readonly SimSesAttachment[] | undefined;
19
28
  }
20
29
  export interface SimSesRawMessage {
21
30
  readonly Data?: Uint8Array | string | undefined;
@@ -1,4 +1,4 @@
1
- import type { SimSesSentEmailBody } from "../../email/sim-ses-sent-email.js";
1
+ import type { SimSesSentEmailAttachment, SimSesSentEmailBody } from "../../email/sim-ses-sent-email.js";
2
2
  /**
3
3
  * What a message says, read out of the content of a send.
4
4
  *
@@ -11,6 +11,7 @@ import type { SimSesSentEmailBody } from "../../email/sim-ses-sent-email.js";
11
11
  export interface SimSesReadContent {
12
12
  readonly subject: string;
13
13
  readonly body: SimSesSentEmailBody;
14
+ readonly attachments: readonly SimSesSentEmailAttachment[];
14
15
  /** The template this was rendered from, if it was rendered from a stored one. */
15
16
  readonly templateName: string | undefined;
16
17
  /** The data the placeholders were filled from, parsed out of the JSON. */
@@ -65,6 +65,7 @@ export class SimSesSendEmail {
65
65
  replyToAddresses: [...(input.ReplyToAddresses ?? [])],
66
66
  subject: content.subject,
67
67
  body: content.body,
68
+ attachments: content.attachments,
68
69
  templateName: content.templateName,
69
70
  templateData: content.templateData,
70
71
  configurationSetName,
@@ -62,6 +62,7 @@ export class SimSesServiceSend {
62
62
  replyToAddresses: [...request.replyToAddresses],
63
63
  subject: request.subject,
64
64
  body: { text: request.body, html: undefined },
65
+ attachments: [],
65
66
  templateName: undefined,
66
67
  templateData: undefined,
67
68
  configurationSetName,
@@ -1,4 +1,4 @@
1
- import { SimSesBadRequestException, SimSesUnsupportedOperationException, } from "../../error/sim-ses.error.js";
1
+ import { SimSesBadRequestException } from "../../error/sim-ses.error.js";
2
2
  /**
3
3
  * Read a message a send wrote out in full, refusing what real SES refuses and
4
4
  * what this simulation does not model.
@@ -8,10 +8,6 @@ import { SimSesBadRequestException, SimSesUnsupportedOperationException, } from
8
8
  * not have accepted.
9
9
  */
10
10
  export function readSimSesSimpleMessage(message) {
11
- if (message.Attachments !== undefined) {
12
- throw new SimSesUnsupportedOperationException("Attachments are not simulated, so SendEmail refuses them rather than " +
13
- "recording a message without them");
14
- }
15
11
  const subject = message.Subject?.Data;
16
12
  if (subject === undefined) {
17
13
  throw new SimSesBadRequestException("1 validation error detected: Value at 'content.simple.subject' " +
@@ -26,7 +22,32 @@ export function readSimSesSimpleMessage(message) {
26
22
  return {
27
23
  subject,
28
24
  body: { text, html },
25
+ attachments: (message.Attachments ?? []).map((attachment, index) => readAttachment(attachment, index)),
29
26
  templateName: undefined,
30
27
  templateData: undefined,
31
28
  };
32
29
  }
30
+ /** Read and validate one attachment from a simple message. */
31
+ function readAttachment(attachment, index) {
32
+ if (attachment.RawContent === undefined) {
33
+ throw missingAttachmentMember(index, "rawContent");
34
+ }
35
+ if (attachment.FileName === undefined) {
36
+ throw missingAttachmentMember(index, "fileName");
37
+ }
38
+ return {
39
+ rawContent: Uint8Array.from(attachment.RawContent),
40
+ fileName: attachment.FileName,
41
+ contentType: attachment.ContentType,
42
+ contentDisposition: attachment.ContentDisposition,
43
+ contentDescription: attachment.ContentDescription,
44
+ contentId: attachment.ContentId,
45
+ contentTransferEncoding: attachment.ContentTransferEncoding,
46
+ };
47
+ }
48
+ /** Build the SES validation error for a missing attachment member. */
49
+ function missingAttachmentMember(index, member) {
50
+ return new SimSesBadRequestException("1 validation error detected: Value at " +
51
+ `'content.simple.attachments.${String(index)}.${member}' failed to ` +
52
+ "satisfy constraint: Member must not be null");
53
+ }
@@ -35,6 +35,7 @@ export class SimSesTemplateSendReader {
35
35
  text: renderOptional(content.text, data),
36
36
  html: renderOptional(content.html, data),
37
37
  },
38
+ attachments: [],
38
39
  templateName: template.TemplateName,
39
40
  templateData: data,
40
41
  };
@@ -2,8 +2,9 @@ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadat
2
2
  /**
3
3
  * What a suppression list entry says, in the shape the SES v2 API reports it.
4
4
  *
5
- * `Attributes` is left out. It describes the bounce or complaint SES put the
6
- * address on the list for, and nothing bounces here.
5
+ * `Attributes` is left out. Real SES uses it for details of the feedback event
6
+ * that put the address on the list. Explicit simulator feedback records the
7
+ * reason and time only.
7
8
  */
8
9
  export interface SimSesSuppressedDestinationDetail {
9
10
  readonly EmailAddress: string;
@@ -32,7 +32,7 @@ export interface SimSesConfigurationSetReputationOptions {
32
32
  * Everything a configuration set holds apart from its name.
33
33
  */
34
34
  export interface SimSesConfigurationSetOptions {
35
- readonly suppressedReasons: readonly SimSesSuppressedReason[];
35
+ readonly suppressedReasons: readonly SimSesSuppressedReason[] | undefined;
36
36
  readonly sendingEnabled: boolean;
37
37
  readonly deliveryOptions: SimSesConfigurationSetDeliveryOptions;
38
38
  readonly reputationOptions: SimSesConfigurationSetReputationOptions;
@@ -48,11 +48,9 @@ interface SimSesConfigurationSetProperties {
48
48
  * A configuration set is a named group of settings a send can be made under,
49
49
  * covering suppression, whether sending is on, how the message is handed on
50
50
  * and whether reputation metrics are published. None of it changes what a
51
- * message says, which is why this is state to read back rather than behaviour
52
- * to reproduce.
53
- *
54
- * Sending is the exception, and it is left to the work that attaches a set to
55
- * a send. Here the switch is recorded and acted on by nothing.
51
+ * message says. The sending switch controls acceptance, and the suppression
52
+ * reasons control feedback. Delivery and reputation options remain state for
53
+ * a test to read back.
56
54
  */
57
55
  export declare class SimSesConfigurationSet {
58
56
  readonly configurationSetName: string;
@@ -60,11 +58,12 @@ export declare class SimSesConfigurationSet {
60
58
  /**
61
59
  * The reasons that would put a recipient on the account suppression list.
62
60
  *
63
- * Empty where the set declares no `SuppressionOptions`. Real SES falls back
64
- * to the account setting there, and this simulation has no account
65
- * suppression list to fall back to.
61
+ * Undefined where the set declares no `SuppressionOptions`, which makes a
62
+ * send fall back to the account setting. An empty list is an explicit
63
+ * override that disables suppression for feedback recorded for a message
64
+ * sent through this set.
66
65
  */
67
- readonly suppressedReasons: readonly SimSesSuppressedReason[];
66
+ readonly suppressedReasons: readonly SimSesSuppressedReason[] | undefined;
68
67
  /** Whether SES would accept a send made through this set. */
69
68
  readonly sendingEnabled: boolean;
70
69
  readonly deliveryOptions: SimSesConfigurationSetDeliveryOptions;
@@ -10,11 +10,9 @@ export const simSesSuppressedReasons = [
10
10
  * A configuration set is a named group of settings a send can be made under,
11
11
  * covering suppression, whether sending is on, how the message is handed on
12
12
  * and whether reputation metrics are published. None of it changes what a
13
- * message says, which is why this is state to read back rather than behaviour
14
- * to reproduce.
15
- *
16
- * Sending is the exception, and it is left to the work that attaches a set to
17
- * a send. Here the switch is recorded and acted on by nothing.
13
+ * message says. The sending switch controls acceptance, and the suppression
14
+ * reasons control feedback. Delivery and reputation options remain state for
15
+ * a test to read back.
18
16
  */
19
17
  export class SimSesConfigurationSet {
20
18
  configurationSetName;
@@ -22,9 +20,10 @@ export class SimSesConfigurationSet {
22
20
  /**
23
21
  * The reasons that would put a recipient on the account suppression list.
24
22
  *
25
- * Empty where the set declares no `SuppressionOptions`. Real SES falls back
26
- * to the account setting there, and this simulation has no account
27
- * suppression list to fall back to.
23
+ * Undefined where the set declares no `SuppressionOptions`, which makes a
24
+ * send fall back to the account setting. An empty list is an explicit
25
+ * override that disables suppression for feedback recorded for a message
26
+ * sent through this set.
28
27
  */
29
28
  suppressedReasons;
30
29
  /** Whether SES would accept a send made through this set. */
@@ -26,6 +26,14 @@ export declare class SimSesSentEmailStore {
26
26
  * Every message this scope has accepted, oldest first.
27
27
  */
28
28
  get all(): readonly SimSesSentEmail[];
29
+ /**
30
+ * Find an accepted message by the id SES returned for it.
31
+ */
32
+ find(messageId: string): SimSesSentEmail | undefined;
33
+ /**
34
+ * Get an accepted message by id, refusing an id this scope never issued.
35
+ */
36
+ require(messageId: string): SimSesSentEmail;
29
37
  /**
30
38
  * Keep a message SES has accepted.
31
39
  *
@@ -1,4 +1,5 @@
1
1
  import { SimAwsMessageLog } from "../../aws/message/sim-aws-message-log.js";
2
+ import { SimSesFeedbackError } from "../error/sim-ses.error.js";
2
3
  const hoursInADay = 24;
3
4
  const millisecondsInAnHour = 60 * 60 * 1000;
4
5
  /**
@@ -25,6 +26,22 @@ export class SimSesSentEmailStore {
25
26
  get all() {
26
27
  return [...this.#sent];
27
28
  }
29
+ /**
30
+ * Find an accepted message by the id SES returned for it.
31
+ */
32
+ find(messageId) {
33
+ return this.#sent.find((email) => email.messageId === messageId);
34
+ }
35
+ /**
36
+ * Get an accepted message by id, refusing an id this scope never issued.
37
+ */
38
+ require(messageId) {
39
+ const email = this.find(messageId);
40
+ if (email === undefined) {
41
+ throw new SimSesFeedbackError(`No accepted sim SES message has id ${messageId}.`);
42
+ }
43
+ return email;
44
+ }
28
45
  /**
29
46
  * Keep a message SES has accepted.
30
47
  *
@@ -19,6 +19,21 @@ export interface SimSesSentEmailBody {
19
19
  readonly text: string | undefined;
20
20
  readonly html: string | undefined;
21
21
  }
22
+ /**
23
+ * One structured attachment on a simple message.
24
+ *
25
+ * The bytes and metadata use the values from the SendEmail request. SES would
26
+ * use them to assemble MIME content after accepting the request.
27
+ */
28
+ export interface SimSesSentEmailAttachment {
29
+ readonly rawContent: Uint8Array;
30
+ readonly fileName: string;
31
+ readonly contentType: string | undefined;
32
+ readonly contentDisposition: "ATTACHMENT" | "INLINE" | undefined;
33
+ readonly contentDescription: string | undefined;
34
+ readonly contentId: string | undefined;
35
+ readonly contentTransferEncoding: "BASE64" | "QUOTED_PRINTABLE" | "SEVEN_BIT" | undefined;
36
+ }
22
37
  /**
23
38
  * A recipient the account's suppression list held back.
24
39
  *
@@ -37,6 +52,7 @@ interface SimSesSentEmailProperties {
37
52
  readonly replyToAddresses: readonly string[];
38
53
  readonly subject: string;
39
54
  readonly body: SimSesSentEmailBody;
55
+ readonly attachments: readonly SimSesSentEmailAttachment[];
40
56
  readonly templateName: string | undefined;
41
57
  readonly templateData: Readonly<Record<string, unknown>> | undefined;
42
58
  readonly configurationSetName: string | undefined;
@@ -64,6 +80,8 @@ export declare class SimSesSentEmail {
64
80
  readonly replyToAddresses: readonly string[];
65
81
  readonly subject: string;
66
82
  readonly body: SimSesSentEmailBody;
83
+ /** Structured attachments in request order. */
84
+ readonly attachments: readonly SimSesSentEmailAttachment[];
67
85
  /**
68
86
  * The template this message was rendered from, if it was rendered from a
69
87
  * stored one. A message written out in full has none, and so does one
@@ -19,6 +19,8 @@ export class SimSesSentEmail {
19
19
  replyToAddresses;
20
20
  subject;
21
21
  body;
22
+ /** Structured attachments in request order. */
23
+ attachments;
22
24
  /**
23
25
  * The template this message was rendered from, if it was rendered from a
24
26
  * stored one. A message written out in full has none, and so does one
@@ -51,6 +53,7 @@ export class SimSesSentEmail {
51
53
  this.replyToAddresses = properties.replyToAddresses;
52
54
  this.subject = properties.subject;
53
55
  this.body = properties.body;
56
+ this.attachments = properties.attachments;
54
57
  this.templateName = properties.templateName;
55
58
  this.templateData = properties.templateData;
56
59
  this.configurationSetName = properties.configurationSetName;
@@ -79,3 +79,13 @@ export declare class SimSesSendingPausedException extends SimSesError {
79
79
  readonly name = "SendingPausedException";
80
80
  constructor(message: string);
81
81
  }
82
+ /**
83
+ * A feedback event that cannot belong to the recorded message it names.
84
+ *
85
+ * This is a simulator diagnostic rather than an AWS error. A test supplies
86
+ * feedback through `recordFeedback`, and the error is raised at that call so
87
+ * an unrelated message or recipient cannot alter the suppression list.
88
+ */
89
+ export declare class SimSesFeedbackError extends SimSesError {
90
+ readonly name = "SimSesFeedbackError";
91
+ }
@@ -88,3 +88,13 @@ export class SimSesSendingPausedException extends SimSesError {
88
88
  super(message, { httpStatusCode: 400 });
89
89
  }
90
90
  }
91
+ /**
92
+ * A feedback event that cannot belong to the recorded message it names.
93
+ *
94
+ * This is a simulator diagnostic rather than an AWS error. A test supplies
95
+ * feedback through `recordFeedback`, and the error is raised at that call so
96
+ * an unrelated message or recipient cannot alter the suppression list.
97
+ */
98
+ export class SimSesFeedbackError extends SimSesError {
99
+ name = "SimSesFeedbackError";
100
+ }
@@ -0,0 +1,34 @@
1
+ import type { SimClock } from "../../../util/clock/sim-clock.js";
2
+ import type { SimSesAccount } from "../account/sim-ses-account.js";
3
+ import type { SimSesConfigurationSetStore } from "../configuration-set/sim-ses-configuration-set-store.js";
4
+ import type { SimSesSentEmailStore } from "../email/sim-ses-sent-email-store.js";
5
+ import type { SimSesSuppressionList } from "../suppression/sim-ses-suppression-list.js";
6
+ import { type SimSesSuppressionReason } from "../suppression/sim-ses-suppression-reason.js";
7
+ import type { SimSesSuppressedDestination } from "../suppression/sim-ses-suppressed-destination.js";
8
+ /** A hard bounce or complaint reported for one accepted message recipient. */
9
+ export interface SimSesFeedback {
10
+ readonly messageId: string;
11
+ readonly emailAddress: string;
12
+ readonly reason: SimSesSuppressionReason;
13
+ }
14
+ interface SimSesFeedbackRecorderProperties {
15
+ readonly sent: SimSesSentEmailStore;
16
+ readonly configurationSets: SimSesConfigurationSetStore;
17
+ readonly account: SimSesAccount;
18
+ readonly suppression: SimSesSuppressionList;
19
+ readonly clock: SimClock;
20
+ }
21
+ /** Applies explicit delivery feedback to the account suppression list. */
22
+ export declare class SimSesFeedbackRecorder {
23
+ #private;
24
+ constructor(properties: SimSesFeedbackRecorderProperties);
25
+ /**
26
+ * Record a hard bounce or complaint for one recipient of an accepted
27
+ * message.
28
+ *
29
+ * The returned entry is undefined when suppression for the feedback reason
30
+ * was inactive for this send.
31
+ */
32
+ record(feedback: SimSesFeedback): SimSesSuppressedDestination | undefined;
33
+ }
34
+ export {};
@@ -0,0 +1,55 @@
1
+ import { simSesBareAddress } from "../email/sim-ses-address.js";
2
+ import { SimSesFeedbackError } from "../error/sim-ses.error.js";
3
+ import { requiredSimSesSuppressionAddress } from "../suppression/sim-ses-suppression-address.js";
4
+ import { requiredSimSesSuppressionReason, } from "../suppression/sim-ses-suppression-reason.js";
5
+ /** Applies explicit delivery feedback to the account suppression list. */
6
+ export class SimSesFeedbackRecorder {
7
+ #sent;
8
+ #configurationSets;
9
+ #account;
10
+ #suppression;
11
+ #clock;
12
+ constructor(properties) {
13
+ this.#sent = properties.sent;
14
+ this.#configurationSets = properties.configurationSets;
15
+ this.#account = properties.account;
16
+ this.#suppression = properties.suppression;
17
+ this.#clock = properties.clock;
18
+ }
19
+ /**
20
+ * Record a hard bounce or complaint for one recipient of an accepted
21
+ * message.
22
+ *
23
+ * The returned entry is undefined when suppression for the feedback reason
24
+ * was inactive for this send.
25
+ */
26
+ record(feedback) {
27
+ const email = this.#sent.require(feedback.messageId);
28
+ const emailAddress = requiredSimSesSuppressionAddress(feedback.emailAddress);
29
+ const reason = requiredSimSesSuppressionReason(feedback.reason);
30
+ const recipient = this.#recipient(email, emailAddress);
31
+ if (!this.#isActive(email, reason)) {
32
+ return undefined;
33
+ }
34
+ return this.#suppression.put(recipient, reason, this.#clock.now());
35
+ }
36
+ #recipient(email, emailAddress) {
37
+ const wanted = emailAddress.toLowerCase();
38
+ const recipient = email.recipients
39
+ .map((address) => simSesBareAddress(address))
40
+ .find((address) => address.toLowerCase() === wanted);
41
+ if (recipient === undefined) {
42
+ throw new SimSesFeedbackError(`${emailAddress} is not a recipient of sim SES message ${email.messageId}.`);
43
+ }
44
+ return recipient;
45
+ }
46
+ #isActive(email, reason) {
47
+ if (email.configurationSetName !== undefined) {
48
+ const configurationSet = this.#configurationSets.find(email.configurationSetName);
49
+ if (configurationSet?.suppressedReasons !== undefined) {
50
+ return configurationSet.suppressedReasons.includes(reason);
51
+ }
52
+ }
53
+ return this.#account.isSuppressedFor(reason);
54
+ }
55
+ }
@@ -9,11 +9,12 @@ export { requiredSimSesIdentityName, simSesIdentityDomain, simSesIdentityKey, ty
9
9
  export { simSesArnPrefix, simSesConfigurationSetArn, simSesIdentityArn, } from "./sim-ses-arn.js";
10
10
  export { SimSesConfigurationSet, type SimSesConfigurationSetDeliveryOptions, type SimSesConfigurationSetOptions, type SimSesConfigurationSetReputationOptions, type SimSesSuppressedReason, } from "./configuration-set/sim-ses-configuration-set.js";
11
11
  export { SimSesConfigurationSetStore } from "./configuration-set/sim-ses-configuration-set-store.js";
12
- export { SimSesSentEmail, type SimSesSentEmailBody, type SimSesSentEmailDestination, type SimSesSuppressedRecipient, } from "./email/sim-ses-sent-email.js";
12
+ export { SimSesSentEmail, type SimSesSentEmailAttachment, type SimSesSentEmailBody, type SimSesSentEmailDestination, type SimSesSuppressedRecipient, } from "./email/sim-ses-sent-email.js";
13
13
  export { SimSesSentEmailStore } from "./email/sim-ses-sent-email-store.js";
14
+ export { type SimSesFeedback, SimSesFeedbackRecorder, } from "./feedback/sim-ses-feedback-recorder.js";
14
15
  export { requiredSimSesFromAddress, simSesBareAddress, } from "./email/sim-ses-address.js";
15
16
  export { SimSesSuppressedDestination } from "./suppression/sim-ses-suppressed-destination.js";
16
17
  export { SimSesSuppressionList } from "./suppression/sim-ses-suppression-list.js";
17
18
  export { requiredSimSesSuppressionReason, type SimSesSuppressionReason, } from "./suppression/sim-ses-suppression-reason.js";
18
19
  export { SimSesAccount, type SimSesAccountContactDetails, type SimSesSendQuota, } from "./account/sim-ses-account.js";
19
- export { SimSesAlreadyExistsException, SimSesBadRequestException, SimSesError, type SimSesErrorMetadata, SimSesMessageRejected, SimSesNotFoundException, SimSesSendingPausedException, SimSesUnsupportedOperationException, } from "./error/sim-ses.error.js";
20
+ export { SimSesAlreadyExistsException, SimSesBadRequestException, SimSesError, SimSesFeedbackError, type SimSesErrorMetadata, SimSesMessageRejected, SimSesNotFoundException, SimSesSendingPausedException, SimSesUnsupportedOperationException, } from "./error/sim-ses.error.js";