@kensio/yulin 1.20.16 → 1.21.0

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 (437) hide show
  1. package/dist/service/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
  2. package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
  3. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  4. package/dist/service/aws/caller/sim-aws-ambient-caller.d.ts +23 -0
  5. package/dist/service/aws/caller/sim-aws-ambient-caller.js +12 -0
  6. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +17 -6
  7. package/dist/service/aws/caller/sim-aws-caller-resolver.js +21 -26
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +6 -0
  9. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
  10. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +6 -0
  11. package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -1
  12. package/dist/service/aws/factory/sim-aws-registered-service-builder.js +3 -1
  13. package/dist/service/aws/factory/sim-aws-service-factory.js +9 -1
  14. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  15. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  16. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  17. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -2
  18. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  19. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +6 -0
  20. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +11 -0
  21. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +17 -15
  22. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +12 -0
  23. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  24. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.d.ts +23 -0
  25. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.js +30 -0
  26. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +16 -0
  27. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
  28. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
  29. package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.d.ts +29 -12
  30. package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.js +51 -20
  31. package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.d.ts +19 -0
  32. package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.js +6 -0
  33. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +7 -0
  34. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +9 -2
  35. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  36. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  37. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +6 -0
  38. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +4 -1
  39. package/dist/service/cloudformation/stack/sim-cfn-stack.js +2 -1
  40. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +6 -0
  41. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +16 -0
  42. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
  43. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
  44. package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
  45. package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
  46. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
  47. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
  48. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
  49. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
  50. package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
  51. package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
  52. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
  53. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
  54. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
  55. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
  56. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
  57. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
  58. package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
  59. package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
  60. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
  61. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
  62. package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
  63. package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
  64. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
  65. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
  66. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.d.ts +37 -0
  67. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.js +50 -0
  68. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +35 -0
  69. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +49 -0
  70. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +33 -0
  71. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +132 -0
  72. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +8 -0
  73. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +13 -0
  74. package/dist/service/cloudfront/cff/sim-cf-function-commands.d.ts +52 -0
  75. package/dist/service/cloudfront/cff/sim-cf-function-commands.js +51 -0
  76. package/dist/service/cloudfront/cff/sim-cff-configuration.d.ts +41 -0
  77. package/dist/service/cloudfront/cff/sim-cff-configuration.js +34 -0
  78. package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
  79. package/dist/service/cloudfront/cff/sim-cff-stage.d.ts +23 -0
  80. package/dist/service/cloudfront/cff/sim-cff-stage.js +30 -0
  81. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +6 -1
  82. package/dist/service/cloudfront/cff/sim-cloudfront-function.js +6 -0
  83. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +28 -0
  84. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +71 -0
  85. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.d.ts +24 -0
  86. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.js +32 -0
  87. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
  88. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
  89. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
  90. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
  91. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
  92. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
  93. package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.d.ts → sim-cfn-cf-distro-behavior-policies.d.ts} +9 -7
  94. package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.js → sim-cfn-cf-distro-behavior-policies.js} +12 -37
  95. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
  96. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +8 -7
  97. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.d.ts +23 -0
  98. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +35 -0
  99. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
  100. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
  101. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
  102. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
  103. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
  104. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
  105. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
  106. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -0
  107. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -0
  108. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +22 -0
  109. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +2 -0
  110. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +4 -0
  111. package/dist/service/cloudfront/command/create-function/create-function.handler.js +7 -1
  112. package/dist/service/cloudfront/command/function/sim-cf-describe-function.d.ts +22 -0
  113. package/dist/service/cloudfront/command/function/sim-cf-describe-function.js +32 -0
  114. package/dist/service/cloudfront/command/function/sim-cf-function-access.d.ts +48 -0
  115. package/dist/service/cloudfront/command/function/sim-cf-function-access.js +48 -0
  116. package/dist/service/cloudfront/command/function/sim-cf-function-command.types.d.ts +97 -0
  117. package/dist/service/cloudfront/command/function/sim-cf-function-command.types.js +10 -0
  118. package/dist/service/cloudfront/command/function/sim-cf-function-lookup.d.ts +12 -0
  119. package/dist/service/cloudfront/command/function/sim-cf-function-lookup.js +21 -0
  120. package/dist/service/cloudfront/command/function/sim-cf-function-summary.d.ts +11 -0
  121. package/dist/service/cloudfront/command/function/sim-cf-function-summary.js +30 -0
  122. package/dist/service/cloudfront/command/function/sim-cf-get-function.d.ts +23 -0
  123. package/dist/service/cloudfront/command/function/sim-cf-get-function.js +33 -0
  124. package/dist/service/cloudfront/command/function/sim-cf-list-functions.d.ts +22 -0
  125. package/dist/service/cloudfront/command/function/sim-cf-list-functions.js +38 -0
  126. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
  127. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
  128. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
  129. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
  130. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
  131. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
  132. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
  133. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
  134. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
  135. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
  136. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
  137. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
  138. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +4 -0
  139. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
  140. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
  141. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
  142. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
  143. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
  144. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
  145. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
  146. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
  147. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
  148. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
  149. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
  150. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
  151. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.d.ts +18 -0
  152. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.js +30 -0
  153. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
  154. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
  155. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +30 -0
  156. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +44 -0
  157. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts +2 -2
  158. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +9 -3
  159. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts +0 -10
  160. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +0 -19
  161. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +4 -0
  162. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +8 -2
  163. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +3 -3
  164. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +5 -5
  165. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
  166. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
  167. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +3 -3
  168. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +4 -4
  169. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
  170. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
  171. package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +7 -3
  172. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +4 -0
  173. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
  174. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
  175. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
  176. package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
  177. package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
  178. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
  179. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
  180. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
  181. package/dist/service/cloudfront/error/sim-cloudfront.error.js +25 -0
  182. package/dist/service/cloudfront/index.d.ts +2 -0
  183. package/dist/service/cloudfront/index.js +1 -0
  184. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
  185. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
  186. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
  187. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
  188. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
  189. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
  190. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
  191. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
  192. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
  193. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
  194. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +2 -10
  195. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.js +2 -1
  196. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
  197. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
  198. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
  199. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
  200. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
  201. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
  202. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
  203. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
  204. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
  205. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
  206. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
  207. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
  208. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
  209. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
  210. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
  211. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
  212. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
  213. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
  214. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
  215. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
  216. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
  217. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +24 -0
  218. package/dist/service/cloudfront/sim-cf-authorize.d.ts +16 -0
  219. package/dist/service/cloudfront/sim-cf-authorize.js +19 -0
  220. package/dist/service/cloudfront/sim-cf-etag.d.ts +7 -0
  221. package/dist/service/cloudfront/sim-cf-etag.js +10 -0
  222. package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
  223. package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
  224. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +20 -12
  225. package/dist/service/cloudfront/sim-cloudfront-commands.js +20 -17
  226. package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
  227. package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
  228. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
  229. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
  230. package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +60 -0
  231. package/dist/service/cloudfront/sim-cloudfront-policies.js +75 -0
  232. package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -44
  233. package/dist/service/cloudfront/sim-cloudfront.js +37 -58
  234. package/dist/service/ecr/authorize/sim-ecr-authorizer.d.ts +31 -0
  235. package/dist/service/ecr/authorize/sim-ecr-authorizer.js +38 -0
  236. package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.d.ts +11 -2
  237. package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.js +11 -2
  238. package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.d.ts +4 -2
  239. package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.js +8 -9
  240. package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.d.ts +7 -0
  241. package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.js +9 -0
  242. package/dist/service/ecr/sim-ecr.d.ts +7 -0
  243. package/dist/service/ecr/sim-ecr.js +16 -4
  244. package/dist/service/ecs/command/authorize/sim-ecs-authorizer.d.ts +12 -0
  245. package/dist/service/ecs/command/authorize/sim-ecs-authorizer.js +21 -0
  246. package/dist/service/ecs/command/register-task-definition/register-task-definition.handler.js +1 -0
  247. package/dist/service/ecs/sim-ecs-service-principal.d.ts +8 -0
  248. package/dist/service/ecs/sim-ecs-service-principal.js +8 -0
  249. package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.d.ts +12 -0
  250. package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.js +21 -0
  251. package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.d.ts +13 -0
  252. package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.js +9 -0
  253. package/dist/service/eventbridge/command/target/sim-event-bridge-put-targets.js +1 -0
  254. package/dist/service/firehose/command/authorize/sim-firehose-authorizer.d.ts +12 -0
  255. package/dist/service/firehose/command/authorize/sim-firehose-authorizer.js +20 -0
  256. package/dist/service/firehose/command/sim-firehose-delivery-stream-access.d.ts +4 -0
  257. package/dist/service/firehose/command/sim-firehose-delivery-stream-access.js +6 -0
  258. package/dist/service/firehose/command/stream/sim-firehose-create-delivery-stream.js +3 -1
  259. package/dist/service/firehose/sim-firehose-service-principal.d.ts +8 -0
  260. package/dist/service/firehose/sim-firehose-service-principal.js +8 -0
  261. package/dist/service/firehose/source/sim-firehose-source.d.ts +5 -0
  262. package/dist/service/firehose/source/sim-firehose-source.js +5 -0
  263. package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js +2 -2
  264. package/dist/service/glue/cfn/sim-cfn-glue-generated-name.d.ts +10 -0
  265. package/dist/service/glue/cfn/sim-cfn-glue-generated-name.js +25 -0
  266. package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js +2 -3
  267. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +34 -2
  268. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +34 -2
  269. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +4 -3
  270. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +9 -3
  271. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +14 -5
  272. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +16 -12
  273. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -3
  274. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +5 -3
  275. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +9 -71
  276. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +2 -1
  277. package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +89 -0
  278. package/dist/service/iam/authorize/context/sim-iam-auth-z-input.js +1 -0
  279. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +11 -3
  280. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +20 -8
  281. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +29 -8
  282. package/dist/service/iam/authorize/match/sim-iam-principal-match.js +38 -13
  283. package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.d.ts +74 -0
  284. package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.js +92 -0
  285. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +14 -5
  286. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +6 -4
  287. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +3 -1
  288. package/dist/service/iam/authorize/sim-iam-authorizer.js +2 -1
  289. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +1 -1
  290. package/dist/service/iam/authorize/sim-iam-wildcard.js +39 -4
  291. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +2 -1
  292. package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.d.ts +16 -0
  293. package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.js +36 -0
  294. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +9 -8
  295. package/dist/service/iam/cfn/sim-cfn-iam-optional-string.d.ts +17 -0
  296. package/dist/service/iam/cfn/sim-cfn-iam-optional-string.js +17 -0
  297. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +4 -8
  298. package/dist/service/iam/command/policy/create-policy/create-policy-input-resolver.js +2 -0
  299. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +5 -0
  300. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +5 -0
  301. package/dist/service/iam/command/role/create-role/create-role.handler.js +4 -1
  302. package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
  303. package/dist/service/iam/error/sim-iam.error.js +13 -0
  304. package/dist/service/iam/index.d.ts +1 -0
  305. package/dist/service/iam/policy/sim-iam-policy-document-of-size.d.ts +18 -0
  306. package/dist/service/iam/policy/sim-iam-policy-document-of-size.js +41 -0
  307. package/dist/service/iam/role/sim-iam-deploy-role.d.ts +56 -0
  308. package/dist/service/iam/role/sim-iam-deploy-role.js +50 -0
  309. package/dist/service/iam/role/sim-iam-role-with-policy.factory.d.ts +3 -1
  310. package/dist/service/iam/sim-iam-account-parts.d.ts +8 -0
  311. package/dist/service/iam/sim-iam-account-parts.js +1 -0
  312. package/dist/service/iam/sim-iam.d.ts +12 -2
  313. package/dist/service/iam/sim-iam.js +12 -0
  314. package/dist/service/iam/validate/size/sim-iam-policy-document-size.d.ts +57 -0
  315. package/dist/service/iam/validate/size/sim-iam-policy-document-size.js +71 -0
  316. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +3 -1
  317. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +4 -1
  318. package/dist/service/kms/command/sim-kms-request-options.d.ts +15 -0
  319. package/dist/service/kms/key/sim-kms-key-policy.d.ts +5 -4
  320. package/dist/service/kms/key/sim-kms-key-policy.js +4 -3
  321. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.d.ts +2 -2
  322. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.js +4 -3
  323. package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.d.ts +10 -0
  324. package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.js +25 -0
  325. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +1 -1
  326. package/dist/service/lambda/command/create-function/create-function-authorizer.d.ts +9 -2
  327. package/dist/service/lambda/command/create-function/create-function-authorizer.js +16 -2
  328. package/dist/service/lambda/command/create-function/create-function.handler.js +1 -1
  329. package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.d.ts +7 -2
  330. package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +14 -2
  331. package/dist/service/lambda/command/update-function-configuration/update-function-configuration.handler.js +1 -1
  332. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -1
  333. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +25 -1
  334. package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.d.ts +13 -0
  335. package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.js +18 -0
  336. package/dist/service/lambda/sim-lambda-service-principal.d.ts +7 -0
  337. package/dist/service/lambda/sim-lambda-service-principal.js +7 -0
  338. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.d.ts +46 -0
  339. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.js +49 -0
  340. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +5 -0
  341. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +6 -0
  342. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +5 -0
  343. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +6 -0
  344. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +5 -0
  345. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +6 -0
  346. package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.d.ts +9 -2
  347. package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.js +34 -5
  348. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +1 -1
  349. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +4 -0
  350. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +9 -4
  351. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
  352. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
  353. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
  354. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
  355. package/dist/service/logs/sim-logs-commands.d.ts +3 -0
  356. package/dist/service/logs/sim-logs-commands.js +4 -0
  357. package/dist/service/logs/sim-logs.js +6 -1
  358. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -2
  359. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +4 -3
  360. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.d.ts +12 -0
  361. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.js +22 -0
  362. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +1 -1
  363. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +10 -1
  364. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +19 -1
  365. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  366. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +8 -0
  367. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +9 -0
  368. package/dist/service/scheduler/command/schedule/sim-scheduler-update-schedule.js +1 -0
  369. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.d.ts +15 -0
  370. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.js +22 -0
  371. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +4 -10
  372. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +13 -31
  373. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.d.ts +17 -0
  374. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.js +30 -0
  375. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +6 -0
  376. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +8 -3
  377. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +1 -1
  378. package/dist/service/sqs/command/authorize/sim-sqs-queue-resource-policies.d.ts +1 -1
  379. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.d.ts +16 -0
  380. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.js +23 -0
  381. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +2 -4
  382. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +5 -5
  383. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +11 -12
  384. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +4 -4
  385. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts +17 -0
  386. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js +20 -0
  387. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +13 -8
  388. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +13 -8
  389. package/dist/service/ssm/parameter/sim-ssm-parameter-name.js +3 -12
  390. package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.d.ts +41 -0
  391. package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.js +64 -0
  392. package/dist/service/stepfunctions/command/machine/sim-state-machine-create.d.ts +5 -2
  393. package/dist/service/stepfunctions/command/machine/sim-state-machine-create.js +6 -2
  394. package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.d.ts +26 -0
  395. package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.js +29 -0
  396. package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.d.ts +7 -0
  397. package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.js +12 -3
  398. package/dist/service/stepfunctions/command/machine/sim-state-machine-update.d.ts +19 -0
  399. package/dist/service/stepfunctions/command/machine/{sim-state-machine-writes.js → sim-state-machine-update.js} +3 -14
  400. package/dist/service/stepfunctions/sim-step-functions.d.ts +8 -2
  401. package/dist/service/stepfunctions/sim-step-functions.js +26 -9
  402. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  403. package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
  404. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts +5 -0
  405. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js +1 -0
  406. package/dist/service/sts/sim-sts.d.ts +9 -0
  407. package/dist/service/sts/sim-sts.js +4 -0
  408. package/dist/util/memo/bounded-memo.d.ts +36 -0
  409. package/dist/util/memo/bounded-memo.js +58 -0
  410. package/docs/sdk/README.md +3 -1
  411. package/docs/services/athena/README.md +7 -1
  412. package/docs/services/cloudformation/README.md +197 -11
  413. package/docs/services/cloudfront/README.md +1116 -14
  414. package/docs/services/cloudwatch/README.md +6 -4
  415. package/docs/services/cognito/README.md +8 -7
  416. package/docs/services/dynamodb/README.md +6 -5
  417. package/docs/services/ecs/README.md +23 -9
  418. package/docs/services/elbv2/README.md +6 -2
  419. package/docs/services/eventbridge/README.md +9 -1
  420. package/docs/services/firehose/README.md +9 -3
  421. package/docs/services/glue/README.md +6 -0
  422. package/docs/services/iam/README.md +322 -27
  423. package/docs/services/kinesis/README.md +3 -2
  424. package/docs/services/kms/README.md +11 -2
  425. package/docs/services/lambda/README.md +76 -2
  426. package/docs/services/logs/README.md +22 -2
  427. package/docs/services/s3/README.md +7 -2
  428. package/docs/services/scheduler/README.md +12 -4
  429. package/docs/services/secretsmanager/README.md +6 -3
  430. package/docs/services/ses/README.md +3 -1
  431. package/docs/services/sns/README.md +5 -5
  432. package/docs/services/sqs/README.md +5 -5
  433. package/docs/services/ssm/README.md +35 -18
  434. package/docs/services/stepfunctions/README.md +11 -2
  435. package/docs/services/wafv2/README.md +5 -3
  436. package/package.json +1 -1
  437. package/dist/service/stepfunctions/command/machine/sim-state-machine-writes.d.ts +0 -25
