@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
@@ -8,9 +8,10 @@ export { SimSesConfigurationSet, } from "./configuration-set/sim-ses-configurati
8
8
  export { SimSesConfigurationSetStore } from "./configuration-set/sim-ses-configuration-set-store.js";
9
9
  export { SimSesSentEmail, } from "./email/sim-ses-sent-email.js";
10
10
  export { SimSesSentEmailStore } from "./email/sim-ses-sent-email-store.js";
11
+ export { SimSesFeedbackRecorder, } from "./feedback/sim-ses-feedback-recorder.js";
11
12
  export { requiredSimSesFromAddress, simSesBareAddress, } from "./email/sim-ses-address.js";
12
13
  export { SimSesSuppressedDestination } from "./suppression/sim-ses-suppressed-destination.js";
13
14
  export { SimSesSuppressionList } from "./suppression/sim-ses-suppression-list.js";
14
15
  export { requiredSimSesSuppressionReason, } from "./suppression/sim-ses-suppression-reason.js";
15
16
  export { SimSesAccount, } from "./account/sim-ses-account.js";
16
- export { SimSesAlreadyExistsException, SimSesBadRequestException, SimSesError, SimSesMessageRejected, SimSesNotFoundException, SimSesSendingPausedException, SimSesUnsupportedOperationException, } from "./error/sim-ses.error.js";
17
+ export { SimSesAlreadyExistsException, SimSesBadRequestException, SimSesError, SimSesFeedbackError, SimSesMessageRejected, SimSesNotFoundException, SimSesSendingPausedException, SimSesUnsupportedOperationException, } from "./error/sim-ses.error.js";
@@ -11,6 +11,7 @@ import { SimSesServiceSend } from "./command/send/sim-ses-service-send.js";
11
11
  import { SimSesSuppressionCommands } from "./command/suppression/sim-ses-suppression-commands.js";
12
12
  import { SimSesSuppressionList } from "./suppression/sim-ses-suppression-list.js";
13
13
  import { SimSesSentEmailStore } from "./email/sim-ses-sent-email-store.js";
14
+ import { SimSesFeedbackRecorder } from "./feedback/sim-ses-feedback-recorder.js";
14
15
  import { SimSesConfigurationSetStore } from "./configuration-set/sim-ses-configuration-set-store.js";
15
16
  import { SimSesIdentityStore } from "./identity/sim-ses-identity-store.js";
16
17
  import { SimSesTemplateCommands } from "./command/template/sim-ses-template-commands.js";
