@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
@@ -3,7 +3,10 @@ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../..
3
3
  * The rule fields CloudFormation and the SDK spell differently.
4
4
  *
5
5
  * CloudFormation flattens an expiry onto the rule and names a transition's
6
- * timing after it, where the request nests both. Everything absent from here,
6
+ * timing after it, where the request nests both. It carries the noncurrent
7
+ * expiry both ways, as the nested object the request takes and as the older
8
+ * `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
9
+ * `noncurrentVersionExpiration` synthesises. Everything absent from here,
7
10
  * `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
8
11
  * object size bounds among them, is spelled the same way in both and goes
9
12
  * through untouched.
@@ -28,3 +31,17 @@ export declare function simCfnS3StatedFields(fields: Record<string, SimCfnTempla
28
31
  * acts on anyway.
29
32
  */
30
33
  export declare function simCfnS3CarriedRuleFields(rule: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
34
+ /**
35
+ * The three flattened expiry fields, gathered under the one the request
36
+ * carries. A rule stating none of them keeps no `Expiration` at all.
37
+ */
38
+ export declare function simCfnS3RuleExpiration(rule: SimCfnTemplateValueRecord): SimCfnTemplateValue | undefined;
39
+ /**
40
+ * The noncurrent expiry, from whichever of the two spellings the rule used.
41
+ *
42
+ * The nested object is the one the request takes and wins where a template
43
+ * states it. `NoncurrentVersionExpirationInDays` is the older flattened field
44
+ * beside it, and is what CDK synthesises, so a rule carrying only that one
45
+ * still reaches the versions it names.
46
+ */
47
+ export declare function simCfnS3RuleNoncurrentExpiration(rule: SimCfnTemplateValueRecord): SimCfnTemplateValue | undefined;
@@ -2,7 +2,10 @@
2
2
  * The rule fields CloudFormation and the SDK spell differently.
3
3
  *
4
4
  * CloudFormation flattens an expiry onto the rule and names a transition's
5
- * timing after it, where the request nests both. Everything absent from here,
5
+ * timing after it, where the request nests both. It carries the noncurrent
6
+ * expiry both ways, as the nested object the request takes and as the older
7
+ * `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
8
+ * `noncurrentVersionExpiration` synthesises. Everything absent from here,
6
9
  * `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
7
10
  * object size bounds among them, is spelled the same way in both and goes
8
11
  * through untouched.
@@ -12,6 +15,8 @@ export const simCfnS3TranslatedLifecycleFields = new Set([
12
15
  "ExpirationDate",
13
16
  "ExpirationInDays",
14
17
  "ExpiredObjectDeleteMarker",
18
+ "NoncurrentVersionExpiration",
19
+ "NoncurrentVersionExpirationInDays",
15
20
  "Transition",
16
21
  "Transitions",
17
22
  ]);
@@ -47,3 +52,31 @@ export function simCfnS3StatedFields(fields) {
47
52
  export function simCfnS3CarriedRuleFields(rule) {
48
53
  return Object.fromEntries(Object.entries(rule).filter(([name]) => !simCfnS3TranslatedLifecycleFields.has(name)));
49
54
  }
55
+ /**
56
+ * The three flattened expiry fields, gathered under the one the request
57
+ * carries. A rule stating none of them keeps no `Expiration` at all.
58
+ */
59
+ export function simCfnS3RuleExpiration(rule) {
60
+ return simCfnS3StatedFields({
61
+ Date: simCfnS3LifecycleDate(rule["ExpirationDate"]),
62
+ Days: rule["ExpirationInDays"],
63
+ ExpiredObjectDeleteMarker: rule["ExpiredObjectDeleteMarker"],
64
+ });
65
+ }
66
+ /**
67
+ * The noncurrent expiry, from whichever of the two spellings the rule used.
68
+ *
69
+ * The nested object is the one the request takes and wins where a template
70
+ * states it. `NoncurrentVersionExpirationInDays` is the older flattened field
71
+ * beside it, and is what CDK synthesises, so a rule carrying only that one
72
+ * still reaches the versions it names.
73
+ */
74
+ export function simCfnS3RuleNoncurrentExpiration(rule) {
75
+ const nested = rule["NoncurrentVersionExpiration"];
76
+ if (nested !== undefined) {
77
+ return nested;
78
+ }
79
+ return simCfnS3StatedFields({
80
+ NoncurrentDays: rule["NoncurrentVersionExpirationInDays"],
81
+ });
82
+ }
@@ -0,0 +1,37 @@
1
+ import type { SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ import type { SimS3ObjectLockConfigurationInput } from "../../../bucket/lock/sim-s3-object-lock-configuration.js";
3
+ /**
4
+ * Reads the Object Lock properties of an AWS::S3::Bucket Resource.
5
+ *
6
+ * A Bucket declares Object Lock across two properties. `ObjectLockEnabled`
7
+ * turns it on and `ObjectLockConfiguration` carries the default retention,
8
+ * and real CloudFormation requires the first before it will read the second.
9
+ * CDK's `objectLockEnabled` and `objectLockDefaultRetention` synthesise both.
10
+ *
11
+ * The configuration is handed to PutObjectLockConfiguration rather than
12
+ * translated here, so a template and an SDK caller are validated identically,
13
+ * including the versioning a locked Bucket has to have underneath it.
14
+ */
15
+ export declare class SimCfnS3BucketObjectLockConfiguration {
16
+ private readonly logicalId;
17
+ private readonly properties;
18
+ private readonly shape;
19
+ constructor(logicalId: string, properties: SimCfnTemplateValueRecord);
20
+ /**
21
+ * The configuration to apply, or nothing where the Resource declares none.
22
+ *
23
+ * A Bucket declaring `ObjectLockEnabled` and no configuration is locked with
24
+ * no default retention, which is a real thing to declare: every version it
25
+ * holds is then retained only by the requests that name one.
26
+ */
27
+ read(): SimS3ObjectLockConfigurationInput | undefined;
28
+ /**
29
+ * Whether the Resource asks for Object Lock.
30
+ *
31
+ * Real CloudFormation refuses an `ObjectLockConfiguration` on a Bucket that
32
+ * does not also declare `ObjectLockEnabled`, and so does this: a Bucket
33
+ * created around the property would report a default retention it was not
34
+ * applying to anything.
35
+ */
36
+ private isEnabled;
37
+ }
@@ -0,0 +1,78 @@
1
+ import { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
2
+ import { simS3ObjectLockEnabled } from "../../../bucket/lock/sim-s3-object-lock-configuration.js";
3
+ import { s3BucketResourceError } from "../error/sim-cfn-s3-bucket-error.js";
4
+ /**
5
+ * The AWS::S3::Bucket values that turn Object Lock on. CloudFormation carries
6
+ * a boolean property as either, depending on where the value came from.
7
+ */
8
+ const objectLockEnabledValues = new Set([true, "true"]);
9
+ const objectLockDisabledValues = new Set([
10
+ false,
11
+ "false",
12
+ ]);
13
+ /**
14
+ * Reads the Object Lock properties of an AWS::S3::Bucket Resource.
15
+ *
16
+ * A Bucket declares Object Lock across two properties. `ObjectLockEnabled`
17
+ * turns it on and `ObjectLockConfiguration` carries the default retention,
18
+ * and real CloudFormation requires the first before it will read the second.
19
+ * CDK's `objectLockEnabled` and `objectLockDefaultRetention` synthesise both.
20
+ *
21
+ * The configuration is handed to PutObjectLockConfiguration rather than
22
+ * translated here, so a template and an SDK caller are validated identically,
23
+ * including the versioning a locked Bucket has to have underneath it.
24
+ */
25
+ export class SimCfnS3BucketObjectLockConfiguration {
26
+ logicalId;
27
+ properties;
28
+ shape;
29
+ constructor(logicalId, properties) {
30
+ this.logicalId = logicalId;
31
+ this.properties = properties;
32
+ this.shape = new SimCfnValueShape((reason) => s3BucketResourceError(logicalId, reason));
33
+ }
34
+ /**
35
+ * The configuration to apply, or nothing where the Resource declares none.
36
+ *
37
+ * A Bucket declaring `ObjectLockEnabled` and no configuration is locked with
38
+ * no default retention, which is a real thing to declare: every version it
39
+ * holds is then retained only by the requests that name one.
40
+ */
41
+ read() {
42
+ if (!this.isEnabled()) {
43
+ return undefined;
44
+ }
45
+ const declared = this.properties["ObjectLockConfiguration"];
46
+ if (declared === undefined) {
47
+ return { ObjectLockEnabled: simS3ObjectLockEnabled };
48
+ }
49
+ return {
50
+ ...this.shape.record(declared, "ObjectLockConfiguration"),
51
+ ObjectLockEnabled: simS3ObjectLockEnabled,
52
+ };
53
+ }
54
+ /**
55
+ * Whether the Resource asks for Object Lock.
56
+ *
57
+ * Real CloudFormation refuses an `ObjectLockConfiguration` on a Bucket that
58
+ * does not also declare `ObjectLockEnabled`, and so does this: a Bucket
59
+ * created around the property would report a default retention it was not
60
+ * applying to anything.
61
+ */
62
+ isEnabled() {
63
+ const enabled = this.properties["ObjectLockEnabled"];
64
+ if (objectLockEnabledValues.has(enabled)) {
65
+ return true;
66
+ }
67
+ if (this.properties["ObjectLockConfiguration"] !== undefined &&
68
+ (enabled === undefined || objectLockDisabledValues.has(enabled))) {
69
+ throw s3BucketResourceError(this.logicalId, "ObjectLockConfiguration requires ObjectLockEnabled to be true, " +
70
+ "because Object Lock holds a version and a Bucket without it holds " +
71
+ "none");
72
+ }
73
+ if (enabled !== undefined && !objectLockDisabledValues.has(enabled)) {
74
+ throw s3BucketResourceError(this.logicalId, "ObjectLockEnabled must be true or false");
75
+ }
76
+ return false;
77
+ }
78
+ }
@@ -0,0 +1,20 @@
1
+ import type { SimCfnSkippedPropertyValue } from "../../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
2
+ /**
3
+ * The AWS::S3::Bucket ReplicationConfiguration constraints real S3 enforces.
4
+ *
5
+ * Replication itself is not simulated. The property is recorded against the
6
+ * Resource and the Bucket is created without it, and no Object is ever copied.
7
+ * What the value says is still read, because a configuration real S3 answers
8
+ * with a 400 otherwise deploys here and reaches CREATE_COMPLETE. A test
9
+ * standing on that deployment reports a template AWS refuses as working, which
10
+ * is the one failure a local deploy of a real template exists to catch.
11
+ *
12
+ * These are the constraints the S3 API documents and the CloudFormation
13
+ * Resource schema leaves out, so cfn-lint passes a template failing any of
14
+ * them.
15
+ *
16
+ * Attached to the property in `unsimulatedPropertyReasons`, so it runs
17
+ * wherever a skipped AWS::S3::Bucket property is recorded rather than from a
18
+ * call site of its own.
19
+ */
20
+ export declare function validateSimCfnS3BucketReplication(declared: SimCfnSkippedPropertyValue): void;
@@ -0,0 +1,107 @@
1
+ import { isRecord } from "../../../../../util/type-guard/record.js";
2
+ /**
3
+ * The AWS::S3::Bucket ReplicationConfiguration constraints real S3 enforces.
4
+ *
5
+ * Replication itself is not simulated. The property is recorded against the
6
+ * Resource and the Bucket is created without it, and no Object is ever copied.
7
+ * What the value says is still read, because a configuration real S3 answers
8
+ * with a 400 otherwise deploys here and reaches CREATE_COMPLETE. A test
9
+ * standing on that deployment reports a template AWS refuses as working, which
10
+ * is the one failure a local deploy of a real template exists to catch.
11
+ *
12
+ * These are the constraints the S3 API documents and the CloudFormation
13
+ * Resource schema leaves out, so cfn-lint passes a template failing any of
14
+ * them.
15
+ *
16
+ * Attached to the property in `unsimulatedPropertyReasons`, so it runs
17
+ * wherever a skipped AWS::S3::Bucket property is recorded rather than from a
18
+ * call site of its own.
19
+ */
20
+ export function validateSimCfnS3BucketReplication(declared) {
21
+ const configuration = declared.value;
22
+ if (!isRecord(configuration)) {
23
+ return;
24
+ }
25
+ refuseUnversionedSource(declared);
26
+ const rules = configuration["Rules"];
27
+ if (!Array.isArray(rules)) {
28
+ return;
29
+ }
30
+ rules.forEach((rule, index) => {
31
+ validateRule(declared, rule, `ReplicationConfiguration Rules[${index}]`);
32
+ });
33
+ }
34
+ /**
35
+ * Refuse replication on a Bucket that keeps one version of an Object.
36
+ *
37
+ * Real S3 requires versioning on the source Bucket and on the destination.
38
+ * Only the source is checked, and it is read from the template rather than
39
+ * from the Bucket, because `VersioningConfiguration` is skipped too and no
40
+ * simulated Bucket carries a versioning state to read. The destination is a
41
+ * Bucket ARN that may belong to another Stack or another Account, so there is
42
+ * nothing here to read it from at all.
43
+ */
44
+ function refuseUnversionedSource(declared) {
45
+ const versioning = declared.properties["VersioningConfiguration"];
46
+ if (isRecord(versioning) && versioning["Status"] === "Enabled") {
47
+ return;
48
+ }
49
+ declared.refuse("Versioning must be Enabled on the Bucket to apply a " +
50
+ "ReplicationConfiguration");
51
+ }
52
+ function validateRule(declared, rule, path) {
53
+ if (!isRecord(rule)) {
54
+ return;
55
+ }
56
+ refuseEventThresholdWithoutReplicationTime(declared, rule, path);
57
+ refuseFilterWithoutItsCompanions(declared, rule, path);
58
+ }
59
+ /**
60
+ * Refuse a replication metrics threshold on a rule that has not turned
61
+ * Replication Time Control on.
62
+ *
63
+ * `Metrics.EventThreshold` says when to raise
64
+ * `s3:Replication:OperationMissedThreshold`, which only S3 RTC measures
65
+ * against. CDK renders `ReplicationTimeValue.FIFTEEN_MINUTES` passed as
66
+ * `metrics` into the threshold on its own, so this reaches a template through
67
+ * an ordinary L2 call.
68
+ */
69
+ function refuseEventThresholdWithoutReplicationTime(declared, rule, path) {
70
+ const destination = rule["Destination"];
71
+ if (!isRecord(destination)) {
72
+ return;
73
+ }
74
+ const metrics = destination["Metrics"];
75
+ if (!isRecord(metrics) || metrics["EventThreshold"] === undefined) {
76
+ return;
77
+ }
78
+ const replicationTime = destination["ReplicationTime"];
79
+ if (isRecord(replicationTime) && replicationTime["Status"] === "Enabled") {
80
+ return;
81
+ }
82
+ declared.refuse(`${path} Destination Metrics cannot contain an event threshold when ` +
83
+ "ReplicationTime is not specified or Disabled");
84
+ }
85
+ /**
86
+ * Refuse a rule stating a Filter without the fields S3 requires alongside one.
87
+ *
88
+ * The S3 API documents `DeleteMarkerReplication`, `Status` and `Priority` as
89
+ * required alongside `Filter`. A rule carrying the older `Prefix` instead needs
90
+ * none of them, so the check is on `Filter` rather than on the rule.
91
+ */
92
+ function refuseFilterWithoutItsCompanions(declared, rule, path) {
93
+ if (rule["Filter"] === undefined) {
94
+ return;
95
+ }
96
+ const missing = [
97
+ ["DeleteMarkerReplication", rule["DeleteMarkerReplication"]],
98
+ ["Priority", rule["Priority"]],
99
+ ["Status", rule["Status"]],
100
+ ]
101
+ .filter(([, value]) => value === undefined)
102
+ .map(([name]) => name);
103
+ if (missing.length === 0) {
104
+ return;
105
+ }
106
+ declared.refuse(`${path} states a Filter, which requires ${missing.join(", ")} as well`);
107
+ }
@@ -1,7 +1,7 @@
1
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
1
2
  import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
3
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
4
  import type { SimS3 } from "../../sim-s3.js";
4
- import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
5
  interface SimCfnS3BucketConfiguratorProperties {
6
6
  readonly simS3: SimS3;
7
7
  readonly resource: SimCfnResource;
@@ -22,18 +22,25 @@ export declare class SimCfnS3BucketConfigurator {
22
22
  private readonly properties;
23
23
  private readonly bucketName;
24
24
  private readonly options;
25
+ private readonly declared;
25
26
  constructor(properties: SimCfnS3BucketConfiguratorProperties);
26
27
  /**
27
28
  * Apply every configuration the Resource declares.
28
29
  *
29
- * Notifications go last, because S3 checks every destination the
30
- * configuration names, and the Resources those destinations live on have to
31
- * exist by then.
30
+ * Versioning goes before Object Lock and before the lifecycle rules,
31
+ * because both describe a Bucket that keeps versions and Object Lock refuses
32
+ * one that does not. Notifications go last, because S3 checks every
33
+ * destination the configuration names, and the Resources those destinations
34
+ * live on have to exist by then.
32
35
  */
33
36
  configure(): Promise<void>;
34
- private configureWebsite;
35
- private configurePublicAccess;
36
- private configureLifecycle;
37
+ /**
38
+ * Apply the event notification configuration the Resource declares.
39
+ *
40
+ * This reader takes the declared value rather than the whole property bag,
41
+ * because a notification configuration also arrives from a CDK custom
42
+ * resource that has no AWS::S3::Bucket properties to read it out of.
43
+ */
37
44
  private configureNotifications;
38
45
  }
39
46
  export {};
@@ -1,7 +1,5 @@
1
- import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
2
1
  import { SimCfnS3BucketNotificationConfiguration } from "./notification/sim-cfn-s3-bucket-notification-configuration.js";
3
- import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
4
- import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
2
+ import { SimCfnS3BucketDeclaredConfigurations } from "./sim-cfn-s3-bucket-declared-configurations.js";
5
3
  /**
6
4
  * Applies the configurations an AWS::S3::Bucket Resource declares to the
7
5
  * Bucket that was created for it.
@@ -15,58 +13,52 @@ export class SimCfnS3BucketConfigurator {
15
13
  properties;
16
14
  bucketName;
17
15
  options;
16
+ declared;
18
17
  constructor(properties) {
19
18
  this.simS3 = properties.simS3;
20
19
  this.resource = properties.resource;
21
20
  this.properties = properties.properties;
22
21
  this.bucketName = properties.bucketName;
23
22
  this.options = properties.options;
23
+ this.declared = new SimCfnS3BucketDeclaredConfigurations({
24
+ simS3: this.simS3,
25
+ logicalId: this.resource.logicalId,
26
+ properties: this.properties,
27
+ bucketName: this.bucketName,
28
+ options: this.options,
29
+ });
24
30
  }
25
31
  /**
26
32
  * Apply every configuration the Resource declares.
27
33
  *
28
- * Notifications go last, because S3 checks every destination the
29
- * configuration names, and the Resources those destinations live on have to
30
- * exist by then.
34
+ * Versioning goes before Object Lock and before the lifecycle rules,
35
+ * because both describe a Bucket that keeps versions and Object Lock refuses
36
+ * one that does not. Notifications go last, because S3 checks every
37
+ * destination the configuration names, and the Resources those destinations
38
+ * live on have to exist by then.
31
39
  */
32
40
  async configure() {
33
- await this.configureWebsite();
34
- await this.configurePublicAccess();
35
- await this.configureLifecycle();
41
+ await this.declared.applyWebsite();
42
+ await this.declared.applyPublicAccess();
43
+ await this.declared.applyVersioning();
44
+ await this.declared.applyObjectLock();
45
+ await this.declared.applyLifecycle();
36
46
  await this.configureNotifications();
37
47
  }
38
- async configureWebsite() {
39
- const config = new SimCfnS3BucketWebsiteConfiguration(this.resource.logicalId, this.properties).read();
40
- if (config === undefined) {
41
- return;
42
- }
43
- await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration: config } }, this.options);
44
- }
45
- async configurePublicAccess() {
46
- const config = new SimCfnS3BucketPublicAccessConfiguration(this.resource.logicalId, this.properties).read();
47
- if (config === undefined) {
48
- return;
49
- }
50
- await this.simS3.putPublicAccessBlock({
51
- input: {
52
- Bucket: this.bucketName,
53
- PublicAccessBlockConfiguration: config,
54
- },
55
- }, this.options);
56
- }
57
- async configureLifecycle() {
58
- const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
59
- if (config === undefined) {
60
- return;
61
- }
62
- await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration: config } }, this.options);
63
- }
48
+ /**
49
+ * Apply the event notification configuration the Resource declares.
50
+ *
51
+ * This reader takes the declared value rather than the whole property bag,
52
+ * because a notification configuration also arrives from a CDK custom
53
+ * resource that has no AWS::S3::Bucket properties to read it out of.
54
+ */
64
55
  async configureNotifications() {
65
56
  const declared = this.properties["NotificationConfiguration"];
66
57
  if (declared === undefined) {
67
58
  return;
68
59
  }
69
- const config = new SimCfnS3BucketNotificationConfiguration(this.resource.logicalId).read(declared);
70
- await this.simS3.putBucketNotificationConfiguration({ input: { Bucket: this.bucketName, NotificationConfiguration: config } }, this.options);
60
+ const reader = new SimCfnS3BucketNotificationConfiguration(this.resource.logicalId);
61
+ const NotificationConfiguration = reader.read(declared);
62
+ await this.simS3.putBucketNotificationConfiguration({ input: { Bucket: this.bucketName, NotificationConfiguration } }, this.options);
71
63
  }
