@kensio/yulin 1.20.3 → 1.20.5

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 (249) hide show
  1. package/README.md +39 -39
  2. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.d.ts.map +1 -1
  3. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +22 -3
  4. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js.map +1 -1
  5. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts +31 -0
  6. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts.map +1 -0
  7. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js +43 -0
  8. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js.map +1 -0
  9. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts +32 -0
  10. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts.map +1 -0
  11. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js +34 -0
  12. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js.map +1 -0
  13. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts +27 -0
  14. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts.map +1 -0
  15. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js +39 -0
  16. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js.map +1 -0
  17. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
  18. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
  19. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +10 -8
  20. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
  21. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts +24 -0
  22. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts.map +1 -0
  23. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js +94 -0
  24. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js.map +1 -0
  25. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -1
  26. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +4 -4
  27. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -1
  28. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts.map +1 -1
  29. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +3 -4
  30. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js.map +1 -1
  31. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.d.ts.map +1 -1
  32. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.js +7 -2
  33. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.js.map +1 -1
  34. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts +27 -0
  35. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts.map +1 -0
  36. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js +119 -0
  37. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js.map +1 -0
  38. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts +18 -3
  39. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts.map +1 -1
  40. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js +28 -5
  41. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js.map +1 -1
  42. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +14 -4
  43. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -1
  44. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +17 -5
  45. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -1
  46. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +6 -2
  47. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -1
  48. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +7 -3
  49. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -1
  50. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +28 -0
  51. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts.map +1 -0
  52. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +52 -0
  53. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js.map +1 -0
  54. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +30 -0
  55. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts.map +1 -0
  56. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +59 -0
  57. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js.map +1 -0
  58. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts +12 -0
  59. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts.map +1 -0
  60. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js +23 -0
  61. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js.map +1 -0
  62. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts +50 -0
  63. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts.map +1 -0
  64. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js +107 -0
  65. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js.map +1 -0
  66. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +29 -0
  67. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts.map +1 -0
  68. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +50 -0
  69. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js.map +1 -0
  70. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts +16 -0
  71. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts.map +1 -0
  72. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js +39 -0
  73. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js.map +1 -0
  74. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +27 -0
  75. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts.map +1 -0
  76. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +49 -0
  77. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js.map +1 -0
  78. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +8 -3
  79. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts.map +1 -1
  80. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +48 -23
  81. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js.map +1 -1
  82. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts +10 -0
  83. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts.map +1 -0
  84. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js +13 -0
  85. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js.map +1 -0
  86. package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts +9 -1
  87. package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts.map +1 -1
  88. package/dist/service/logs/command/authorize/sim-logs-authorizer.js +8 -0
  89. package/dist/service/logs/command/authorize/sim-logs-authorizer.js.map +1 -1
  90. package/dist/service/logs/command/delivery/delivery-destination.command.d.ts +67 -0
  91. package/dist/service/logs/command/delivery/delivery-destination.command.d.ts.map +1 -0
  92. package/dist/service/logs/command/delivery/delivery-destination.command.js +2 -0
  93. package/dist/service/logs/command/delivery/delivery-destination.command.js.map +1 -0
  94. package/dist/service/logs/command/delivery/delivery-source.command.d.ts +61 -0
  95. package/dist/service/logs/command/delivery/delivery-source.command.d.ts.map +1 -0
  96. package/dist/service/logs/command/delivery/delivery-source.command.js +2 -0
  97. package/dist/service/logs/command/delivery/delivery-source.command.js.map +1 -0
  98. package/dist/service/logs/command/delivery/delivery.command.d.ts +73 -0
  99. package/dist/service/logs/command/delivery/delivery.command.d.ts.map +1 -0
  100. package/dist/service/logs/command/delivery/delivery.command.js +2 -0
  101. package/dist/service/logs/command/delivery/delivery.command.js.map +1 -0
  102. package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts +21 -0
  103. package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts.map +1 -0
  104. package/dist/service/logs/command/delivery/sim-logs-created-delivery.js +41 -0
  105. package/dist/service/logs/command/delivery/sim-logs-created-delivery.js.map +1 -0
  106. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts +38 -0
  107. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts.map +1 -0
  108. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js +77 -0
  109. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js.map +1 -0
  110. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts +38 -0
  111. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts.map +1 -0
  112. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js +82 -0
  113. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js.map +1 -0
  114. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts +19 -0
  115. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts.map +1 -0
  116. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js +57 -0
  117. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js.map +1 -0
  118. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts +15 -0
  119. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts.map +1 -0
  120. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js +26 -0
  121. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js.map +1 -0
  122. package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts +16 -0
  123. package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts.map +1 -0
  124. package/dist/service/logs/command/delivery/sim-logs-delivery-input.js +28 -0
  125. package/dist/service/logs/command/delivery/sim-logs-delivery-input.js.map +1 -0
  126. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +37 -0
  127. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts.map +1 -0
  128. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +86 -0
  129. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js.map +1 -0
  130. package/dist/service/logs/command/sim-logs-command.types.d.ts +3 -0
  131. package/dist/service/logs/command/sim-logs-command.types.d.ts.map +1 -1
  132. package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts +30 -0
  133. package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts.map +1 -0
  134. package/dist/service/logs/delivery/sim-logs-delivery-arn.js +42 -0
  135. package/dist/service/logs/delivery/sim-logs-delivery-arn.js.map +1 -0
  136. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts +41 -0
  137. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts.map +1 -0
  138. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js +69 -0
  139. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js.map +1 -0
  140. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts +16 -0
  141. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts.map +1 -0
  142. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js +48 -0
  143. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js.map +1 -0
  144. package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts +27 -0
  145. package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts.map +1 -0
  146. package/dist/service/logs/delivery/sim-logs-delivery-destination.js +23 -0
  147. package/dist/service/logs/delivery/sim-logs-delivery-destination.js.map +1 -0
  148. package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts +16 -0
  149. package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts.map +1 -0
  150. package/dist/service/logs/delivery/sim-logs-delivery-ids.js +20 -0
  151. package/dist/service/logs/delivery/sim-logs-delivery-ids.js.map +1 -0
  152. package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts +24 -0
  153. package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts.map +1 -0
  154. package/dist/service/logs/delivery/sim-logs-delivery-output-format.js +36 -0
  155. package/dist/service/logs/delivery/sim-logs-delivery-output-format.js.map +1 -0
  156. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts +35 -0
  157. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts.map +1 -0
  158. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js +66 -0
  159. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js.map +1 -0
  160. package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts +48 -0
  161. package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts.map +1 -0
  162. package/dist/service/logs/delivery/sim-logs-delivery-source-service.js +71 -0
  163. package/dist/service/logs/delivery/sim-logs-delivery-source-service.js.map +1 -0
  164. package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts +42 -0
  165. package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts.map +1 -0
  166. package/dist/service/logs/delivery/sim-logs-delivery-source-store.js +64 -0
  167. package/dist/service/logs/delivery/sim-logs-delivery-source-store.js.map +1 -0
  168. package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts +29 -0
  169. package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts.map +1 -0
  170. package/dist/service/logs/delivery/sim-logs-delivery-source.js +29 -0
  171. package/dist/service/logs/delivery/sim-logs-delivery-source.js.map +1 -0
  172. package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts +32 -0
  173. package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts.map +1 -0
  174. package/dist/service/logs/delivery/sim-logs-delivery-store.js +53 -0
  175. package/dist/service/logs/delivery/sim-logs-delivery-store.js.map +1 -0
  176. package/dist/service/logs/delivery/sim-logs-delivery.d.ts +33 -0
  177. package/dist/service/logs/delivery/sim-logs-delivery.d.ts.map +1 -0
  178. package/dist/service/logs/delivery/sim-logs-delivery.js +34 -0
  179. package/dist/service/logs/delivery/sim-logs-delivery.js.map +1 -0
  180. package/dist/service/logs/error/sim-logs.error.d.ts +23 -0
  181. package/dist/service/logs/error/sim-logs.error.d.ts.map +1 -1
  182. package/dist/service/logs/error/sim-logs.error.js +27 -0
  183. package/dist/service/logs/error/sim-logs.error.js.map +1 -1
  184. package/dist/service/logs/index.d.ts +10 -1
  185. package/dist/service/logs/index.d.ts.map +1 -1
  186. package/dist/service/logs/index.js +9 -1
  187. package/dist/service/logs/index.js.map +1 -1
  188. package/dist/service/logs/sdk/sim-logs-sdk-command-router.d.ts.map +1 -1
  189. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +36 -0
  190. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js.map +1 -1
  191. package/dist/service/logs/sim-logs-commands.d.ts +12 -0
  192. package/dist/service/logs/sim-logs-commands.d.ts.map +1 -1
  193. package/dist/service/logs/sim-logs-commands.js +37 -0
  194. package/dist/service/logs/sim-logs-commands.js.map +1 -1
  195. package/dist/service/logs/sim-logs-delivery-inspection.d.ts +28 -0
  196. package/dist/service/logs/sim-logs-delivery-inspection.d.ts.map +1 -0
  197. package/dist/service/logs/sim-logs-delivery-inspection.js +35 -0
  198. package/dist/service/logs/sim-logs-delivery-inspection.js.map +1 -0
  199. package/dist/service/logs/sim-logs-delivery-operations.d.ts +35 -0
  200. package/dist/service/logs/sim-logs-delivery-operations.d.ts.map +1 -0
  201. package/dist/service/logs/sim-logs-delivery-operations.js +58 -0
  202. package/dist/service/logs/sim-logs-delivery-operations.js.map +1 -0
  203. package/dist/service/logs/sim-logs.d.ts +8 -2
  204. package/dist/service/logs/sim-logs.d.ts.map +1 -1
  205. package/dist/service/logs/sim-logs.js +39 -33
  206. package/dist/service/logs/sim-logs.js.map +1 -1
  207. package/dist/service/s3/command/get-object/get-object-loader.d.ts +2 -1
  208. package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
  209. package/dist/service/s3/command/get-object/get-object-loader.js +4 -2
  210. package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
  211. package/dist/service/s3/command/get-object/get-object.command.d.ts +6 -1
  212. package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
  213. package/dist/service/s3/command/head-object/head-object-loader.d.ts.map +1 -1
  214. package/dist/service/s3/command/head-object/head-object-loader.js +2 -1
  215. package/dist/service/s3/command/head-object/head-object-loader.js.map +1 -1
  216. package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
  217. package/dist/service/s3/command/head-object/head-object.command.d.ts.map +1 -1
  218. package/dist/service/s3/object/s3-object.d.ts +14 -0
  219. package/dist/service/s3/object/s3-object.d.ts.map +1 -1
  220. package/dist/service/s3/object/s3-object.js +18 -0
  221. package/dist/service/s3/object/s3-object.js.map +1 -1
  222. package/dist/service/s3/object/s3-system-metadata-read.d.ts +56 -0
  223. package/dist/service/s3/object/s3-system-metadata-read.d.ts.map +1 -0
  224. package/dist/service/s3/object/s3-system-metadata-read.js +66 -0
  225. package/dist/service/s3/object/s3-system-metadata-read.js.map +1 -0
  226. package/dist/service/s3/object/s3-system-metadata.d.ts +17 -0
  227. package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -1
  228. package/dist/service/s3/object/s3-system-metadata.js +17 -0
  229. package/dist/service/s3/object/s3-system-metadata.js.map +1 -1
  230. package/dist/service/s3/object/s3-write-metadata.d.ts +9 -5
  231. package/dist/service/s3/object/s3-write-metadata.d.ts.map +1 -1
  232. package/dist/service/s3/object/s3-write-metadata.js +16 -7
  233. package/dist/service/s3/object/s3-write-metadata.js.map +1 -1
  234. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts.map +1 -1
  235. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +2 -1
  236. package/dist/service/s3/serve/api/sim-s3-api-head-output.js.map +1 -1
  237. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts.map +1 -1
  238. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +2 -1
  239. package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -1
  240. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
  241. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -1
  242. package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
  243. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -1
  244. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +2 -1
  245. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
  246. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts.map +1 -1
  247. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js +3 -2
  248. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js.map +1 -1
  249. package/package.json +1 -1