@@ -5,11 +5,34 @@ import { makeDistributionId, } from "../distribution/sim-cloudfront-distribution
5
5
  * CloudFront is not region-scoped, so all region-scoped CloudFront service
6
6
  * instances for the same Account should delegate to the same Account-global
7
7
  * state.
8
+ *
9
+ * Whether Distributions cache what they serve lives here for the same reason.
10
+ * One registry is built per `SimAws` and shared by every Account and Region,
11
+ * so turning caching off turns it off for the whole simulated AWS rather than
12
+ * for one Account's Distributions.
8
13
  */
9
14
  export class SimCloudFrontRegistry {
15
+ #cachingEnabled = true;
10
16
  distributionAccountIds = new Map();
11
17
  accountDistributionIds = new Map();
12
18
  alternateDomainDistributionIds = new Map();
19
+ /**
20
+ * Whether Distributions here cache what they serve.
21
+ */
22
+ get cachingEnabled() {
23
+ return this.#cachingEnabled;
24
+ }
25
+ /**
26
+ * Turn the edge cache on or off for every Distribution in this simulated
27
+ * AWS.
28
+ *
29
+ * Caching is on, as CloudFront's is. Turning it off is for a suite that
30
+ * repeats a request and wants the Origin read every time, and it is the
31
+ * behaviour sim CloudFront had before it held a cache at all.
32
+ */
33
+ configureCaching(configuration) {
34
+ this.#cachingEnabled = configuration.enabled;
35
+ }
13
36
  /**
14
37
  * Allocate a globally unique simulated CloudFront Distribution ID.
15
38
  */
@@ -23,10 +23,34 @@ export class SimCloudFrontSdkCommandRouter {
23
23
  "DeleteFunctionCommand",
24
24
  async (command, context) => await simCloudFront.deleteFunction(command, simSdkCallerOptions(context)),
25
25
  ],
26
+ [
27
+ "ListFunctionsCommand",
28
+ async (command, context) => await simCloudFront.listFunctions(command, simSdkCallerOptions(context)),
29
+ ],
30
+ [
31
+ "DescribeFunctionCommand",
32
+ async (command, context) => await simCloudFront.describeFunction(command, simSdkCallerOptions(context)),
33
+ ],
34
+ [
35
+ "GetFunctionCommand",
36
+ async (command, context) => await simCloudFront.getFunction(command, simSdkCallerOptions(context)),
37
+ ],
26
38
  [
27
39
  "GetDistributionCommand",
28
40
  async (command, context) => await simCloudFront.getDistribution(command, simSdkCallerOptions(context)),
29
41
  ],
42
+ [
43
+ "CreateInvalidationCommand",
44
+ async (command, context) => await simCloudFront.createInvalidation(command, simSdkCallerOptions(context)),
45
+ ],
46
+ [
47
+ "GetInvalidationCommand",
48
+ async (command, context) => await simCloudFront.getInvalidation(command, simSdkCallerOptions(context)),
49
+ ],
50
+ [
51
+ "ListInvalidationsCommand",
52
+ async (command, context) => await simCloudFront.listInvalidations(command, simSdkCallerOptions(context)),
53
+ ],
30
54
  [
31
55
  "CreateKeyValueStoreCommand",
32
56
  async (command, context) => await simCloudFront
@@ -0,0 +1,16 @@
1
+ import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
2
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ interface SimCfAuthorizeProperties {
4
+ readonly iam: SimIamInterServiceAuthZ;
5
+ readonly action: string;
6
+ readonly resource: string;
7
+ readonly caller?: SimAwsCaller | undefined;
8
+ }
9
+ /**
10
+ * Ensure a caller may take a CloudFront action on a resource.
11
+ *
12
+ * Every CloudFront command asks IAM the same question and refuses a denial the
13
+ * same way, so the question is asked here rather than once per command group.
14
+ */
15
+ export declare function simCfAuthorize(properties: SimCfAuthorizeProperties): void;
16
+ export {};
@@ -0,0 +1,19 @@
1
+ import { SimIamAccessDenied } from "../iam/error/sim-iam.error.js";
2
+ /**
3
+ * Ensure a caller may take a CloudFront action on a resource.
4
+ *
5
+ * Every CloudFront command asks IAM the same question and refuses a denial the
6
+ * same way, so the question is asked here rather than once per command group.
7
+ */
8
+ export function simCfAuthorize(properties) {
9
+ const { iam, action, resource, caller } = properties;
10
+ const decision = iam.authorize({ action, resource, caller });
11
+ if (decision.isDenied) {
12
+ throw new SimIamAccessDenied({
13
+ principal: decision.caller.principal,
14
+ reason: decision.denialReason,
15
+ action,
16
+ resource,
17
+ });
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generate a fake ETag, in the shape CloudFront gives one.
3
+ *
4
+ * Every versioned CloudFront resource carries one of these, and a write says
5
+ * which version it is writing over by sending it back as `IfMatch`.
6
+ */
7
+ export declare function makeSimCloudFrontETag(): string;
@@ -0,0 +1,10 @@
1
+ import { faker } from "@faker-js/faker";
2
+ /**
3
+ * Generate a fake ETag, in the shape CloudFront gives one.
4
+ *
5
+ * Every versioned CloudFront resource carries one of these, and a write says
6
+ * which version it is writing over by sending it back as `IfMatch`.
7
+ */
8
+ export function makeSimCloudFrontETag() {
9
+ return faker.helpers.fromRegExp(/E[0-9A-Z]{13}/);
10
+ }
@@ -0,0 +1,31 @@
1
+ import { type SimCfCachingConfiguration, SimCloudFrontRegistry } from "./registry/sim-cloud-front-registry.js";
2
+ import { SimCloudFrontOriginAccessControls } from "./sim-cloudfront-origin-access-controls.js";
3
+ /**
4
+ * The cache one simulated CloudFront's Distributions hold, and whether they
5
+ * hold one at all.
6
+ *
7
+ * The setting lives on `SimCloudFrontRegistry`, which is built once per
8
+ * `SimAws` and shared by every Account and Region, so a Distribution anywhere
9
+ * in one simulated AWS caches or does not together with the rest.
10
+ * `SimCloudFront` extends this, and a caller reaches it on the one service
11
+ * object.
12
+ */
13
+ export declare class SimCloudFrontCaching extends SimCloudFrontOriginAccessControls {
14
+ protected readonly cloudFrontRegistry: SimCloudFrontRegistry;
15
+ constructor(cloudFrontRegistry?: SimCloudFrontRegistry);
16
+ /**
17
+ * Whether Distributions in this simulated AWS cache what they serve.
18
+ */
19
+ get cachingEnabled(): boolean;
20
+ /**
21
+ * Turn the edge cache on or off.
22
+ *
23
+ * ```typescript
24
+ * simAws.cloudFront().configureCaching({ enabled: false });
25
+ * ```
26
+ *
27
+ * Caching is on, as CloudFront's is. Turning it off is for a suite that
28
+ * repeats a request and wants every one of them to reach the Origin.
29
+ */
30
+ configureCaching(configuration: SimCfCachingConfiguration): void;
31
+ }
@@ -0,0 +1,38 @@
1
+ import { SimCloudFrontRegistry, } from "./registry/sim-cloud-front-registry.js";
2
+ import { SimCloudFrontOriginAccessControls } from "./sim-cloudfront-origin-access-controls.js";
3
+ /**
4
+ * The cache one simulated CloudFront's Distributions hold, and whether they
5
+ * hold one at all.
6
+ *
7
+ * The setting lives on `SimCloudFrontRegistry`, which is built once per
8
+ * `SimAws` and shared by every Account and Region, so a Distribution anywhere
9
+ * in one simulated AWS caches or does not together with the rest.
10
+ * `SimCloudFront` extends this, and a caller reaches it on the one service
11
+ * object.
12
+ */
13
+ export class SimCloudFrontCaching extends SimCloudFrontOriginAccessControls {
14
+ cloudFrontRegistry;
15
+ constructor(cloudFrontRegistry) {
16
+ super();
17
+ this.cloudFrontRegistry = cloudFrontRegistry ?? new SimCloudFrontRegistry();
18
+ }
19
+ /**
20
+ * Whether Distributions in this simulated AWS cache what they serve.
21
+ */
22
+ get cachingEnabled() {
23
+ return this.cloudFrontRegistry.cachingEnabled;
24
+ }
25
+ /**
26
+ * Turn the edge cache on or off.
27
+ *
28
+ * ```typescript
29
+ * simAws.cloudFront().configureCaching({ enabled: false });
30
+ * ```
31
+ *
32
+ * Caching is on, as CloudFront's is. Turning it off is for a suite that
33
+ * repeats a request and wants every one of them to reach the Origin.
34
+ */
35
+ configureCaching(configuration) {
36
+ this.cloudFrontRegistry.configureCaching(configuration);
37
+ }
38
+ }
@@ -5,10 +5,8 @@ import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-sco
5
5
  import type { SimAwsAccountId } from "../aws/sim-aws-account.js";
6
6
  import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
7
7
  import type { SimCreateDistributionCommand, SimCreateDistributionCommandOutput } from "./command/create-distribution/create-distribution.command.js";
8
- import type { SimCreateFunctionCommand, SimCreateFunctionCommandOutput } from "./command/create-function/create-function.command.js";
9
- import { type SimCloudFrontFunctionMap } from "./command/create-function/create-function.handler.js";
8
+ import type { SimCloudFrontFunctionMap } from "./command/create-function/create-function.handler.js";
10
9
  import type { SimDeleteDistributionCommand, SimDeleteDistributionCommandOutput } from "./command/delete-distribution/delete-distribution.command.js";
11
- import type { SimDeleteFunctionCommand, SimDeleteFunctionCommandOutput } from "./command/delete-function/delete-function.command.js";
12
10
  import type { SimGetDistributionCommand, SimGetDistributionCommandOutput } from "./command/get-distribution/get-distribution.command.js";
13
11
  import type { SimUpdateDistributionCommand, SimUpdateDistributionCommandOutput } from "./command/update-distribution/update-distribution.command.js";
14
12
  import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "./distribution/sim-cloudfront-distribution.js";
@@ -16,11 +14,15 @@ import type { SimCfCustomOriginDispatcher } from "./origin/custom/sim-cf-custom-
16
14
  import { type SimCloudFrontS3OriginResolver } from "./origin/s3/sim-cloudfront-s3-origin.js";
17
15
  import type { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
18
16
  import type { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
17
+ import type { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
18
+ import type { SimCloudFrontOriginRequestPolicyRegistry } from "./origin-request-policy/sim-cf-origin-request-policy-registry.js";
19
19
  import { SimCloudFrontRegistry } from "./registry/sim-cloud-front-registry.js";
20
20
  import type { SimCfWebAclResolver } from "./web-acl/sim-cf-web-acl.js";
21
21
  import type { SimCfEdgeFunctions } from "./edge/sim-cf-edge-functions.js";
22
22
  import { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-store-commands.js";
23
23
  import { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
24
+ import { SimCfFunctionCommands } from "./cff/sim-cf-function-commands.js";
25
+ import { SimCfInvalidationCommands } from "./command/invalidation/sim-cf-invalidation-commands.js";
24
26
  /**
25
27
  * How one simulated CloudFront is put together.
26
28
  */
@@ -43,6 +45,8 @@ interface SimCloudFrontCommandsProperties extends SimCloudFrontProperties {
43
45
  readonly cloudFrontFunctions: SimCloudFrontFunctionMap;
44
46
  readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
45
47
  readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
48
+ readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
49
+ readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
46
50
  }
47
51
  /**
48
52
  * Options carried by any simulated CloudFront request.
@@ -51,6 +55,11 @@ export interface SimCloudFrontRequestOptions {
51
55
  readonly caller?: SimAwsCaller;
52
56
  }
53
57
  export type SimCloudFrontDistributionMap = Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
58
+ /**
59
+ * The Distributions of one simulated CloudFront, as a caller reading them back
60
+ * sees them.
61
+ */
62
+ export type SimCloudFrontDistributionsById = ReadonlyMap<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
54
63
  /**
55
64
  * The commands of one simulated CloudFront, and the state they share.
56
65
  *
@@ -75,8 +84,15 @@ export declare class SimCloudFrontCommands {
75
84
  * well as by the Distribution commands, which check one can be associated.
76
85
  */
77
86
  readonly edgeFunctions: SimCfEdgeFunctions | undefined;
87
+ /**
88
+ * The CloudFront Function commands, and the Functions they work on.
89
+ */
90
+ readonly functions: SimCfFunctionCommands;
91
+ /**
92
+ * The invalidation commands, and the Distributions they clear.
93
+ */
94
+ readonly invalidations: SimCfInvalidationCommands;
78
95
  private readonly distributionState;
79
- private readonly functionState;
80
96
  private readonly configurationState;
81
97
  constructor(properties: SimCloudFrontCommandsProperties);
82
98
  /**
@@ -95,13 +111,5 @@ export declare class SimCloudFrontCommands {
95
111
  * Handle a Delete Distribution Command from the SDK.
96
112
  */
97
113
  deleteDistribution(command: SimDeleteDistributionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDeleteDistributionCommandOutput>;
98
- /**
99
- * Handle a Create Function Command from the SDK.
100
- */
101
- createFunction(command: SimCreateFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimCreateFunctionCommandOutput>;
102
- /**
103
- * Handle a Delete Function Command from the SDK.
104
- */
105
- deleteFunction(command: SimDeleteFunctionCommand, options?: SimCloudFrontRequestOptions): Promise<SimDeleteFunctionCommandOutput>;
106
114
  }
107
115
  export {};
@@ -1,9 +1,7 @@
1
1
  import { BackgroundTasks, } from "../../util/background/background.js";
2
2
  import { simIamGlobalServiceRegion, simIamInRegion, } from "../iam/authorize/sim-iam-region-auth-z.js";
3
3
  import { CreateDistributionCommandHandler } from "./command/create-distribution/create-distribution.handler.js";
4
- import { CreateFunctionCommandHandler, } from "./command/create-function/create-function.handler.js";
5
4
  import { DeleteDistributionCommandHandler } from "./command/delete-distribution/delete-distribution.handler.js";
6
- import { DeleteFunctionCommandHandler } from "./command/delete-function/delete-function.handler.js";
7
5
  import { GetDistributionCommandHandler } from "./command/get-distribution/get-distribution.handler.js";
8
6
  import { UpdateDistributionCommandHandler } from "./command/update-distribution/update-distribution.handler.js";
9
7
  import { emptyCloudFrontS3OriginResolver, } from "./origin/s3/sim-cloudfront-s3-origin.js";
@@ -13,6 +11,8 @@ import { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-s
13
11
  import { SimCloudFrontKeyValueStoreRegistry } from "./key-value-store/sim-cf-key-value-store-registry.js";
14
12
  import { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
15
13
  import { SimCffKeyValueStoreUsers } from "./cff/kvs/sim-cff-key-value-store-users.js";
14
+ import { SimCfFunctionCommands } from "./cff/sim-cf-function-commands.js";
15
+ import { SimCfInvalidationCommands } from "./command/invalidation/sim-cf-invalidation-commands.js";
16
16
  /**
17
17
  * The commands of one simulated CloudFront, and the state they share.
18
18
  *
@@ -37,8 +37,15 @@ export class SimCloudFrontCommands {
37
37
  * well as by the Distribution commands, which check one can be associated.
38
38
  */
39
39
  edgeFunctions;
40
+ /**
41
+ * The CloudFront Function commands, and the Functions they work on.
42
+ */
43
+ functions;
44
+ /**
45
+ * The invalidation commands, and the Distributions they clear.
46
+ */
47
+ invalidations;
40
48
  distributionState;
41
- functionState;
42
49
  configurationState;
43
50
  constructor(properties) {
44
51
  const { accountId, distributions, cloudFrontFunctions, cloudFrontRegistry = new SimCloudFrontRegistry(), s3OriginResolver = emptyCloudFrontS3OriginResolver, customOriginDispatcher, acmRegistry, webAclResolver, edgeFunctions, background = new BackgroundTasks(), } = properties;
@@ -54,13 +61,19 @@ export class SimCloudFrontCommands {
54
61
  iam,
55
62
  background,
56
63
  };
57
- this.functionState = {
64
+ this.functions = new SimCfFunctionCommands({
58
65
  accountId,
59
66
  cloudFrontFunctions,
60
67
  iam,
61
68
  background,
62
69
  keyValueStores,
63
- };
70
+ });
71
+ this.invalidations = new SimCfInvalidationCommands({
72
+ accountId,
73
+ distributions,
74
+ iam,
75
+ background,
76
+ });
64
77
  this.configurationState = {
65
78
  s3OriginResolver,
66
79
  customOriginDispatcher,
@@ -69,6 +82,8 @@ export class SimCloudFrontCommands {
69
82
  edgeFunctions,
70
83
  originAccessControls: properties.originAccessControls,
71
84
  responseHeadersPolicies: properties.responseHeadersPolicies,
85
+ cachePolicies: properties.cachePolicies,
86
+ originRequestPolicies: properties.originRequestPolicies,
72
87
  };
73
88
  const keyValueStoreAccess = new SimCfKeyValueStoreAccess({
74
89
  accountId,
@@ -111,16 +126,4 @@ export class SimCloudFrontCommands {
111
126
  async deleteDistribution(command, options) {
112
127
  return await new DeleteDistributionCommandHandler(this.distributionState).handle(command, options);
113
128
  }
114
- /**
115
- * Handle a Create Function Command from the SDK.
116
- */
117
- async createFunction(command, options) {
118
- return await new CreateFunctionCommandHandler(this.functionState).handle(command, options);
119
- }
120
- /**
121
- * Handle a Delete Function Command from the SDK.
122
- */
123
- async deleteFunction(command, options) {
124
- return await new DeleteFunctionCommandHandler(this.functionState).handle(command, options);
125
- }
126
129
  }
@@ -0,0 +1,21 @@
1
+ import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "./distribution/sim-cloudfront-distribution.js";
2
+ import { SimCloudFrontCaching } from "./sim-cloudfront-caching.js";
3
+ import type { SimCloudFrontDistributionMap, SimCloudFrontDistributionsById } from "./sim-cloudfront-commands.js";
4
+ /**
5
+ * The Distributions one simulated CloudFront holds.
6
+ *
7
+ * The commands work on this map, and a test reads it back through these
8
+ * accessors. `SimCloudFront` extends this, and a caller reaches the
9
+ * Distributions on the one service object.
10
+ */
11
+ export declare class SimCloudFrontDistributions extends SimCloudFrontCaching {
12
+ protected readonly distributions: SimCloudFrontDistributionMap;
13
+ /**
14
+ * Get the simulated Distributions owned by this sim CloudFront service.
15
+ */
16
+ getDistributions(): SimCloudFrontDistributionsById;
17
+ /**
18
+ * Get a simulated CloudFront Distribution by ID.
19
+ */
20
+ getSimDistributionById(distributionId: SimCloudFrontDistributionId | string): SimCloudFrontDistribution | undefined;
21
+ }
@@ -0,0 +1,23 @@
1
+ import { SimCloudFrontCaching } from "./sim-cloudfront-caching.js";
2
+ /**
3
+ * The Distributions one simulated CloudFront holds.
4
+ *
5
+ * The commands work on this map, and a test reads it back through these
6
+ * accessors. `SimCloudFront` extends this, and a caller reaches the
7
+ * Distributions on the one service object.
8
+ */
9
+ export class SimCloudFrontDistributions extends SimCloudFrontCaching {
10
+ distributions = new Map();
11
+ /**
12
+ * Get the simulated Distributions owned by this sim CloudFront service.
13
+ */
14
+ getDistributions() {
15
+ return this.distributions;
16
+ }
17
+ /**
18
+ * Get a simulated CloudFront Distribution by ID.
19
+ */
20
+ getSimDistributionById(distributionId) {
21
+ return this.distributions.get(distributionId);
22
+ }
23
+ }
@@ -0,0 +1,30 @@
1
+ import type { SimCloudFrontOriginAccessControl, SimCloudFrontOriginAccessControlId } from "./origin-access-control/sim-cf-origin-access-control.js";
2
+ import { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
3
+ import { SimCloudFrontPolicies } from "./sim-cloudfront-policies.js";
4
+ /**
5
+ * The origin access controls one simulated CloudFront holds.
6
+ *
7
+ * An Origin names one by ID, and this is where it is found. There is no
8
+ * CreateOriginAccessControl command in this simulation, so CloudFormation is
9
+ * the only thing that makes one, and these methods are how it hands one over.
10
+ * `SimCloudFront` extends this, and a caller reaches them on the one service
11
+ * object.
12
+ */
13
+ export declare class SimCloudFrontOriginAccessControls extends SimCloudFrontPolicies {
14
+ protected readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
15
+ /**
16
+ * Store a simulated origin access control.
17
+ *
18
+ * A name another origin access control already holds is refused, as
19
+ * CloudFront refuses one.
20
+ */
21
+ addOriginAccessControl(originAccessControl: SimCloudFrontOriginAccessControl): void;
22
+ /**
23
+ * Forget a simulated origin access control.
24
+ */
25
+ removeOriginAccessControl(originAccessControlId: SimCloudFrontOriginAccessControlId): void;
26
+ /**
27
+ * Get a simulated origin access control by ID.
28
+ */
29
+ getOriginAccessControlById(originAccessControlId: SimCloudFrontOriginAccessControlId | string): SimCloudFrontOriginAccessControl | undefined;
30
+ }
@@ -0,0 +1,35 @@
1
+ import { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
2
+ import { SimCloudFrontPolicies } from "./sim-cloudfront-policies.js";
3
+ /**
4
+ * The origin access controls one simulated CloudFront holds.
5
+ *
6
+ * An Origin names one by ID, and this is where it is found. There is no
7
+ * CreateOriginAccessControl command in this simulation, so CloudFormation is
8
+ * the only thing that makes one, and these methods are how it hands one over.
9
+ * `SimCloudFront` extends this, and a caller reaches them on the one service
10
+ * object.
11
+ */
12
+ export class SimCloudFrontOriginAccessControls extends SimCloudFrontPolicies {
13
+ originAccessControls = new SimCloudFrontOriginAccessControlRegistry();
14
+ /**
15
+ * Store a simulated origin access control.
16
+ *
17
+ * A name another origin access control already holds is refused, as
18
+ * CloudFront refuses one.
19
+ */
20
+ addOriginAccessControl(originAccessControl) {
21
+ this.originAccessControls.add(originAccessControl);
22
+ }
23
+ /**
24
+ * Forget a simulated origin access control.
25
+ */
26
+ removeOriginAccessControl(originAccessControlId) {
27
+ this.originAccessControls.remove(originAccessControlId);
28
+ }
29
+ /**
30
+ * Get a simulated origin access control by ID.
31
+ */
32
+ getOriginAccessControlById(originAccessControlId) {
33
+ return this.originAccessControls.byId(originAccessControlId);
34
+ }
35
+ }
@@ -0,0 +1,60 @@
1
+ import type { SimCloudFrontCachePolicy, SimCloudFrontCachePolicyId } from "./cache-policy/sim-cf-cache-policy.js";
2
+ import { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
3
+ import type { SimCloudFrontOriginRequestPolicy, SimCloudFrontOriginRequestPolicyId } from "./origin-request-policy/sim-cf-origin-request-policy.js";
4
+ import { SimCloudFrontOriginRequestPolicyRegistry } from "./origin-request-policy/sim-cf-origin-request-policy-registry.js";
5
+ import type { SimCloudFrontResponseHeadersPolicy, SimCloudFrontResponseHeadersPolicyId } from "./response-headers-policy/sim-cf-response-headers-policy.js";
6
+ import { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
7
+ /**
8
+ * The policies one simulated CloudFront holds.
9
+ *
10
+ * A cache Behavior names a response headers policy, a cache policy and an
11
+ * origin request policy by ID, and all three are stored here. None of them has
12
+ * a create command in this simulation, so CloudFormation is the only thing
13
+ * that makes one, and these methods are how it hands a policy over.
14
+ * `SimCloudFront` extends this, and a caller reaches the policies on the one
15
+ * service object.
16
+ */
17
+ export declare class SimCloudFrontPolicies {
18
+ protected readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
19
+ protected readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
20
+ protected readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
21
+ /**
22
+ * Store a simulated response headers policy. A name another policy already
23
+ * holds is refused, as CloudFront refuses one.
24
+ */
25
+ addResponseHeadersPolicy(policy: SimCloudFrontResponseHeadersPolicy): void;
26
+ /**
27
+ * Forget a simulated response headers policy.
28
+ */
29
+ removeResponseHeadersPolicy(policyId: SimCloudFrontResponseHeadersPolicyId): void;
30
+ /**
31
+ * Get a simulated response headers policy by ID.
32
+ */
33
+ getResponseHeadersPolicyById(policyId: SimCloudFrontResponseHeadersPolicyId | string): SimCloudFrontResponseHeadersPolicy | undefined;
34
+ /**
35
+ * Store a simulated cache policy. A name another policy already holds is
36
+ * refused, as CloudFront refuses one.
37
+ */
38
+ addCachePolicy(policy: SimCloudFrontCachePolicy): void;
39
+ /**
40
+ * Forget a simulated cache policy.
41
+ */
42
+ removeCachePolicy(policyId: SimCloudFrontCachePolicyId): void;
43
+ /**
44
+ * Get a simulated cache policy by ID.
45
+ */
46
+ getCachePolicyById(policyId: SimCloudFrontCachePolicyId | string): SimCloudFrontCachePolicy | undefined;
47
+ /**
48
+ * Store a simulated origin request policy. A name another policy already
49
+ * holds is refused, as CloudFront refuses one.
50
+ */
51
+ addOriginRequestPolicy(policy: SimCloudFrontOriginRequestPolicy): void;
52
+ /**
53
+ * Forget a simulated origin request policy.
54
+ */
55
+ removeOriginRequestPolicy(policyId: SimCloudFrontOriginRequestPolicyId): void;
56
+ /**
57
+ * Get a simulated origin request policy by ID.
58
+ */
59
+ getOriginRequestPolicyById(policyId: SimCloudFrontOriginRequestPolicyId | string): SimCloudFrontOriginRequestPolicy | undefined;
60
+ }
@@ -0,0 +1,75 @@
1
+ import { SimCloudFrontCachePolicyRegistry } from "./cache-policy/sim-cf-cache-policy-registry.js";
2
+ import { SimCloudFrontOriginRequestPolicyRegistry } from "./origin-request-policy/sim-cf-origin-request-policy-registry.js";
3
+ import { SimCloudFrontResponseHeadersPolicyRegistry } from "./response-headers-policy/sim-cf-response-headers-policy-registry.js";
4
+ /**
5
+ * The policies one simulated CloudFront holds.
6
+ *
7
+ * A cache Behavior names a response headers policy, a cache policy and an
8
+ * origin request policy by ID, and all three are stored here. None of them has
9
+ * a create command in this simulation, so CloudFormation is the only thing
10
+ * that makes one, and these methods are how it hands a policy over.
11
+ * `SimCloudFront` extends this, and a caller reaches the policies on the one
12
+ * service object.
13
+ */
14
+ export class SimCloudFrontPolicies {
15
+ responseHeadersPolicies = new SimCloudFrontResponseHeadersPolicyRegistry();
16
+ cachePolicies = new SimCloudFrontCachePolicyRegistry();
17
+ originRequestPolicies = new SimCloudFrontOriginRequestPolicyRegistry();
18
+ /**
19
+ * Store a simulated response headers policy. A name another policy already
20
+ * holds is refused, as CloudFront refuses one.
21
+ */
22
+ addResponseHeadersPolicy(policy) {
23
+ this.responseHeadersPolicies.add(policy);
24
+ }
25
+ /**
26
+ * Forget a simulated response headers policy.
27
+ */
28
+ removeResponseHeadersPolicy(policyId) {
29
+ this.responseHeadersPolicies.remove(policyId);
30
+ }
31
+ /**
32
+ * Get a simulated response headers policy by ID.
33
+ */
34
+ getResponseHeadersPolicyById(policyId) {
35
+ return this.responseHeadersPolicies.byId(policyId);
36
+ }
37
+ /**
38
+ * Store a simulated cache policy. A name another policy already holds is
39
+ * refused, as CloudFront refuses one.
40
+ */
41
+ addCachePolicy(policy) {
42
+ this.cachePolicies.add(policy);
43
+ }
44
+ /**
45
+ * Forget a simulated cache policy.
46
+ */
47
+ removeCachePolicy(policyId) {
48
+ this.cachePolicies.remove(policyId);
49
+ }
50
+ /**
51
+ * Get a simulated cache policy by ID.
52
+ */
53
+ getCachePolicyById(policyId) {
54
+ return this.cachePolicies.byId(policyId);
55
+ }
56
+ /**
57
+ * Store a simulated origin request policy. A name another policy already
58
+ * holds is refused, as CloudFront refuses one.
59
+ */
60
+ addOriginRequestPolicy(policy) {
61
+ this.originRequestPolicies.add(policy);
62
+ }
63
+ /**
64
+ * Forget a simulated origin request policy.
65
+ */
66
+ removeOriginRequestPolicy(policyId) {
67
+ this.originRequestPolicies.remove(policyId);
68
+ }
69
+ /**
70
+ * Get a simulated origin request policy by ID.
71
+ */
72
+ getOriginRequestPolicyById(policyId) {
73
+ return this.originRequestPolicies.byId(policyId);
74
+ }
75
+ }