72
64
  }
@@ -0,0 +1,62 @@
1
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimS3 } from "../../sim-s3.js";
4
+ interface SimCfnS3BucketDeclaredConfigurationsProperties {
5
+ readonly simS3: SimS3;
6
+ readonly logicalId: string;
7
+ readonly properties: SimCfnTemplateValueRecord;
8
+ readonly bucketName: string;
9
+ readonly options: SimCfnResourceCallerOptions;
10
+ }
11
+ /**
12
+ * The AWS::S3::Bucket properties that are read straight off the Resource and
13
+ * handed to a command.
14
+ *
15
+ * Five properties with one shape between them. Each is read from the Resource,
16
+ * left alone where the Resource omitted it, and otherwise applied through the
17
+ * command an SDK caller would reach, so a template and an SDK caller are
18
+ * validated identically. The event notification configuration is the one that
19
+ * does not fit, because it also arrives from a CDK custom resource with no
20
+ * Bucket properties behind it, so it stays with the configurator.
21
+ */
22
+ export declare class SimCfnS3BucketDeclaredConfigurations {
23
+ private readonly simS3;
24
+ private readonly logicalId;
25
+ private readonly properties;
26
+ private readonly bucketName;
27
+ private readonly options;
28
+ constructor(properties: SimCfnS3BucketDeclaredConfigurationsProperties);
29
+ /**
30
+ * Apply the website configuration the Resource declares.
31
+ */
32
+ applyWebsite(): Promise<void>;
33
+ /**
34
+ * Apply the Block Public Access settings the Resource declares.
35
+ */
36
+ applyPublicAccess(): Promise<void>;
37
+ /**
38
+ * Apply the versioning configuration the Resource declares.
39
+ */
40
+ applyVersioning(): Promise<void>;
41
+ /**
42
+ * Apply the Object Lock configuration the Resource declares.
43
+ *
44
+ * This goes after versioning, because Object Lock holds a version and
45
+ * PutObjectLockConfiguration refuses a Bucket that keeps none. A template
46
+ * declaring Object Lock without versioning therefore fails the Resource, in
47
+ * the words an SDK caller is refused in.
48
+ */
49
+ applyObjectLock(): Promise<void>;
50
+ /**
51
+ * Apply the lifecycle rules the Resource declares.
52
+ */
53
+ applyLifecycle(): Promise<void>;
54
+ /**
55
+ * Read one declared property, or nothing where the Resource omitted it.
56
+ *
57
+ * Every reader is built the same way, from the logical ID that names the
58
+ * Resource in a failure and the properties the Resource declared.
59
+ */
60
+ private read;
61
+ }
62
+ export {};
@@ -0,0 +1,89 @@
1
+ import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
2
+ import { SimCfnS3BucketObjectLockConfiguration } from "./lock/sim-cfn-s3-bucket-object-lock-configuration.js";
3
+ import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
4
+ import { SimCfnS3BucketVersioningConfiguration } from "./versioning/sim-cfn-s3-bucket-versioning-configuration.js";
5
+ import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
6
+ /**
7
+ * The AWS::S3::Bucket properties that are read straight off the Resource and
8
+ * handed to a command.
9
+ *
10
+ * Five properties with one shape between them. Each is read from the Resource,
11
+ * left alone where the Resource omitted it, and otherwise applied through the
12
+ * command an SDK caller would reach, so a template and an SDK caller are
13
+ * validated identically. The event notification configuration is the one that
14
+ * does not fit, because it also arrives from a CDK custom resource with no
15
+ * Bucket properties behind it, so it stays with the configurator.
16
+ */
17
+ export class SimCfnS3BucketDeclaredConfigurations {
18
+ simS3;
19
+ logicalId;
20
+ properties;
21
+ bucketName;
22
+ options;
23
+ constructor(properties) {
24
+ this.simS3 = properties.simS3;
25
+ this.logicalId = properties.logicalId;
26
+ this.properties = properties.properties;
27
+ this.bucketName = properties.bucketName;
28
+ this.options = properties.options;
29
+ }
30
+ /**
31
+ * Apply the website configuration the Resource declares.
32
+ */
33
+ async applyWebsite() {
34
+ const WebsiteConfiguration = this.read(SimCfnS3BucketWebsiteConfiguration);
35
+ if (WebsiteConfiguration !== undefined) {
36
+ await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration } }, this.options);
37
+ }
38
+ }
39
+ /**
40
+ * Apply the Block Public Access settings the Resource declares.
41
+ */
42
+ async applyPublicAccess() {
43
+ const PublicAccessBlockConfiguration = this.read(SimCfnS3BucketPublicAccessConfiguration);
44
+ if (PublicAccessBlockConfiguration !== undefined) {
45
+ await this.simS3.putPublicAccessBlock({ input: { Bucket: this.bucketName, PublicAccessBlockConfiguration } }, this.options);
46
+ }
47
+ }
48
+ /**
49
+ * Apply the versioning configuration the Resource declares.
50
+ */
51
+ async applyVersioning() {
52
+ const VersioningConfiguration = this.read(SimCfnS3BucketVersioningConfiguration);
53
+ if (VersioningConfiguration !== undefined) {
54
+ await this.simS3.putBucketVersioning({ input: { Bucket: this.bucketName, VersioningConfiguration } }, this.options);
55
+ }
56
+ }
57
+ /**
58
+ * Apply the Object Lock configuration the Resource declares.
59
+ *
60
+ * This goes after versioning, because Object Lock holds a version and
61
+ * PutObjectLockConfiguration refuses a Bucket that keeps none. A template
62
+ * declaring Object Lock without versioning therefore fails the Resource, in
63
+ * the words an SDK caller is refused in.
64
+ */
65
+ async applyObjectLock() {
66
+ const ObjectLockConfiguration = this.read(SimCfnS3BucketObjectLockConfiguration);
67
+ if (ObjectLockConfiguration !== undefined) {
68
+ await this.simS3.putObjectLockConfiguration({ input: { Bucket: this.bucketName, ObjectLockConfiguration } }, this.options);
69
+ }
70
+ }
71
+ /**
72
+ * Apply the lifecycle rules the Resource declares.
73
+ */
74
+ async applyLifecycle() {
75
+ const LifecycleConfiguration = this.read(SimCfnS3BucketLifecycleConfiguration);
76
+ if (LifecycleConfiguration !== undefined) {
77
+ await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration } }, this.options);
78
+ }
79
+ }
80
+ /**
81
+ * Read one declared property, or nothing where the Resource omitted it.
82
+ *
83
+ * Every reader is built the same way, from the logical ID that names the
84
+ * Resource in a failure and the properties the Resource declared.
85
+ */
86
+ read(Reader) {
87
+ return new Reader(this.logicalId, this.properties).read();
88
+ }
89
+ }
@@ -12,14 +12,18 @@ export declare const simulatedPropertyNames: ReadonlySet<string>;
12
12
  * report of differences that make no difference is one nobody can read.