@@ -43,6 +44,7 @@ export declare class SimSesCommands {
43
44
  readonly templateCommands: SimSesTemplateCommands;
44
45
  readonly configurationSetCommands: SimSesConfigurationSetCommands;
45
46
  readonly sendEmail: SimSesSendEmail;
47
+ readonly feedback: SimSesFeedbackRecorder;
46
48
  /**
47
49
  * The way another simulated service reaches this SES, which is the send
48
50
  * without the IAM authorization a caller's request goes through.
@@ -16,6 +16,7 @@ import { SimSesVerifiedIdentityCheck } from "./command/send/sim-ses-verified-ide
16
16
  import { SimSesSuppressionCommands } from "./command/suppression/sim-ses-suppression-commands.js";
17
17
  import { SimSesSuppressionList } from "./suppression/sim-ses-suppression-list.js";
18
18
  import { SimSesSentEmailStore } from "./email/sim-ses-sent-email-store.js";
19
+ import { SimSesFeedbackRecorder } from "./feedback/sim-ses-feedback-recorder.js";
19
20
  import { SimSesConfigurationSetStore } from "./configuration-set/sim-ses-configuration-set-store.js";
20
21
  import { SimSesIdentityStore } from "./identity/sim-ses-identity-store.js";
21
22
  import { SimSesTemplateCommands } from "./command/template/sim-ses-template-commands.js";
@@ -39,6 +40,7 @@ export class SimSesCommands {
39
40
  templateCommands;
40
41
  configurationSetCommands;
41
42
  sendEmail;
43
+ feedback;
42
44
  /**
43
45
  * The way another simulated service reaches this SES, which is the send
44
46
  * without the IAM authorization a caller's request goes through.
@@ -103,6 +105,13 @@ export class SimSesCommands {
103
105
  authorizer,
104
106
  clock: background,
105
107
  });
108
+ this.feedback = new SimSesFeedbackRecorder({
109
+ sent,
110
+ configurationSets,
111
+ account,
112
+ suppression,
113
+ clock: background,
114
+ });
106
115
  this.serviceSend = new SimSesServiceSend({
107
116
  sent,
108
117
  identityCheck,
@@ -10,10 +10,10 @@ import { SimSesSuppression } from "./sim-ses-suppression.js";
10
10
  * separate classes because one class holding every SES operation grows by a
11
11
  * method with each one added.
12
12
  *
13
- * A configuration set here is state and no behaviour. Its suppression reasons,
14
- * sending switch, delivery options and reputation switch are all held and read
15
- * back, and nothing acts on any of them. A send naming a set keeps the name on
16
- * its record and goes no further.
13
+ * A configuration set holds suppression reasons, the sending switch, delivery
14
+ * options and the reputation switch. The sending switch acts on acceptance.
15
+ * Suppression reasons act when feedback is recorded for an accepted message.
16
+ * The remaining options are held for a test to read back.
17
17
  */
18
18
  export declare abstract class SimSesConfigurationSets extends SimSesSuppression {
19
19
  /**
@@ -7,10 +7,10 @@ import { SimSesSuppression } from "./sim-ses-suppression.js";
7
7
  * separate classes because one class holding every SES operation grows by a
8
8
  * method with each one added.
9
9
  *
10
- * A configuration set here is state and no behaviour. Its suppression reasons,
11
- * sending switch, delivery options and reputation switch are all held and read
12
- * back, and nothing acts on any of them. A send naming a set keeps the name on
13
- * its record and goes no further.
10
+ * A configuration set holds suppression reasons, the sending switch, delivery
11
+ * options and the reputation switch. The sending switch acts on acceptance.
12
+ * Suppression reasons act when feedback is recorded for an accepted message.
13
+ * The remaining options are held for a test to read back.
14
14
  */
15
15
  export class SimSesConfigurationSets extends SimSesSuppression {
16
16
  /**
@@ -13,8 +13,9 @@ interface SimSesSuppressionProperties {
13
13
  * SES operation grows by a method with each one added, and the suppression
14
14
  * commands are the part of the API a reader can take in on their own.
15
15
  *
16
- * Real SES fills this list from hard bounces and complaints. Nothing bounces
17
- * here, so every address on it was put there by a caller.
16
+ * Real SES fills this list from hard bounces and complaints. A test supplies
17
+ * that feedback explicitly, and callers may also manage entries through the
18
+ * suppression commands.
18
19
  */
19
20
  export declare abstract class SimSesSuppression {
20
21
  protected readonly commands: SimSesCommands;
@@ -6,8 +6,9 @@
6
6
  * SES operation grows by a method with each one added, and the suppression
7
7
  * commands are the part of the API a reader can take in on their own.
8
8
  *
9
- * Real SES fills this list from hard bounces and complaints. Nothing bounces
10
- * here, so every address on it was put there by a caller.
9
+ * Real SES fills this list from hard bounces and complaints. A test supplies
10
+ * that feedback explicitly, and callers may also manage entries through the
11
+ * suppression commands.
11
12
  */
12
13
  export class SimSesSuppression {
13
14
  commands;
@@ -3,6 +3,8 @@ import type * as simSesCommands from "./command/sim-ses-command.types.js";
3
3
  import type { SimSesRequestOptions } from "./command/sim-ses-request-options.js";
4
4
  import type * as simSesServiceSend from "./command/send/sim-ses-service-send.js";
5
5
  import type { SimSesSentEmail } from "./email/sim-ses-sent-email.js";
6
+ import type { SimSesFeedback } from "./feedback/sim-ses-feedback-recorder.js";
7
+ import type { SimSesSuppressedDestination } from "./suppression/sim-ses-suppressed-destination.js";
6
8
  import type { SimSesIdentity } from "./identity/sim-ses-identity.js";
7
9
  import type { SimSesTemplate } from "./template/sim-ses-template.js";
8
10
  import { SimSesCfnResourceFactory } from "./cfn/sim-ses-cfn-resource-factory.js";
@@ -39,6 +41,17 @@ export declare class SimSesV2 extends SimSesConfigurationSets {
39
41
  * account keeps no such record, which is exactly why a test needs one.
40
42
  */
41
43
  sentEmails(): readonly SimSesSentEmail[];
44
+ /**
45
+ * Record a hard bounce or complaint for one recipient of an accepted
46
+ * message.
47
+ *
48
+ * Real feedback happens after SES hands a message to a mail system. A test
49
+ * process cannot observe that exchange, so this simulator-side operation
50
+ * supplies the feedback explicitly. Active feedback adds or updates the
51
+ * account suppression entry at the current simulated time. Inactive
52
+ * feedback returns undefined and leaves the list unchanged.
53
+ */
54
+ recordFeedback(feedback: SimSesFeedback): SimSesSuppressedDestination | undefined;
42
55
  /**
43
56
  * Find an identity by the address or domain it names.
44
57
  *
@@ -38,6 +38,19 @@ export class SimSesV2 extends SimSesConfigurationSets {
38
38
  sentEmails() {
39
39
  return this.commands.sent.all;
40
40
  }
41
+ /**
42
+ * Record a hard bounce or complaint for one recipient of an accepted
43
+ * message.
44
+ *
45
+ * Real feedback happens after SES hands a message to a mail system. A test
46
+ * process cannot observe that exchange, so this simulator-side operation
47
+ * supplies the feedback explicitly. Active feedback adds or updates the
48
+ * account suppression entry at the current simulated time. Inactive
49
+ * feedback returns undefined and leaves the list unchanged.
50
+ */
51
+ recordFeedback(feedback) {
52
+ return this.commands.feedback.record(feedback);
53
+ }
41
54
  /**
42
55
  * Find an identity by the address or domain it names.
43
56
  *
@@ -7,10 +7,9 @@ interface SimSesSuppressedDestinationProperties {
7
7
  /**
8
8
  * One address on an account's suppression list.
9
9
  *
10
- * Real SES also reports a `MessageId` and a `FeedbackId` on the address it put
11
- * there itself, describing the bounce or complaint that did it. Nothing
12
- * bounces here, so every address on this list was put there by hand and there
13
- * is no feedback event to point at.
10
+ * Real SES also reports a `MessageId` and a `FeedbackId` on an address added by
11
+ * delivery feedback. This simulation records the reason and time only. It
12
+ * does not publish or retain a feedback event.
14
13
  */
15
14
  export declare class SimSesSuppressedDestination {
16
15
  /** The address as it was given, case and all. */
@@ -1,10 +1,9 @@
1
1
  /**
2
2
  * One address on an account's suppression list.
3
3
  *
4
- * Real SES also reports a `MessageId` and a `FeedbackId` on the address it put
5
- * there itself, describing the bounce or complaint that did it. Nothing
6
- * bounces here, so every address on this list was put there by hand and there
7
- * is no feedback event to point at.
4
+ * Real SES also reports a `MessageId` and a `FeedbackId` on an address added by
5
+ * delivery feedback. This simulation records the reason and time only. It
6
+ * does not publish or retain a feedback event.
8
7
  */
9
8
  export class SimSesSuppressedDestination {
10
9
  /** The address as it was given, case and all. */
@@ -3,10 +3,10 @@ import type { SimSesSuppressionReason } from "./sim-ses-suppression-reason.js";
3
3
  /**
4
4
  * The account-level suppression list of one simulated SES scope.
5
5
  *
6
- * Real SES fills this from hard bounces and complaints. Nothing bounces here,
7
- * so every address on it was put there by a caller, which is the point: an
8
- * application's own support tooling and operations scripts have somewhere to
9
- * run.
6
+ * Real SES fills this from hard bounces and complaints. A test supplies those
7
+ * events through the simulator's feedback operation. The ordinary suppression
8
+ * commands also manage the same entries, giving application support tooling
9
+ * and operations scripts somewhere to run.
10
10
  *
11
11
  * The list is region scoped, as identities and sends are. An address
12
12
  * suppressed in one region says nothing about another.
@@ -3,10 +3,10 @@ import { SimSesSuppressedDestination } from "./sim-ses-suppressed-destination.js
3
3
  /**
4
4
  * The account-level suppression list of one simulated SES scope.
5
5
  *
6
- * Real SES fills this from hard bounces and complaints. Nothing bounces here,
7
- * so every address on it was put there by a caller, which is the point: an
8
- * application's own support tooling and operations scripts have somewhere to
9
- * run.
6
+ * Real SES fills this from hard bounces and complaints. A test supplies those
7
+ * events through the simulator's feedback operation. The ordinary suppression
8
+ * commands also manage the same entries, giving application support tooling
9
+ * and operations scripts somewhere to run.
10
10
  *
11
11
  * The list is region scoped, as identities and sends are. An address
12
12
  * suppressed in one region says nothing about another.
@@ -0,0 +1,15 @@
1
+ import type { SimCfnSkippedPropertyValue } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
2
+ /**
3
+ * The range real SQS accepts for `KmsDataKeyReusePeriodSeconds`.
4
+ *
5
+ * Encryption itself is not simulated. The property is recorded against the
6
+ * Resource and the queue is created without it, and no key is ever asked for.
7
+ * How long the value says to reuse one is still read, because a period outside
8
+ * this range is one real SQS answers with `InvalidAttributeValue`, and
9
+ * CloudFormation fails the stack on it at CreateQueue. A queue that deployed
10
+ * here would report a template AWS refuses as working.
11
+ *
12
+ * The bound is the one the SQS API documents, a minute at the short end and a
13
+ * day at the long one.
14
+ */
15
+ export declare function validateSimCfnSqsKmsDataKeyReusePeriod(declared: SimCfnSkippedPropertyValue): void;
@@ -0,0 +1,33 @@
1
+ const minimumReuseSeconds = 60;
2
+ const maximumReuseSeconds = 86_400;
3
+ /**
4
+ * The range real SQS accepts for `KmsDataKeyReusePeriodSeconds`.
5
+ *
6
+ * Encryption itself is not simulated. The property is recorded against the
7
+ * Resource and the queue is created without it, and no key is ever asked for.
8
+ * How long the value says to reuse one is still read, because a period outside
9
+ * this range is one real SQS answers with `InvalidAttributeValue`, and
10
+ * CloudFormation fails the stack on it at CreateQueue. A queue that deployed
11
+ * here would report a template AWS refuses as working.
12
+ *
13
+ * The bound is the one the SQS API documents, a minute at the short end and a
14
+ * day at the long one.
15
+ */
16
+ export function validateSimCfnSqsKmsDataKeyReusePeriod(declared) {
17
+ const stated = declared.value;
18
+ const seconds = typeof stated === "number" || typeof stated === "string"
19
+ ? Number(stated)
20
+ : NaN;
21
+ if (Number.isSafeInteger(seconds) &&
22
+ seconds >= minimumReuseSeconds &&
23
+ seconds <= maximumReuseSeconds) {
24
+ return;
25
+ }
26
+ declared.refuse(`KmsDataKeyReusePeriodSeconds ${stringified(stated)} is outside the ` +
27
+ `${String(minimumReuseSeconds)} to ${String(maximumReuseSeconds)} ` +
28
+ `seconds real SQS accepts`);
29
+ }
30
+ /** The value as a refusal names it, whatever shape the template gave it. */
31
+ function stringified(value) {
32
+ return typeof value === "object" ? JSON.stringify(value) : String(value);
33
+ }
@@ -30,6 +30,22 @@ export declare class SimCfnSqsQueueProperties {
30
30
  * takes them in.
31
31
  */
32
32
  attributes(): SimSqsQueueAttributeInput;
33
+ /**
34
+ * Read one property as the string the attribute of that name carries.
35
+ *
36
+ * Five of these properties are amounts and `RedrivePolicy` is a JSON
37
+ * document, so the two are read differently.
38
+ */
39
+ private attributeValue;
40
+ /**
41
+ * Read a JSON document property as the string an SQS attribute carries.
42
+ *
43
+ * CloudFormation carries the document as an object, and as a string when it
44
+ * came from a template Parameter or from a Terraform plan holding it as one.
45
+ * What the document has to say is left to SQS, which refuses a bad redrive
46
+ * policy in its own words.
47
+ */
48
+ private documentValue;
33
49
  /**
34
50
  * Read a numeric property as the string an SQS attribute carries.
35
51
  *
@@ -1,3 +1,6 @@
1
+ import { jsonStringify } from "../../../../util/type-guard/json.js";
2
+ import { isRecord } from "../../../../util/type-guard/record.js";
3
+ import { simSqsJsonQueueAttributeNames } from "../../queue/sim-sqs-queue-attribute-specs.js";
1
4
  import { SimCfnSqsQueueName } from "./sim-cfn-sqs-queue-name.js";
2
5
  import { SimCfnSqsQueuePropertyRules, sqsQueuePropertyError, } from "./sim-cfn-sqs-queue-property-rules.js";
3
6
  /**
@@ -48,7 +51,36 @@ export class SimCfnSqsQueueProperties {
48
51
  this.rules.apply();
49
52
  return Object.fromEntries(Object.entries(this.properties)
50
53
  .filter(([name]) => this.rules.isAttributeProperty(name))
51
- .map(([name, value]) => [name, this.numberValue(value, name)]));
54
+ .map(([name, value]) => [name, this.attributeValue(value, name)]));
55
+ }
56
+ /**
57
+ * Read one property as the string the attribute of that name carries.
58
+ *
59
+ * Five of these properties are amounts and `RedrivePolicy` is a JSON
60
+ * document, so the two are read differently.
61
+ */
62
+ attributeValue(value, name) {
63
+ if (simSqsJsonQueueAttributeNames.has(name)) {
64
+ return this.documentValue(value, name);
65
+ }
66
+ return this.numberValue(value, name);
67
+ }
68
+ /**
69
+ * Read a JSON document property as the string an SQS attribute carries.
70
+ *
71
+ * CloudFormation carries the document as an object, and as a string when it
72
+ * came from a template Parameter or from a Terraform plan holding it as one.
73
+ * What the document has to say is left to SQS, which refuses a bad redrive
74
+ * policy in its own words.
75
+ */
76
+ documentValue(value, name) {
77
+ if (typeof value === "string") {
78
+ return value;
79
+ }
80
+ if (isRecord(value)) {
81
+ return jsonStringify(value);
82
+ }
83
+ throw this.propertyError(`${name} must be a JSON document`);
52
84
  }
53
85
  /**
54
86
  * Read a numeric property as the string an SQS attribute carries.
@@ -1,10 +1,14 @@
1
+ import type { SimCfnSkippedPropertyRules } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
1
2
  import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
3
  /**
3
4
  * The AWS::SQS::Queue properties carrying a queue attribute of the same name.
4
5
  *
5
6
  * CloudFormation names these exactly as the SQS API names the attributes, so
6
7
  * they are handed to CreateQueue rather than applied here. That leaves the
7
- * ranges and defaults in one place: the ones simulated SQS already validates.
8
+ * ranges and defaults in one place, the ones simulated SQS already validates.
9
+ *
10
+ * Five of them are amounts. `RedrivePolicy` is a JSON document, and
11
+ * CloudFormation carries it as an object where SQS carries it as a string.
8
12
  */
9
13
  export declare const attributePropertyNames: ReadonlySet<string>;
10
14
  /**
@@ -12,12 +16,14 @@ export declare const attributePropertyNames: ReadonlySet<string>;
12
16
  * each of them would have changed.
13
17
  *
14
18
  * The queue is created without them and each one is recorded against the
15
- * Resource. A queue deployed without its redrive policy looks like a queue with
16
- * a dead-letter queue to the template that wrote it and has none, so a test
17
- * expecting a failed message to end up somewhere needs to find out that it
18
- * never will.
19
+ * Resource. A test reads the record to find out what the queue it deployed
20
+ * behaves differently to AWS about.
21
+ *
22
+ * A property whose value real SQS answers with a 400 states what it has to
23
+ * satisfy here as well. Nothing acts on the value either way, and reading it
24
+ * this far is what keeps a template AWS refuses from deploying.
19
25
  */
20
- export declare const unsimulatedPropertyReasons: ReadonlyMap<string, string>;
26
+ export declare const unsimulatedPropertyReasons: SimCfnSkippedPropertyRules;
21
27
  /**
22
28
  * The FifoQueue values that ask for a FIFO queue. CloudFormation carries a
23
29
  * boolean property as either, depending on where the value came from.
@@ -1,15 +1,20 @@
1
+ import { validateSimCfnSqsKmsDataKeyReusePeriod } from "./sim-cfn-sqs-queue-encryption-rules.js";
1
2
  /**
2
3
  * The AWS::SQS::Queue properties carrying a queue attribute of the same name.
3
4
  *
4
5
  * CloudFormation names these exactly as the SQS API names the attributes, so
5
6
  * they are handed to CreateQueue rather than applied here. That leaves the
6
- * ranges and defaults in one place: the ones simulated SQS already validates.
7
+ * ranges and defaults in one place, the ones simulated SQS already validates.
8
+ *
9
+ * Five of them are amounts. `RedrivePolicy` is a JSON document, and
10
+ * CloudFormation carries it as an object where SQS carries it as a string.
7
11
  */
8
12
  export const attributePropertyNames = new Set([
9
13
  "DelaySeconds",
10
14
  "MaximumMessageSize",
11
15
  "MessageRetentionPeriod",
12
16
  "ReceiveMessageWaitTimeSeconds",
17
+ "RedrivePolicy",
13
18
  "VisibilityTimeout",
14
19
  ]);
15
20
  /**
@@ -17,10 +22,12 @@ export const attributePropertyNames = new Set([
17
22
  * each of them would have changed.
18
23
  *
19
24
  * The queue is created without them and each one is recorded against the
20
- * Resource. A queue deployed without its redrive policy looks like a queue with
21
- * a dead-letter queue to the template that wrote it and has none, so a test
22
- * expecting a failed message to end up somewhere needs to find out that it
23
- * never will.
25
+ * Resource. A test reads the record to find out what the queue it deployed
26
+ * behaves differently to AWS about.
27
+ *
28
+ * A property whose value real SQS answers with a 400 states what it has to
29
+ * satisfy here as well. Nothing acts on the value either way, and reading it
30
+ * this far is what keeps a template AWS refuses from deploying.
24
31
  */
25
32
  export const unsimulatedPropertyReasons = new Map([
26
33
  ["ContentBasedDeduplication", "only standard queues are simulated"],
@@ -28,18 +35,16 @@ export const unsimulatedPropertyReasons = new Map([
28
35
  ["FifoThroughputLimit", "only standard queues are simulated"],
29
36
  [
30
37
  "KmsDataKeyReusePeriodSeconds",
31
- "simulated SQS does not encrypt message bodies",
38
+ {
39
+ reason: "simulated SQS does not encrypt message bodies",
40
+ constraint: validateSimCfnSqsKmsDataKeyReusePeriod,
41
+ },
32
42
  ],
33
43
  ["KmsMasterKeyId", "simulated SQS does not encrypt message bodies"],
34
44
  [
35
45
  "RedriveAllowPolicy",
36
- "dead-letter queues are not simulated, so nothing enforces which queues " +
37
- "may name this one as theirs",
38
- ],
39
- [
40
- "RedrivePolicy",
41
- "dead-letter queues are not simulated, so a message that is received " +
42
- "past maxReceiveCount stays on this queue rather than moving",
46
+ "nothing enforces which queues may name this one as their dead-letter " +
47
+ "queue, and setting the attribute through the SQS API is refused",
43
48
  ],
44
49
  ["SqsManagedSseEnabled", "simulated SQS does not encrypt message bodies"],
45
50
  ["Tags", "no simulated service reads a queue tag"],
@@ -27,6 +27,7 @@ export declare class SimCfnSqsQueuePropertyRules {
27
27
  private readonly logicalId;
28
28
  private readonly properties;
29
29
  private readonly ignorer;
30
+ private readonly skipped;
30
31
  constructor(properties: SimCfnSqsQueuePropertyRulesProperties);
31
32
  /**
32
33
  * Whether a property carries a queue attribute of the same name.
@@ -1,3 +1,4 @@
1
+ import { SimCfnSkippedProperties } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-properties.js";
1
2
  import { attributePropertyNames, fifoQueueValues, standardQueueValues, unsimulatedPropertyReasons, } from "./sim-cfn-sqs-queue-property-names.js";
2
3
  /**
3
4
  * Build the error a property of an AWS::SQS::Queue Resource is refused with.
@@ -23,10 +24,16 @@ export class SimCfnSqsQueuePropertyRules {
23
24
  logicalId;
24
25
  properties;
25
26
  ignorer;
27
+ skipped;
26
28
  constructor(properties) {
27
29
  this.logicalId = properties.logicalId;
28
30
  this.properties = properties.properties;
29
31
  this.ignorer = properties.ignorer;
32
+ this.skipped = new SimCfnSkippedProperties({
33
+ rules: unsimulatedPropertyReasons,
34
+ properties: this.properties,
35
+ error: (reason) => sqsQueuePropertyError(this.logicalId, reason),
36
+ });
30
37
  }
31
38
  /**
32
39
  * Whether a property carries a queue attribute of the same name.
@@ -39,6 +46,7 @@ export class SimCfnSqsQueuePropertyRules {
39
46
  */
40
47
  apply() {
41
48
  this.applyToFifoQueue();
49
+ this.skipped.assertConstraints();
42
50
  for (const name of Object.keys(this.properties)) {
43
51
  this.applyToProperty(name);
44
52
  }
@@ -71,7 +79,7 @@ export class SimCfnSqsQueuePropertyRules {
71
79
  throw sqsQueuePropertyError(this.logicalId, "FifoQueue must be true or false");
72
80
  }
73
81
  applyToProperty(name) {
74
- const unsimulatedReason = unsimulatedPropertyReasons.get(name);
82
+ const unsimulatedReason = this.skipped.reasonFor(name);
75
83
  if (unsimulatedReason !== undefined) {
76
84
  this.ignorer.ignoreProperty(name, `${name} is a real AWS::SQS::Queue property simulated SQS does not ` +
77
85
  `act on: ${unsimulatedReason}`);
@@ -24,8 +24,9 @@ export declare function jsonDocument(context: TerraformMappingContext, key: stri
24
24
  *
25
25
  * Each names its queue in a `queue_url` attribute, which the queue resolves to
26
26
  * whether or not the URL itself was known at plan time. CloudFormation carries
27
- * both as properties of the `AWS::SQS::Queue`, and simulated SQS records each
28
- * one against the Resource: no message moves to a dead-letter queue here, and
29
- * nothing enforces which queues may name one as theirs.
27
+ * both as properties of the `AWS::SQS::Queue`. `RedrivePolicy` reaches
28
+ * CreateQueue from there and moves a message that has run out of receives.
29
+ * `RedriveAllowPolicy` is recorded against the Resource, since nothing
30
+ * enforces which queues may name this one as their dead-letter queue.
30
31
  */
31
32
  export declare const sqsRedriveFolds: ReadonlyMap<string, TerraformResourceFold>;
@@ -40,9 +40,10 @@ export function jsonDocument(context, key) {
40
40
  *
41
41
  * Each names its queue in a `queue_url` attribute, which the queue resolves to
42
42
  * whether or not the URL itself was known at plan time. CloudFormation carries
43
- * both as properties of the `AWS::SQS::Queue`, and simulated SQS records each
44
- * one against the Resource: no message moves to a dead-letter queue here, and
45
- * nothing enforces which queues may name one as theirs.
43
+ * both as properties of the `AWS::SQS::Queue`. `RedrivePolicy` reaches
44
+ * CreateQueue from there and moves a message that has run out of receives.
45
+ * `RedriveAllowPolicy` is recorded against the Resource, since nothing
46
+ * enforces which queues may name this one as their dead-letter queue.
46
47
  */
47
48
  export const sqsRedriveFolds = new Map([
48
49
  [
package/docs/README.md CHANGED
@@ -9,6 +9,7 @@ behaviour and includes example code that can be copied into tests or local devel
9
9
  - [API Gateway HTTP APIs](https://yulinsim.dev/services/apigatewayv2/ "Simulated API Gateway HTTP API usage docs")
10
10
  - [API Gateway REST APIs](https://yulinsim.dev/services/apigateway/ "Simulated API Gateway REST API usage docs")
11
11
  - [Athena](https://yulinsim.dev/services/athena/ "Simulated Amazon Athena usage docs")
12
+ - [AWS Backup](https://yulinsim.dev/services/backup/ "Simulated AWS Backup usage docs")
12
13
  - [Bedrock](https://yulinsim.dev/services/bedrock/ "Simulated Amazon Bedrock usage docs")
13
14
  - [CloudFormation](https://yulinsim.dev/services/cloudformation/ "Simulated CloudFormation usage docs")
14
15
  - [CloudFront](https://yulinsim.dev/services/cloudfront/ "Simulated CloudFront usage docs")