@kensio/yulin 1.21.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) 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/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
  474. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
  475. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
  476. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
  477. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
  478. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
  479. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
  480. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
  481. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
  482. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
  483. package/docs/README.md +1 -0
  484. package/docs/services/backup/README.md +553 -0
  485. package/docs/services/cloudformation/README.md +16 -6
  486. package/docs/services/cloudwatch/README.md +159 -3
  487. package/docs/services/cognito/README.md +370 -7
  488. package/docs/services/lambda/README.md +28 -0
  489. package/docs/services/logs/README.md +284 -3
  490. package/docs/services/s3/README.md +463 -20
  491. package/docs/services/scheduler/README.md +48 -9
  492. package/docs/services/sqs/README.md +47 -10
  493. package/llms.txt +1 -0
  494. 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
  /**
@@ -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")