13
13
  */
14
14
  export declare const inertPropertyNames: ReadonlySet<string>;
15
+ import type { SimCfnSkippedPropertyRules } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
15
16
  /**
16
17
  * Real AWS::S3::Bucket properties this simulation does not model, with what
17
18
  * each of them would have changed.
18
19
  *
19
20
  * The Bucket is created without them and each one is recorded against the
20
- * Resource. A versioned Bucket, for instance, answers a delete with a delete
21
- * marker and an `ObjectRemoved:DeleteMarkerCreated` event, where this simulator
22
- * removes the Object and raises `ObjectRemoved:Delete`, so a test written
23
- * against versioning needs to find out that it was never configured.
21
+ * Resource. A Bucket declaring replication, for instance, copies nothing to
22
+ * the Bucket it names, so a test expecting an Object to arrive there needs to
23
+ * find out that nothing was ever going to send it.
24
+ *
25
+ * A property whose value real S3 answers with a 400 states what it has to
26
+ * satisfy here as well. Nothing acts on the value either way, and reading it
27
+ * this far is what keeps a template AWS refuses from deploying.
24
28
  */
25
- export declare const unsimulatedPropertyReasons: ReadonlyMap<string, string>;
29
+ export declare const unsimulatedPropertyReasons: SimCfnSkippedPropertyRules;