package/README.md CHANGED
@@ -19,43 +19,43 @@ npm i -D @kensio/yulin
19
19
 
20
20
  ## Service specific docs
21
21
 
22
- - [ACM](./docs/services/acm "Simulated ACM docs")
23
- - [API Gateway HTTP APIs](./docs/services/apigatewayv2 "Simulated API Gateway HTTP API docs")
24
- - [API Gateway REST APIs](./docs/services/apigateway "Simulated API Gateway REST API docs")
25
- - [CloudFormation](./docs/services/cloudformation "Simulated CloudFormation docs")
26
- - [CloudFront](./docs/services/cloudfront "Simulated CloudFront docs")
27
- - [CloudWatch metrics](./docs/services/cloudwatch "Simulated CloudWatch metrics docs")
28
- - [Cognito user pools](./docs/services/cognito "Simulated Cognito user pools docs")
29
- - [DynamoDB](./docs/services/dynamodb "Simulated DynamoDB docs")
30
- - [ECR](./docs/services/ecr "Simulated ECR docs")
31
- - [ECS](./docs/services/ecs "Simulated ECS docs")
32
- - [EventBridge](./docs/services/eventbridge "Simulated EventBridge docs")
33
- - [IAM](./docs/services/iam "Simulated IAM docs")
34
- - [KMS](./docs/services/kms "Simulated KMS docs")
35
- - [Lambda](./docs/services/lambda "Simulated Lambda docs")
36
- - [CloudWatch Logs](./docs/services/logs "Simulated CloudWatch Logs docs")
37
- - [Personalize](./docs/services/personalize "Simulated Amazon Personalize docs")
38
- - [Rekognition](./docs/services/rekognition "Simulated Rekognition docs")
39
- - [Route53](./docs/services/route53 "Simulated Route53 docs")
40
- - [S3](./docs/services/s3 "Simulated S3 docs")
41
- - [Scheduler](./docs/services/scheduler "Simulated EventBridge Scheduler docs")
42
- - [Secrets Manager](./docs/services/secretsmanager "Simulated Secrets Manager docs")
43
- - [SES](./docs/services/ses "Simulated SES docs")
44
- - [SNS](./docs/services/sns "Simulated SNS docs")
45
- - [SQS](./docs/services/sqs "Simulated SQS docs")
46
- - [SSM Parameter Store](./docs/services/ssm "Simulated SSM Parameter Store docs")
47
- - [Step Functions](./docs/services/stepfunctions "Simulated Step Functions docs")
48
- - [STS](./docs/services/sts "Simulated STS docs")
49
- - [WAFv2](./docs/services/wafv2 "Simulated WAFv2 docs")
22
+ - [ACM](https://yulinsim.dev/services/acm/ "Simulated ACM docs")
23
+ - [API Gateway HTTP APIs](https://yulinsim.dev/services/apigatewayv2/ "Simulated API Gateway HTTP API docs")
24
+ - [API Gateway REST APIs](https://yulinsim.dev/services/apigateway/ "Simulated API Gateway REST API docs")
25
+ - [CloudFormation](https://yulinsim.dev/services/cloudformation/ "Simulated CloudFormation docs")
26
+ - [CloudFront](https://yulinsim.dev/services/cloudfront/ "Simulated CloudFront docs")
27
+ - [CloudWatch metrics](https://yulinsim.dev/services/cloudwatch/ "Simulated CloudWatch metrics docs")
28
+ - [Cognito user pools](https://yulinsim.dev/services/cognito/ "Simulated Cognito user pools docs")
29
+ - [DynamoDB](https://yulinsim.dev/services/dynamodb/ "Simulated DynamoDB docs")
30
+ - [ECR](https://yulinsim.dev/services/ecr/ "Simulated ECR docs")
31
+ - [ECS](https://yulinsim.dev/services/ecs/ "Simulated ECS docs")
32
+ - [EventBridge](https://yulinsim.dev/services/eventbridge/ "Simulated EventBridge docs")
33
+ - [IAM](https://yulinsim.dev/services/iam/ "Simulated IAM docs")
34
+ - [KMS](https://yulinsim.dev/services/kms/ "Simulated KMS docs")
35
+ - [Lambda](https://yulinsim.dev/services/lambda/ "Simulated Lambda docs")
36
+ - [CloudWatch Logs](https://yulinsim.dev/services/logs/ "Simulated CloudWatch Logs docs")
37
+ - [Personalize](https://yulinsim.dev/services/personalize/ "Simulated Amazon Personalize docs")
38
+ - [Rekognition](https://yulinsim.dev/services/rekognition/ "Simulated Rekognition docs")
39
+ - [Route53](https://yulinsim.dev/services/route53/ "Simulated Route53 docs")
40
+ - [S3](https://yulinsim.dev/services/s3/ "Simulated S3 docs")
41
+ - [Scheduler](https://yulinsim.dev/services/scheduler/ "Simulated EventBridge Scheduler docs")
42
+ - [Secrets Manager](https://yulinsim.dev/services/secretsmanager/ "Simulated Secrets Manager docs")
43
+ - [SES](https://yulinsim.dev/services/ses/ "Simulated SES docs")
44
+ - [SNS](https://yulinsim.dev/services/sns/ "Simulated SNS docs")
45
+ - [SQS](https://yulinsim.dev/services/sqs/ "Simulated SQS docs")
46
+ - [SSM Parameter Store](https://yulinsim.dev/services/ssm/ "Simulated SSM Parameter Store docs")
47
+ - [Step Functions](https://yulinsim.dev/services/stepfunctions/ "Simulated Step Functions docs")
48
+ - [STS](https://yulinsim.dev/services/sts/ "Simulated STS docs")
49
+ - [WAFv2](https://yulinsim.dev/services/wafv2/ "Simulated WAFv2 docs")
50
50
 
51
51
  ## Feature specific docs
52
52
 
53
- - [AI skill](./docs/ai-skill "Yulin AI skill docs")
54
- - [The AWS CLI](./docs/cli "The AWS CLI against simulated AWS docs")
55
- - [AWS SDK interception](./docs/sdk "Simulated AWS SDK docs")
56
- - [Serving on localhost](./docs/serve "Serving simulated AWS on localhost docs")
57
- - [Simulated time](./docs/time "Simulated time docs")
58
- - [Terraform](./docs/terraform "Deploying Terraform into simulated AWS docs")
53
+ - [AI skill](https://yulinsim.dev/ai-skill/ "Yulin AI skill docs")
54
+ - [The AWS CLI](https://yulinsim.dev/cli/ "The AWS CLI against simulated AWS docs")
55
+ - [AWS SDK interception](https://yulinsim.dev/sdk/ "Simulated AWS SDK docs")
56
+ - [Serving on localhost](https://yulinsim.dev/serve/ "Serving simulated AWS on localhost docs")
57
+ - [Simulated time](https://yulinsim.dev/time/ "Simulated time docs")
58
+ - [Terraform](https://yulinsim.dev/terraform/ "Deploying Terraform into simulated AWS docs")
59
59
 
60
60
  ## Usage
61
61
 
@@ -105,7 +105,7 @@ Each `SimSdk` owns its own isolated simulated AWS, available as `simSdk.simAws`
105
105
  to seed or inspect simulated state directly. To share state with an existing simulation, wrap it
106
106
  with `new SimSdk({ simAws })`.
107
107
 
108
- See the [simulated AWS SDK docs](./docs/sdk "Simulated AWS SDK docs") for full usage.
108
+ See the [simulated AWS SDK docs](https://yulinsim.dev/sdk/ "Simulated AWS SDK docs") for full usage.
109
109
 
110
110
  ### Direct interaction with simulated AWS
111
111
 
@@ -235,7 +235,7 @@ A URL a simulated service gives out is fetched as it is, with no `localUrl(...)`
235
235
  hostname a simulated Route53 answers for is requested by its own name. Both routes go through the
236
236
  same authentication, routing and service code. Reach for `serveSimAws` when the request comes from
237
237
  outside the process. See the
238
- [serving docs](./docs/serve "Serving simulated AWS on localhost docs") for how to choose.
238
+ [serving docs](https://yulinsim.dev/serve/ "Serving simulated AWS on localhost docs") for how to choose.
239
239
 
240
240
  #### Restarting a served environment
241
241
 
@@ -282,7 +282,7 @@ yulin watch -- tsx dev.ts
282
282
 
283
283
  It watches the working directory. It also watches the paths Yulin is holding that a module graph
284
284
  never mentions, a directory mounted into a Bucket and a synthesized template. See the
285
- [serving docs](./docs/serve "Serving simulated AWS on localhost docs") for what gets the script, what
285
+ [serving docs](https://yulinsim.dev/serve/ "Serving simulated AWS on localhost docs") for what gets the script, what
286
286
  is watched, and what is not.
287
287
 
288
288
  #### Update a stack when its template changes
@@ -304,7 +304,7 @@ await simAws.cloudFormation().deployTemplateFile({
304
304
  Resources the change left alone keep what they hold, so simulated S3, DynamoDB and SQS survive a
305
305
  `cdk synth`. Under `yulin watch` the template is left to the process watching it, and never triggers
306
306
  a restart. See the
307
- [CloudFormation docs](./docs/services/cloudformation "Simulated CloudFormation docs") for what an
307
+ [CloudFormation docs](https://yulinsim.dev/services/cloudformation/ "Simulated CloudFormation docs") for what an
308
308
  update does to each resource.
309
309
 
310
310
  ### Control simulated time
@@ -337,7 +337,7 @@ await simAws.clock().advanceBy({ minutes: 20 });
337
337
  Advancing runs whatever falls due during the interval and returns once the simulation has settled.
338
338
  The next line can assert. Time belongs to the `SimAws` instance, so moving it never disturbs another
339
339
  simulation, or the real clock. See the
340
- [simulated time docs](./docs/time "Simulated time docs") for full usage.
340
+ [simulated time docs](https://yulinsim.dev/time/ "Simulated time docs") for full usage.
341
341
 
342
342
  ## What is Yulin?
343
343
 
@@ -1 +1 @@
1
- {"version":3,"file":"sim-logs-cfn-value-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oCAAoC,EACpC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAG9C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,oCAAoC,GAC/C,yBAAyB,CAS3B"}
1
+ {"version":3,"file":"sim-logs-cfn-value-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oCAAoC,EACpC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAM9C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,oCAAoC,GAC/C,yBAAyB,CAgC3B"}
@@ -1,13 +1,32 @@
1
+ import { SimLogsDeliveryDestination } from "../../../../logs/delivery/sim-logs-delivery-destination.js";
2
+ import { SimLogsDeliverySource } from "../../../../logs/delivery/sim-logs-delivery-source.js";
3
+ import { SimLogsDelivery } from "../../../../logs/delivery/sim-logs-delivery.js";
1
4
  import { SimLogsLogGroup } from "../../../../logs/group/sim-logs-log-group.js";
5
+ import { SimLogsDeliveryDestinationCfn } from "./sim-logs-delivery-destination-cfn.js";
6
+ import { SimLogsDeliverySourceCfn } from "./sim-logs-delivery-source-cfn.js";
7
+ import { SimLogsDeliveryCfn } from "./sim-logs-delivery-cfn.js";
2
8
  import { SimLogsLogGroupCfn } from "./sim-logs-log-group-cfn.js";
3
9
  /**
4
10
  * The CloudFormation-facing value adapter for a simulated CloudWatch Logs
5
11
  * Resource.
6
12
  */
7
13
  export function logsValueAdapter(properties) {
8
- if (properties.type === "AWS::Logs::LogGroup" &&
9
- properties.simResource instanceof SimLogsLogGroup) {
10
- return new SimLogsLogGroupCfn({ group: properties.simResource });
14
+ const { type, simResource } = properties;
15
+ if (type === "AWS::Logs::LogGroup" &&
16
+ simResource instanceof SimLogsLogGroup) {
17
+ return new SimLogsLogGroupCfn({ group: simResource });
18
+ }
19
+ if (type === "AWS::Logs::DeliverySource" &&
20
+ simResource instanceof SimLogsDeliverySource) {
21
+ return new SimLogsDeliverySourceCfn({ source: simResource });
22
+ }
23
+ if (type === "AWS::Logs::DeliveryDestination" &&
24
+ simResource instanceof SimLogsDeliveryDestination) {
25
+ return new SimLogsDeliveryDestinationCfn({ destination: simResource });
26
+ }
27
+ if (type === "AWS::Logs::Delivery" &&
28
+ simResource instanceof SimLogsDelivery) {
29
+ return new SimLogsDeliveryCfn({ delivery: simResource });
11
30
  }
12
31
  return undefined;
13
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-logs-cfn-value-adapter.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAK/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAgD;IAEhD,IACE,UAAU,CAAC,IAAI,KAAK,qBAAqB;QACzC,UAAU,CAAC,WAAW,YAAY,eAAe,EACjD,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"sim-logs-cfn-value-adapter.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAK/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAgD;IAEhD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAEzC,IACE,IAAI,KAAK,qBAAqB;QAC9B,WAAW,YAAY,eAAe,EACtC,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IACE,IAAI,KAAK,2BAA2B;QACpC,WAAW,YAAY,qBAAqB,EAC5C,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IACE,IAAI,KAAK,gCAAgC;QACzC,WAAW,YAAY,0BAA0B,EACjD,CAAC;QACD,OAAO,IAAI,6BAA6B,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IACE,IAAI,KAAK,qBAAqB;QAC9B,WAAW,YAAY,eAAe,EACtC,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { SimLogsDelivery } from "../../../../logs/delivery/sim-logs-delivery.js";
2
+ import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
3
+ import type { SimCfnResourceValueAdapter } from "../sim-cfn-resource-value-adapter.js";
4
+ interface SimLogsDeliveryCfnProperties {
5
+ readonly delivery: SimLogsDelivery;
6
+ }
7
+ /**
8
+ * CloudFormation-facing values for a simulated delivery.
9
+ */
10
+ export declare class SimLogsDeliveryCfn implements SimCfnResourceValueAdapter {
11
+ #private;
12
+ constructor(properties: SimLogsDeliveryCfnProperties);
13
+ /**
14
+ * AWS::Logs::Delivery Ref returns the delivery ID.
15
+ *
16
+ * CloudWatch Logs issues that ID. A template can predict the physical name
17
+ * of the other two delivery Resources and never this one.
18
+ */
19
+ refValue(): SimCfnTemplateValue;
20
+ /**
21
+ * AWS::Logs::Delivery attributes.
22
+ *
23
+ * These three are the whole of what CloudFormation publishes.
24
+ * `DeliverySourceName` and `DeliveryDestinationArn` are properties of this
25
+ * Resource rather than attributes of it, so a template reading either back
26
+ * through `Fn::GetAtt` is refused here as CloudFormation refuses it.
27
+ */
28
+ attributeValue(attributeName: string): SimCfnTemplateValue;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=sim-logs-delivery-cfn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-cfn.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,0BAA0B;;IAGnE,YAAY,UAAU,EAAE,4BAA4B,EAEnD;IAED;;;;;OAKG;IACH,QAAQ,IAAI,mBAAmB,CAE9B;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,CAiBzD;CACF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * CloudFormation-facing values for a simulated delivery.
3
+ */
4
+ export class SimLogsDeliveryCfn {
5
+ #delivery;
6
+ constructor(properties) {
7
+ this.#delivery = properties.delivery;
8
+ }
9
+ /**
10
+ * AWS::Logs::Delivery Ref returns the delivery ID.
11
+ *
12
+ * CloudWatch Logs issues that ID. A template can predict the physical name
13
+ * of the other two delivery Resources and never this one.
14
+ */
15
+ refValue() {
16
+ return this.#delivery.id;
17
+ }
18
+ /**
19
+ * AWS::Logs::Delivery attributes.
20
+ *
21
+ * These three are the whole of what CloudFormation publishes.
22
+ * `DeliverySourceName` and `DeliveryDestinationArn` are properties of this
23
+ * Resource rather than attributes of it, so a template reading either back
24
+ * through `Fn::GetAtt` is refused here as CloudFormation refuses it.
25
+ */
26
+ attributeValue(attributeName) {
27
+ switch (attributeName) {
28
+ case "Arn": {
29
+ return this.#delivery.arn;
30
+ }
31
+ case "DeliveryId": {
32
+ return this.#delivery.id;
33
+ }
34
+ case "DeliveryDestinationType": {
35
+ return this.#delivery.deliveryDestinationType;
36
+ }
37
+ default: {
38
+ throw new Error(`Unsupported AWS::Logs::Delivery attribute ${attributeName}`);
39
+ }
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=sim-logs-delivery-cfn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-cfn.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACpB,SAAS,CAAkB;IAEpC,YAAY,UAAwC;QAClD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,aAAqB;QAClC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5B,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAChD,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,6CAA6C,aAAa,EAAE,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import type { SimLogsDeliveryDestination } from "../../../../logs/delivery/sim-logs-delivery-destination.js";
2
+ import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
3
+ import type { SimCfnResourceValueAdapter } from "../sim-cfn-resource-value-adapter.js";
4
+ interface SimLogsDeliveryDestinationCfnProperties {
5
+ readonly destination: SimLogsDeliveryDestination;
6
+ }
7
+ /**
8
+ * CloudFormation-facing values for a simulated delivery destination.
9
+ */
10
+ export declare class SimLogsDeliveryDestinationCfn implements SimCfnResourceValueAdapter {
11
+ #private;
12
+ constructor(properties: SimLogsDeliveryDestinationCfnProperties);
13
+ /**
14
+ * AWS::Logs::DeliveryDestination Ref returns the destination name.
15
+ */
16
+ refValue(): SimCfnTemplateValue;
17
+ /**
18
+ * AWS::Logs::DeliveryDestination attributes.
19
+ *
20
+ * The ARN is the only one CloudFormation publishes. It is the destination's
21
+ * own, and a delivery names that one. The bucket or log group behind it
22
+ * keeps its own ARN, and the two are easy to confuse in a template.
23
+ *
24
+ * `DeliveryDestinationType` is a property of this Resource rather than an
25
+ * attribute of it, so a template reading it back through `Fn::GetAtt` is
26
+ * refused here as CloudFormation refuses it. Read it off the delivery, which
27
+ * does publish it.
28
+ */
29
+ attributeValue(attributeName: string): SimCfnTemplateValue;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=sim-logs-delivery-destination-cfn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-destination-cfn.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AAC7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;CAClD;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,0BAA0B;;IAG9E,YAAY,UAAU,EAAE,uCAAuC,EAE9D;IAED;;OAEG;IACH,QAAQ,IAAI,mBAAmB,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,CAQzD;CACF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CloudFormation-facing values for a simulated delivery destination.
3
+ */
4
+ export class SimLogsDeliveryDestinationCfn {
5
+ #destination;
6
+ constructor(properties) {
7
+ this.#destination = properties.destination;
8
+ }
9
+ /**
10
+ * AWS::Logs::DeliveryDestination Ref returns the destination name.
11
+ */
12
+ refValue() {
13
+ return this.#destination.name;
14
+ }
15
+ /**
16
+ * AWS::Logs::DeliveryDestination attributes.
17
+ *
18
+ * The ARN is the only one CloudFormation publishes. It is the destination's
19
+ * own, and a delivery names that one. The bucket or log group behind it
20
+ * keeps its own ARN, and the two are easy to confuse in a template.
21
+ *
22
+ * `DeliveryDestinationType` is a property of this Resource rather than an
23
+ * attribute of it, so a template reading it back through `Fn::GetAtt` is
24
+ * refused here as CloudFormation refuses it. Read it off the delivery, which
25
+ * does publish it.
26
+ */
27
+ attributeValue(attributeName) {
28
+ if (attributeName === "Arn") {
29
+ return this.#destination.arn;
30
+ }
31
+ throw new Error(`Unsupported AWS::Logs::DeliveryDestination attribute ${attributeName}`);
32
+ }
33
+ }
34
+ //# sourceMappingURL=sim-logs-delivery-destination-cfn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-destination-cfn.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,OAAO,6BAA6B;IAC/B,YAAY,CAA6B;IAElD,YAAY,UAAmD;QAC7D,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,aAAqB;QAClC,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,KAAK,CACb,wDAAwD,aAAa,EAAE,CACxE,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { SimLogsDeliverySource } from "../../../../logs/delivery/sim-logs-delivery-source.js";
2
+ import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
3
+ import type { SimCfnResourceValueAdapter } from "../sim-cfn-resource-value-adapter.js";
4
+ interface SimLogsDeliverySourceCfnProperties {
5
+ readonly source: SimLogsDeliverySource;
6
+ }
7
+ /**
8
+ * CloudFormation-facing values for a simulated delivery source.
9
+ */
10
+ export declare class SimLogsDeliverySourceCfn implements SimCfnResourceValueAdapter {
11
+ #private;
12
+ constructor(properties: SimLogsDeliverySourceCfnProperties);
13
+ /**
14
+ * AWS::Logs::DeliverySource Ref returns the delivery source name.
15
+ */
16
+ refValue(): SimCfnTemplateValue;
17
+ /**
18
+ * AWS::Logs::DeliverySource attributes.
19
+ *
20
+ * `Service` is worked out from the resource ARN rather than declared, so a
21
+ * template reading it back gets what CloudWatch Logs decided the source is
22
+ * for.
23
+ */
24
+ attributeValue(attributeName: string): SimCfnTemplateValue;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=sim-logs-delivery-source-cfn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-source-cfn.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,0BAA0B;;IAGzE,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,QAAQ,IAAI,mBAAmB,CAE9B;IAED;;;;;;OAMG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,CAiBzD;CACF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * CloudFormation-facing values for a simulated delivery source.
3
+ */
4
+ export class SimLogsDeliverySourceCfn {
5
+ #source;
6
+ constructor(properties) {
7
+ this.#source = properties.source;
8
+ }
9
+ /**
10
+ * AWS::Logs::DeliverySource Ref returns the delivery source name.
11
+ */
12
+ refValue() {
13
+ return this.#source.name;
14
+ }
15
+ /**
16
+ * AWS::Logs::DeliverySource attributes.
17
+ *
18
+ * `Service` is worked out from the resource ARN rather than declared, so a
19
+ * template reading it back gets what CloudWatch Logs decided the source is
20
+ * for.
21
+ */
22
+ attributeValue(attributeName) {
23
+ switch (attributeName) {
24
+ case "Arn": {
25
+ return this.#source.arn;
26
+ }
27
+ case "Service": {
28
+ return this.#source.service;
29
+ }
30
+ case "ResourceArns": {
31
+ return [...this.#source.resourceArns];
32
+ }
33
+ default: {
34
+ throw new Error(`Unsupported AWS::Logs::DeliverySource attribute ${attributeName}`);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=sim-logs-delivery-source-cfn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-logs-delivery-source-cfn.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC1B,OAAO,CAAwB;IAExC,YAAY,UAA8C;QACxD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,aAAqB;QAClC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1B,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,CAAC;YACD,KAAK,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,EAAE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -9,11 +9,12 @@ interface SimCfnCfDistroCreatorProperties {
9
9
  * Creates simulated CloudFront Distributions from CloudFormation Resources.
10
10
  *
11
11
  * A `WebACLId` naming a web ACL this simulation does not hold is left out and
12
- * recorded, and so is a Lambda@Edge association it cannot run. CloudFront has
13
- * no association Resource for either, so both live on the Distribution itself,
14
- * and refusing one would take the Distribution down over something that was
15
- * never the point of the template. The site a local dev server and a suite of
16
- * tests make requests to has to survive that.
12
+ * recorded, and so are a Lambda@Edge association it cannot run and a
13
+ * `ResponseHeadersPolicyId` naming a policy it does not hold. CloudFront has no
14
+ * Resource of its own for any of the three, so all of them live on the
15
+ * Distribution itself, and refusing one would take the Distribution down over
16
+ * something that was never the point of the template. The site a local dev
17
+ * server and a suite of tests make requests to has to survive that.
17
18
  */
18
19
  export declare class SimCfnCfDistroCreator {
19
20
  private readonly cloudFront;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cf-distro-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAOlH,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED;;;OAGG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAwCpC;CACF"}
1
+ {"version":3,"file":"sim-cfn-cf-distro-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAQlH,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED;;;OAGG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAyCpC;CACF"}
@@ -1,16 +1,18 @@
1
1
  import { assertDefined, assertNotNull, } from "../../../../util/type-guard/defined.js";
2
2
  import { SimCfnCfDistroConfigValidator } from "./sim-cfn-cf-distro-config-validator.js";
3
3
  import { simCfnCfDistroWithRunnableEdgeAssociations } from "./sim-cfn-cf-distro-edge-associations.js";
4
+ import { simCfnCfDistroWithHeldResponseHeadersPolicies } from "./sim-cfn-cf-distro-response-headers-policy.js";
4
5
  import { simCfnCfDistroWithoutAbsentWebAcl } from "./sim-cfn-cf-distro-web-acl.js";
5
6
  /**
6
7
  * Creates simulated CloudFront Distributions from CloudFormation Resources.
7
8
  *
8
9
  * A `WebACLId` naming a web ACL this simulation does not hold is left out and
9
- * recorded, and so is a Lambda@Edge association it cannot run. CloudFront has
10
- * no association Resource for either, so both live on the Distribution itself,
11
- * and refusing one would take the Distribution down over something that was
12
- * never the point of the template. The site a local dev server and a suite of
13
- * tests make requests to has to survive that.
10
+ * recorded, and so are a Lambda@Edge association it cannot run and a
11
+ * `ResponseHeadersPolicyId` naming a policy it does not hold. CloudFront has no
12
+ * Resource of its own for any of the three, so all of them live on the
13
+ * Distribution itself, and refusing one would take the Distribution down over
14
+ * something that was never the point of the template. The site a local dev
15
+ * server and a suite of tests make requests to has to survive that.
14
16
  */
15
17
  export class SimCfnCfDistroCreator {
16
18
  cloudFront;
@@ -31,7 +33,7 @@ export class SimCfnCfDistroCreator {
31
33
  });
32
34
  const output = await this.cloudFront.createDistribution({
33
35
  input: {
34
- DistributionConfig: deployableConfig(resource, validator.validate(), context.simAws),
36
+ DistributionConfig: deployableConfig(resource, validator.validate(), context.simAws, this.cloudFront),
35
37
  },
36
38
  });
37
39
  const distributionId = output.Distribution?.Id;
@@ -45,7 +47,7 @@ export class SimCfnCfDistroCreator {
45
47
  * The DistributionConfig to deploy, without the parts this simulation cannot
46
48
  * act on, each recorded on the Resource.
47
49
  */
48
- function deployableConfig(resource, distributionConfig, simAws) {
49
- return simCfnCfDistroWithoutAbsentWebAcl(resource, simCfnCfDistroWithRunnableEdgeAssociations(resource, distributionConfig, simAws), simAws);
50
+ function deployableConfig(resource, distributionConfig, simAws, cloudFront) {
51
+ return simCfnCfDistroWithoutAbsentWebAcl(resource, simCfnCfDistroWithHeldResponseHeadersPolicies(resource, simCfnCfDistroWithRunnableEdgeAssociations(resource, distributionConfig, simAws), cloudFront), simAws);
50
52
  }
51
53
  //# sourceMappingURL=sim-cfn-cf-distro-creator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cf-distro-creator.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,wCAAwC,CAAC;AAShD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,0CAA0C,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAOnF;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAgB;IAE3C,YAAY,UAA2C;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC,EACrC,OAA+C;QAE/C,MAAM,uBAAuB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEjE,aAAa,CACX,uBAAuB,EACvB,iCAAiC,QAAQ,CAAC,SAAS,qBAAqB,CACzE,CAAC;QACF,aAAa,CACX,uBAAuB,EACvB,iCAAiC,QAAQ,CAAC,SAAS,qBAAqB,CACzE,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,kBAAkB,EAAE,uBAAuB;SAC5C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACtD,KAAK,EAAE;gBACL,kBAAkB,EAAE,gBAAgB,CAClC,QAAQ,EACR,SAAS,CAAC,QAAQ,EAAE,EACpB,OAAO,CAAC,MAAM,CACf;aACF;SACF,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC/C,aAAa,CACX,cAAc,EACd,iCAAiC,QAAQ,CAAC,SAAS,0BAA0B,CAC9E,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAE5E,aAAa,CACX,YAAY,EACZ,wCAAwC,cAAc,yCAAyC,CAChG,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAAwB,EACxB,kBAAmD,EACnD,MAAc;IAEd,OAAO,iCAAiC,CACtC,QAAQ,EACR,0CAA0C,CACxC,QAAQ,EACR,kBAAkB,EAClB,MAAM,CACP,EACD,MAAM,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sim-cfn-cf-distro-creator.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,wCAAwC,CAAC;AAShD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,0CAA0C,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,6CAA6C,EAAE,MAAM,gDAAgD,CAAC;AAC/G,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAOnF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAgB;IAE3C,YAAY,UAA2C;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC,EACrC,OAA+C;QAE/C,MAAM,uBAAuB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEjE,aAAa,CACX,uBAAuB,EACvB,iCAAiC,QAAQ,CAAC,SAAS,qBAAqB,CACzE,CAAC;QACF,aAAa,CACX,uBAAuB,EACvB,iCAAiC,QAAQ,CAAC,SAAS,qBAAqB,CACzE,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,kBAAkB,EAAE,uBAAuB;SAC5C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACtD,KAAK,EAAE;gBACL,kBAAkB,EAAE,gBAAgB,CAClC,QAAQ,EACR,SAAS,CAAC,QAAQ,EAAE,EACpB,OAAO,CAAC,MAAM,EACd,IAAI,CAAC,UAAU,CAChB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC/C,aAAa,CACX,cAAc,EACd,iCAAiC,QAAQ,CAAC,SAAS,0BAA0B,CAC9E,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAE5E,aAAa,CACX,YAAY,EACZ,wCAAwC,cAAc,yCAAyC,CAChG,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAAwB,EACxB,kBAAmD,EACnD,MAAc,EACd,UAAyB;IAEzB,OAAO,iCAAiC,CACtC,QAAQ,EACR,6CAA6C,CAC3C,QAAQ,EACR,0CAA0C,CACxC,QAAQ,EACR,kBAAkB,EAClB,MAAM,CACP,EACD,UAAU,CACX,EACD,MAAM,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.command.js";
3
+ import type { SimCloudFront } from "../../sim-cloudfront.js";
4
+ /**
5
+ * The DistributionConfig to deploy, without a `ResponseHeadersPolicyId` naming
6
+ * a response headers policy this simulation does not hold.
7
+ *
8
+ * `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
9
+ * a Distribution deployed from a template is the one place that refusal costs
10
+ * more than it is worth. A stack naming a policy from a real account is
11
+ * ordinary, and so is one naming a policy another stack created. Neither says
12
+ * anything about the site the Distribution serves, and a Distribution that
13
+ * failed to deploy takes every request a local dev server and a test suite
14
+ * make with it. That is the same reason an absent `WebACLId` is left out here.
15
+ *
16
+ * So the property is left off that Behavior and recorded on
17
+ * `stack.ignoredProperties`. The Behavior deploys and serves every response
18
+ * without the policy's headers. A test that cares reads the record.
19
+ *
20
+ * One Behavior losing its policy leaves the others holding theirs. CloudFront's
21
+ * managed policies count as held, so a Behavior naming one keeps it.
22
+ */
23
+ export declare function simCfnCfDistroWithHeldResponseHeadersPolicies(resource: SimCfnResource, distributionConfig: SimCloudFrontDistributionConfig, cloudFront: SimCloudFront): SimCloudFrontDistributionConfig;
24
+ //# sourceMappingURL=sim-cfn-cf-distro-response-headers-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-cf-distro-response-headers-policy.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,+BAA+B,EAChC,MAAM,kEAAkE,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA+C7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6CAA6C,CAC3D,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,+BAA+B,EACnD,UAAU,EAAE,aAAa,GACxB,+BAA+B,CAcjC"}
@@ -0,0 +1,94 @@
1
+ import { normalizeSimCfList } from "../../command/create-distribution/sim-cf-normalize-list.js";
2
+ /**
3
+ * The path a dropped policy on the default Behavior is recorded under.
4
+ */
5
+ const defaultBehaviorPath = "DistributionConfig.DefaultCacheBehavior";
6
+ /**
7
+ * Takes a `ResponseHeadersPolicyId` naming a policy this simulation does not
8
+ * hold off the Behavior that named it, and records each one.
9
+ */
10
+ class SimCfnCfDistroPolicyDrops {
11
+ resource;
12
+ cloudFront;
13
+ count = 0;
14
+ constructor(resource, cloudFront) {
15
+ this.resource = resource;
16
+ this.cloudFront = cloudFront;
17
+ }
18
+ /**
19
+ * One Behavior, keeping a policy that is here and dropping one that is not.
20
+ */
21
+ heldPolicy(behavior, behaviorPath) {
22
+ const policyId = behavior.ResponseHeadersPolicyId;
23
+ if (policyId === undefined ||
24
+ this.cloudFront.getResponseHeadersPolicyById(policyId) !== undefined) {
25
+ return behavior;
26
+ }
27
+ this.count += 1;
28
+ this.resource.ignoreProperty(`${behaviorPath}.ResponseHeadersPolicyId`, `response headers policy ${policyId} is not held by this simulation, ` +
29
+ `so the Behavior is deployed without one and serves every response ` +
30
+ `without the headers that policy would have set`);
31
+ return { ...behavior, ResponseHeadersPolicyId: undefined };
32
+ }
33
+ }
34
+ /**
35
+ * The DistributionConfig to deploy, without a `ResponseHeadersPolicyId` naming
36
+ * a response headers policy this simulation does not hold.
37
+ *
38
+ * `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
39
+ * a Distribution deployed from a template is the one place that refusal costs
40
+ * more than it is worth. A stack naming a policy from a real account is
41
+ * ordinary, and so is one naming a policy another stack created. Neither says
42
+ * anything about the site the Distribution serves, and a Distribution that
43
+ * failed to deploy takes every request a local dev server and a test suite
44
+ * make with it. That is the same reason an absent `WebACLId` is left out here.
45
+ *
46
+ * So the property is left off that Behavior and recorded on
47
+ * `stack.ignoredProperties`. The Behavior deploys and serves every response
48
+ * without the policy's headers. A test that cares reads the record.
49
+ *
50
+ * One Behavior losing its policy leaves the others holding theirs. CloudFront's
51
+ * managed policies count as held, so a Behavior naming one keeps it.
52
+ */
53
+ export function simCfnCfDistroWithHeldResponseHeadersPolicies(resource, distributionConfig, cloudFront) {
54
+ const drops = new SimCfnCfDistroPolicyDrops(resource, cloudFront);
55
+ const defaultCacheBehavior = distroDefaultBehavior(drops, distributionConfig);
56
+ const cacheBehaviors = distroCacheBehaviors(drops, distributionConfig);
57
+ if (drops.count === 0) {
58
+ return distributionConfig;
59
+ }
60
+ return {
61
+ ...distributionConfig,
62
+ DefaultCacheBehavior: defaultCacheBehavior,
63
+ CacheBehaviors: cacheBehaviors,
64
+ };
65
+ }
66
+ /**
67
+ * The default cache Behavior, without a policy that is not here.
68
+ */
69
+ function distroDefaultBehavior(drops, distributionConfig) {
70
+ const behavior = distributionConfig.DefaultCacheBehavior;
71
+ if (behavior === undefined) {
72
+ return undefined;
73
+ }
74
+ return drops.heldPolicy(behavior, defaultBehaviorPath);
75
+ }
76
+ /**
77
+ * Every path-based cache Behavior, each without a policy that is not here.
78
+ *
79
+ * A Behavior is recorded under its `PathPattern`, in the terms the template
80
+ * wrote it in, the way a skipped Lambda@Edge association is. Its position is
81
+ * the fallback for a hand-written entry that left the pattern out.
82
+ */
83
+ function distroCacheBehaviors(drops, distributionConfig) {
84
+ const behaviors = normalizeSimCfList("CacheBehaviors", distributionConfig.CacheBehaviors);
85
+ const items = behaviors?.Items;
86
+ if (items === undefined) {
87
+ return distributionConfig.CacheBehaviors;
88
+ }
89
+ return {
90
+ ...behaviors,
91
+ Items: items.map((behavior, index) => drops.heldPolicy(behavior, `DistributionConfig.CacheBehaviors.${behavior.PathPattern ?? String(index)}`)),
92
+ };
93
+ }
94
+ //# sourceMappingURL=sim-cfn-cf-distro-response-headers-policy.js.map