@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
@@ -0,0 +1,50 @@
1
+ import { isRecord } from "../../../../util/type-guard/record.js";
2
+ import { SimCloudFrontCacheKey } from "../../cache-policy/sim-cf-cache-key.js";
3
+ import { simCfnCfPolicySection, } from "../policy/sim-cfn-cf-policy-section.js";
4
+ import { simCfnCfCookiesSpec, simCfnCfHeadersSpec, simCfnCfQueryStringsSpec, } from "./sim-cfn-cf-cache-policy-section.js";
5
+ const parametersField = "ParametersInCacheKeyAndForwardedToOrigin";
6
+ /**
7
+ * Read the `ParametersInCacheKeyAndForwardedToOrigin` of a
8
+ * `CachePolicyConfig` into the cache key a policy carries.
9
+ *
10
+ * A template leaving the whole thing out gets CloudFront's own `none` in all
11
+ * three sections, with neither compression flag set.
12
+ */
13
+ export function simCfnCfCachePolicyCacheKey(config, refuse) {
14
+ // oxlint-disable-next-line security/detect-object-injection
15
+ const parameters = config[parametersField];
16
+ if (parameters === undefined) {
17
+ return new SimCloudFrontCacheKey();
18
+ }
19
+ if (!isRecord(parameters)) {
20
+ return refuse(`${parametersField} must be an object`);
21
+ }
22
+ const cookies = simCfnCfPolicySection(parameters, simCfnCfCookiesSpec, refuse);
23
+ const headers = simCfnCfPolicySection(parameters, simCfnCfHeadersSpec, refuse);
24
+ const queries = simCfnCfPolicySection(parameters, simCfnCfQueryStringsSpec, refuse);
25
+ return new SimCloudFrontCacheKey({
26
+ cookieBehavior: cookies.behavior,
27
+ cookies: cookies.items,
28
+ headerBehavior: headers.behavior,
29
+ headers: headers.items,
30
+ queryStringBehavior: queries.behavior,
31
+ queryStrings: queries.items,
32
+ enableAcceptEncodingGzip: encodingFlag(parameters, "Gzip", refuse),
33
+ enableAcceptEncodingBrotli: encodingFlag(parameters, "Brotli", refuse),
34
+ });
35
+ }
36
+ /**
37
+ * One of the two flags that put the normalized `Accept-Encoding` header in the
38
+ * cache key. Both are off where a template says nothing.
39
+ */
40
+ function encodingFlag(parameters, encoding, refuse) {
41
+ const field = `EnableAcceptEncoding${encoding}`;
42
+ // oxlint-disable-next-line security/detect-object-injection
43
+ const value = parameters[field];
44
+ if (value === undefined) {
45
+ return false;
46
+ }
47
+ return typeof value === "boolean"
48
+ ? value
49
+ : refuse(`${parametersField} ${field} must be a boolean`);
50
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The three sections of a cache key, each with the fields CloudFormation
3
+ * names it by and the behaviours CloudFront offers for it.
4
+ *
5
+ * An origin request policy writes the same three sections under the same field
6
+ * names, and `simCfnCfPolicySection` reads either kind from a spec like these.
7
+ */
8
+ export declare const simCfnCfCookiesSpec: {
9
+ readonly section: "CookiesConfig";
10
+ readonly behaviorField: "CookieBehavior";
11
+ readonly itemsField: "Cookies";
12
+ readonly behaviors: readonly ["none", "whitelist", "allExcept", "all"];
13
+ readonly defaultBehavior: "none";
14
+ };
15
+ export declare const simCfnCfHeadersSpec: {
16
+ readonly section: "HeadersConfig";
17
+ readonly behaviorField: "HeaderBehavior";
18
+ readonly itemsField: "Headers";
19
+ readonly behaviors: readonly ["none", "whitelist"];
20
+ readonly defaultBehavior: "none";
21
+ };
22
+ export declare const simCfnCfQueryStringsSpec: {
23
+ readonly section: "QueryStringsConfig";
24
+ readonly behaviorField: "QueryStringBehavior";
25
+ readonly itemsField: "QueryStrings";
26
+ readonly behaviors: readonly ["none", "whitelist", "allExcept", "all"];
27
+ readonly defaultBehavior: "none";
28
+ };
@@ -0,0 +1,29 @@
1
+ import { simCfCacheKeyCookieBehaviors, simCfCacheKeyHeaderBehaviors, simCfCacheKeyQueryStringBehaviors, } from "../../cache-policy/sim-cf-cache-key.js";
2
+ /**
3
+ * The three sections of a cache key, each with the fields CloudFormation
4
+ * names it by and the behaviours CloudFront offers for it.
5
+ *
6
+ * An origin request policy writes the same three sections under the same field
7
+ * names, and `simCfnCfPolicySection` reads either kind from a spec like these.
8
+ */
9
+ export const simCfnCfCookiesSpec = {
10
+ section: "CookiesConfig",
11
+ behaviorField: "CookieBehavior",
12
+ itemsField: "Cookies",
13
+ behaviors: simCfCacheKeyCookieBehaviors,
14
+ defaultBehavior: "none",
15
+ };
16
+ export const simCfnCfHeadersSpec = {
17
+ section: "HeadersConfig",
18
+ behaviorField: "HeaderBehavior",
19
+ itemsField: "Headers",
20
+ behaviors: simCfCacheKeyHeaderBehaviors,
21
+ defaultBehavior: "none",
22
+ };
23
+ export const simCfnCfQueryStringsSpec = {
24
+ section: "QueryStringsConfig",
25
+ behaviorField: "QueryStringBehavior",
26
+ itemsField: "QueryStrings",
27
+ behaviors: simCfCacheKeyQueryStringBehaviors,
28
+ defaultBehavior: "none",
29
+ };
@@ -0,0 +1,16 @@
1
+ import type { SimCloudFront } from "../../sim-cloudfront.js";
2
+ /**
3
+ * One kind of policy a Behavior names, in the terms a template writes it in,
4
+ * with the way this simulation is asked whether it holds one and what the
5
+ * Behavior loses along with it.
6
+ */
7
+ export interface BehaviorPolicyKind {
8
+ readonly property: "ResponseHeadersPolicyId" | "CachePolicyId" | "OriginRequestPolicyId";
9
+ readonly name: string;
10
+ readonly loses: string;
11
+ readonly held: (cloudFront: SimCloudFront, policyId: string) => boolean;
12
+ }
13
+ /**
14
+ * The three policies a Behavior names outside itself.
15
+ */
16
+ export declare const behaviorPolicyKinds: readonly BehaviorPolicyKind[];
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The three policies a Behavior names outside itself.
3
+ */
4
+ export const behaviorPolicyKinds = [
5
+ {
6
+ property: "ResponseHeadersPolicyId",
7
+ name: "response headers policy",
8
+ loses: "serves every response without the headers that policy would have set",
9
+ held: (cloudFront, policyId) => cloudFront.getResponseHeadersPolicyById(policyId) !== undefined,
10
+ },
11
+ {
12
+ property: "CachePolicyId",
13
+ name: "cache policy",
14
+ loses: "reports no CachePolicyId",
15
+ held: (cloudFront, policyId) => cloudFront.getCachePolicyById(policyId) !== undefined,
16
+ },
17
+ {
18
+ property: "OriginRequestPolicyId",
19
+ name: "origin request policy",
20
+ loses: "reports no OriginRequestPolicyId",
21
+ held: (cloudFront, policyId) => cloudFront.getOriginRequestPolicyById(policyId) !== undefined,
22
+ },
23
+ ];
@@ -2,8 +2,9 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
2
2
  import type { SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.command.js";
3
3
  import type { SimCloudFront } from "../../sim-cloudfront.js";
4
4
  /**
5
- * The DistributionConfig to deploy, without a `ResponseHeadersPolicyId` naming
6
- * a response headers policy this simulation does not hold.
5
+ * The DistributionConfig to deploy, without a policy ID naming a response
6
+ * headers policy, a cache policy or an origin request policy this simulation
7
+ * does not hold.
7
8
  *
8
9
  * `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
9
10
  * a Distribution deployed from a template is the one place that refusal costs
@@ -14,10 +15,11 @@ import type { SimCloudFront } from "../../sim-cloudfront.js";
14
15
  * make with it. That is the same reason an absent `WebACLId` is left out here.
15
16
  *
16
17
  * 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.
18
+ * `stack.ignoredProperties`. The Behavior deploys, and a test that cares reads
19
+ * the record. CloudFront's managed policies count as held, so a Behavior
20
+ * naming one keeps it.
19
21
  *
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
+ * One Behavior losing a policy leaves the others holding theirs, and a
23
+ * Behavior losing one kind of policy keeps the others.
22
24
  */
23
- export declare function simCfnCfDistroWithHeldResponseHeadersPolicies(resource: SimCfnResource, distributionConfig: SimCloudFrontDistributionConfig, cloudFront: SimCloudFront): SimCloudFrontDistributionConfig;
25
+ export declare function simCfnCfDistroWithHeldBehaviorPolicies(resource: SimCfnResource, distributionConfig: SimCloudFrontDistributionConfig, cloudFront: SimCloudFront): SimCloudFrontDistributionConfig;
@@ -1,39 +1,13 @@
1
1
  import { normalizeSimCfList } from "../../command/create-distribution/sim-cf-normalize-list.js";
2
+ import { SimCfnCfDistroPolicyDrops } from "./sim-cfn-cf-distro-policy-drops.js";
2
3
  /**
3
4
  * The path a dropped policy on the default Behavior is recorded under.
4
5
  */
5
6
  const defaultBehaviorPath = "DistributionConfig.DefaultCacheBehavior";
6
7
  /**
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.
8
+ * The DistributionConfig to deploy, without a policy ID naming a response
9
+ * headers policy, a cache policy or an origin request policy this simulation
10
+ * does not hold.
37
11
  *
38
12
  * `CreateDistribution` refuses such an ID, as real CloudFront refuses one, and
39
13
  * a Distribution deployed from a template is the one place that refusal costs
@@ -44,13 +18,14 @@ class SimCfnCfDistroPolicyDrops {
44
18
  * make with it. That is the same reason an absent `WebACLId` is left out here.
45
19
  *
46
20
  * 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.
21
+ * `stack.ignoredProperties`. The Behavior deploys, and a test that cares reads
22
+ * the record. CloudFront's managed policies count as held, so a Behavior
23
+ * naming one keeps it.
49
24
  *
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.
25
+ * One Behavior losing a policy leaves the others holding theirs, and a
26
+ * Behavior losing one kind of policy keeps the others.
52
27
  */
53
- export function simCfnCfDistroWithHeldResponseHeadersPolicies(resource, distributionConfig, cloudFront) {
28
+ export function simCfnCfDistroWithHeldBehaviorPolicies(resource, distributionConfig, cloudFront) {
54
29
  const drops = new SimCfnCfDistroPolicyDrops(resource, cloudFront);
55
30
  const defaultCacheBehavior = distroDefaultBehavior(drops, distributionConfig);
56
31
  const cacheBehaviors = distroCacheBehaviors(drops, distributionConfig);
@@ -71,7 +46,7 @@ function distroDefaultBehavior(drops, distributionConfig) {
71
46
  if (behavior === undefined) {
72
47
  return undefined;
73
48
  }
74
- return drops.heldPolicy(behavior, defaultBehaviorPath);
49
+ return drops.heldPolicies(behavior, defaultBehaviorPath);
75
50
  }
76
51
  /**
77
52
  * Every path-based cache Behavior, each without a policy that is not here.
@@ -88,6 +63,6 @@ function distroCacheBehaviors(drops, distributionConfig) {
88
63
  }
89
64
  return {
90
65
  ...behaviors,
91
- Items: items.map((behavior, index) => drops.heldPolicy(behavior, `DistributionConfig.CacheBehaviors.${behavior.PathPattern ?? String(index)}`)),
66
+ Items: items.map((behavior, index) => drops.heldPolicies(behavior, `DistributionConfig.CacheBehaviors.${behavior.PathPattern ?? String(index)}`)),
92
67
  };
93
68
  }
@@ -10,11 +10,12 @@ interface SimCfnCfDistroCreatorProperties {
10
10
  *
11
11
  * A `WebACLId` naming a web ACL this simulation does not hold is left out and
12
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.
13
+ * `ResponseHeadersPolicyId`, `CachePolicyId` or `OriginRequestPolicyId`
14
+ * naming a policy it does not hold. CloudFront has no Resource of its own for
15
+ * any of them, so all of them live on the Distribution itself, and refusing
16
+ * one would take the Distribution down over something that was never the point
17
+ * of the template. The site a local dev server and a suite of tests make
18
+ * requests to has to survive that.
18
19
  */
19
20
  export declare class SimCfnCfDistroCreator {
20
21
  private readonly cloudFront;
@@ -1,7 +1,7 @@
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
+ import { simCfnCfDistroWithHeldBehaviorPolicies } from "./sim-cfn-cf-distro-behavior-policies.js";
5
5
  import { simCfnCfDistroWithoutAbsentWebAcl } from "./sim-cfn-cf-distro-web-acl.js";
6
6
  import { simCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
7
7
  /**
@@ -9,11 +9,12 @@ import { simCfnResourceCallerOptions } from "../../../cloudformation/resource/ca
9
9
  *
10
10
  * A `WebACLId` naming a web ACL this simulation does not hold is left out and
11
11
  * recorded, and so are a Lambda@Edge association it cannot run and a
12
- * `ResponseHeadersPolicyId` naming a policy it does not hold. CloudFront has no
13
- * Resource of its own for any of the three, so all of them live on the
14
- * Distribution itself, and refusing one would take the Distribution down over
15
- * something that was never the point of the template. The site a local dev
16
- * server and a suite of tests make requests to has to survive that.
12
+ * `ResponseHeadersPolicyId`, `CachePolicyId` or `OriginRequestPolicyId`
13
+ * naming a policy it does not hold. CloudFront has no Resource of its own for
14
+ * any of them, so all of them live on the Distribution itself, and refusing
15
+ * one would take the Distribution down over something that was never the point
16
+ * of the template. The site a local dev server and a suite of tests make
17
+ * requests to has to survive that.
17
18
  */
18
19
  export class SimCfnCfDistroCreator {
19
20
  cloudFront;
@@ -49,5 +50,5 @@ export class SimCfnCfDistroCreator {
49
50
  * act on, each recorded on the Resource.
50
51
  */
51
52
  function deployableConfig(resource, distributionConfig, simAws, cloudFront) {
52
- return simCfnCfDistroWithoutAbsentWebAcl(resource, simCfnCfDistroWithHeldResponseHeadersPolicies(resource, simCfnCfDistroWithRunnableEdgeAssociations(resource, distributionConfig, simAws), cloudFront), simAws);
53
+ return simCfnCfDistroWithoutAbsentWebAcl(resource, simCfnCfDistroWithHeldBehaviorPolicies(resource, simCfnCfDistroWithRunnableEdgeAssociations(resource, distributionConfig, simAws), cloudFront), simAws);
53
54
  }
@@ -0,0 +1,23 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCloudFrontCacheBehaviorConfig } from "../../command/create-distribution/create-distribution.command.js";
3
+ import type { SimCloudFront } from "../../sim-cloudfront.js";
4
+ /**
5
+ * Takes a policy ID naming a policy this simulation does not hold off the
6
+ * Behavior that named it, and records each one on the Resource.
7
+ */
8
+ export declare class SimCfnCfDistroPolicyDrops {
9
+ private readonly resource;
10
+ private readonly cloudFront;
11
+ count: number;
12
+ constructor(resource: SimCfnResource, cloudFront: SimCloudFront);
13
+ /**
14
+ * One Behavior, keeping the policies that are here and dropping those that
15
+ * are not.
16
+ */
17
+ heldPolicies(behavior: SimCloudFrontCacheBehaviorConfig, behaviorPath: string): SimCloudFrontCacheBehaviorConfig;
18
+ /**
19
+ * One policy property of one Behavior, dropped where the ID names nothing
20
+ * this simulation holds.
21
+ */
22
+ private heldPolicy;
23
+ }
@@ -0,0 +1,35 @@
1
+ import { behaviorPolicyKinds, } from "./sim-cfn-cf-behavior-policy-kinds.js";
2
+ /**
3
+ * Takes a policy ID naming a policy this simulation does not hold off the
4
+ * Behavior that named it, and records each one on the Resource.
5
+ */
6
+ export class SimCfnCfDistroPolicyDrops {
7
+ resource;
8
+ cloudFront;
9
+ count = 0;
10
+ constructor(resource, cloudFront) {
11
+ this.resource = resource;
12
+ this.cloudFront = cloudFront;
13
+ }
14
+ /**
15
+ * One Behavior, keeping the policies that are here and dropping those that
16
+ * are not.
17
+ */
18
+ heldPolicies(behavior, behaviorPath) {
19
+ return behaviorPolicyKinds.reduce((held, kind) => this.heldPolicy(held, behaviorPath, kind), behavior);
20
+ }
21
+ /**
22
+ * One policy property of one Behavior, dropped where the ID names nothing
23
+ * this simulation holds.
24
+ */
25
+ heldPolicy(behavior, behaviorPath, kind) {
26
+ const policyId = behavior[kind.property];
27
+ if (policyId === undefined || kind.held(this.cloudFront, policyId)) {
28
+ return behavior;
29
+ }
30
+ this.count += 1;
31
+ this.resource.ignoreProperty(`${behaviorPath}.${kind.property}`, `${kind.name} ${policyId} is not held by this simulation, so the ` +
32
+ `Behavior is deployed without one and ${kind.loses}`);
33
+ return { ...behavior, [kind.property]: undefined };
34
+ }
35
+ }
@@ -0,0 +1,28 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import { SimCloudFrontOriginRequestPolicy } from "../../origin-request-policy/sim-cf-origin-request-policy.js";
4
+ /**
5
+ * Reads an AWS::CloudFront::OriginRequestPolicy Resource into a simulated
6
+ * policy.
7
+ *
8
+ * The policy carries its `Name`, its `Comment` and the three sections that say
9
+ * what it forwards to the Origin. A section a template left out falls back to
10
+ * CloudFront's `none`. A Resource missing its `Name` is refused, as
11
+ * CloudFormation refuses one.
12
+ */
13
+ export declare class SimCfnCfOriginRequestPolicyConfig {
14
+ private readonly resource;
15
+ private readonly properties;
16
+ /**
17
+ * Refuse this Resource, saying which part of it could not be read.
18
+ */
19
+ private readonly refuse;
20
+ constructor(properties: {
21
+ readonly resource: SimCfnResource;
22
+ readonly properties: SimCfnTemplateValueRecord;
23
+ });
24
+ /**
25
+ * Build the simulated policy this Resource describes.
26
+ */
27
+ build(): SimCloudFrontOriginRequestPolicy;
28
+ }
@@ -0,0 +1,46 @@
1
+ import { isRecord } from "../../../../util/type-guard/record.js";
2
+ import { SimCloudFrontOriginRequestPolicy } from "../../origin-request-policy/sim-cf-origin-request-policy.js";
3
+ import { simCfnCfOriginRequestForwarding } from "./sim-cfn-cf-orp-forwarding.js";
4
+ /**
5
+ * Reads an AWS::CloudFront::OriginRequestPolicy Resource into a simulated
6
+ * policy.
7
+ *
8
+ * The policy carries its `Name`, its `Comment` and the three sections that say
9
+ * what it forwards to the Origin. A section a template left out falls back to
10
+ * CloudFront's `none`. A Resource missing its `Name` is refused, as
11
+ * CloudFormation refuses one.
12
+ */
13
+ export class SimCfnCfOriginRequestPolicyConfig {
14
+ resource;
15
+ properties;
16
+ /**
17
+ * Refuse this Resource, saying which part of it could not be read.
18
+ */
19
+ refuse = (detail) => {
20
+ throw new Error(`Invalid AWS::CloudFront::OriginRequestPolicy ${this.resource.logicalId}: ${detail}`);
21
+ };
22
+ constructor(properties) {
23
+ this.resource = properties.resource;
24
+ this.properties = properties.properties;
25
+ }
26
+ /**
27
+ * Build the simulated policy this Resource describes.
28
+ */
29
+ build() {
30
+ const { refuse } = this;
31
+ const config = this.properties["OriginRequestPolicyConfig"];
32
+ if (!isRecord(config)) {
33
+ return refuse("OriginRequestPolicyConfig must be an object");
34
+ }
35
+ const name = config["Name"];
36
+ if (typeof name !== "string") {
37
+ return refuse("OriginRequestPolicyConfig needs a string Name");
38
+ }
39
+ const comment = config["Comment"];
40
+ return new SimCloudFrontOriginRequestPolicy({
41
+ name,
42
+ ...(typeof comment === "string" && { comment }),
43
+ forwarding: simCfnCfOriginRequestForwarding(config, refuse),
44
+ });
45
+ }
46
+ }
@@ -0,0 +1,24 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimCloudFront } from "../../sim-cloudfront.js";
4
+ import type { SimCloudFrontOriginRequestPolicy } from "../../origin-request-policy/sim-cf-origin-request-policy.js";
5
+ interface SimCfnCfOriginRequestPolicyCreatorProperties {
6
+ readonly cloudFront: SimCloudFront;
7
+ }
8
+ /**
9
+ * Creates simulated origin request policies from
10
+ * AWS::CloudFront::OriginRequestPolicy Resources.
11
+ */
12
+ export declare class SimCfnCfOriginRequestPolicyCreator {
13
+ private readonly cloudFront;
14
+ constructor(properties: SimCfnCfOriginRequestPolicyCreatorProperties);
15
+ /**
16
+ * Create and store the policy one Resource describes.
17
+ */
18
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): SimCloudFrontOriginRequestPolicy;
19
+ /**
20
+ * Remove a policy created from a Resource.
21
+ */
22
+ delete(resource: SimCfnResource): void;
23
+ }
24
+ export {};
@@ -0,0 +1,32 @@
1
+ import { SimCfnCfOriginRequestPolicyConfig } from "./sim-cfn-cf-orp-config.js";
2
+ /**
3
+ * Creates simulated origin request policies from
4
+ * AWS::CloudFront::OriginRequestPolicy Resources.
5
+ */
6
+ export class SimCfnCfOriginRequestPolicyCreator {
7
+ cloudFront;
8
+ constructor(properties) {
9
+ this.cloudFront = properties.cloudFront;
10
+ }
11
+ /**
12
+ * Create and store the policy one Resource describes.
13
+ */
14
+ create(resource, properties) {
15
+ const policy = new SimCfnCfOriginRequestPolicyConfig({
16
+ resource,
17
+ properties,
18
+ }).build();
19
+ this.cloudFront.addOriginRequestPolicy(policy);
20
+ return policy;
21
+ }
22
+ /**
23
+ * Remove a policy created from a Resource.
24
+ */
25
+ delete(resource) {
26
+ const policy = resource.simResource;
27
+ if (policy === undefined) {
28
+ return;
29
+ }
30
+ this.cloudFront.removeOriginRequestPolicy(policy.id);
31
+ }
32
+ }
@@ -0,0 +1,10 @@
1
+ import { SimCfOriginRequestForwarding } from "../../origin-request-policy/sim-cf-origin-request-forwarding.js";
2
+ import { type SimCfnCfPolicyRefuse } from "../policy/sim-cfn-cf-policy-section.js";
3
+ /**
4
+ * Read the three sections of an `OriginRequestPolicyConfig` into what the
5
+ * policy forwards.
6
+ *
7
+ * A template leaving a section out gets CloudFront's own `none`. A policy that
8
+ * says nothing forwards nothing.
9
+ */
10
+ export declare function simCfnCfOriginRequestForwarding(config: Record<string, unknown>, refuse: SimCfnCfPolicyRefuse): SimCfOriginRequestForwarding;
@@ -0,0 +1,51 @@
1
+ import { simCfForwardedCookieBehaviors, simCfForwardedHeaderBehaviors, simCfForwardedQueryStringBehaviors, SimCfOriginRequestForwarding, } from "../../origin-request-policy/sim-cf-origin-request-forwarding.js";
2
+ import { simCfnCfPolicySection, } from "../policy/sim-cfn-cf-policy-section.js";
3
+ /**
4
+ * The three sections of an origin request policy, each with the fields
5
+ * CloudFormation names it by and the behaviours CloudFront offers for it.
6
+ *
7
+ * The fields are the ones a cache policy writes. The header section is where
8
+ * the two kinds part: an origin request policy can forward every header the
9
+ * viewer sent, which is no use as a cache key.
10
+ */
11
+ const cookiesSpec = {
12
+ section: "CookiesConfig",
13
+ behaviorField: "CookieBehavior",
14
+ itemsField: "Cookies",
15
+ behaviors: simCfForwardedCookieBehaviors,
16
+ defaultBehavior: "none",
17
+ };
18
+ const headersSpec = {
19
+ section: "HeadersConfig",
20
+ behaviorField: "HeaderBehavior",
21
+ itemsField: "Headers",
22
+ behaviors: simCfForwardedHeaderBehaviors,
23
+ defaultBehavior: "none",
24
+ };
25
+ const queryStringsSpec = {
26
+ section: "QueryStringsConfig",
27
+ behaviorField: "QueryStringBehavior",
28
+ itemsField: "QueryStrings",
29
+ behaviors: simCfForwardedQueryStringBehaviors,
30
+ defaultBehavior: "none",
31
+ };
32
+ /**
33
+ * Read the three sections of an `OriginRequestPolicyConfig` into what the
34
+ * policy forwards.
35
+ *
36
+ * A template leaving a section out gets CloudFront's own `none`. A policy that
37
+ * says nothing forwards nothing.
38
+ */
39
+ export function simCfnCfOriginRequestForwarding(config, refuse) {
40
+ const cookies = simCfnCfPolicySection(config, cookiesSpec, refuse);
41
+ const headers = simCfnCfPolicySection(config, headersSpec, refuse);
42
+ const queries = simCfnCfPolicySection(config, queryStringsSpec, refuse);
43
+ return new SimCfOriginRequestForwarding({
44
+ cookieBehavior: cookies.behavior,
45
+ cookies: cookies.items,
46
+ headerBehavior: headers.behavior,
47
+ headers: headers.items,
48
+ queryStringBehavior: queries.behavior,
49
+ queryStrings: queries.items,
50
+ });
51
+ }
@@ -0,0 +1,22 @@
1
+ export type SimCfnCfPolicyRefuse = (detail: string) => never;
2
+ export interface SimCfnCfPolicySectionSpec<TBehavior extends string> {
3
+ readonly section: string;
4
+ readonly behaviorField: string;
5
+ readonly itemsField: string;
6
+ readonly behaviors: readonly TBehavior[];
7
+ readonly defaultBehavior: TBehavior;
8
+ }
9
+ /**
10
+ * One `<name>Config` section of a cache policy or an origin request policy, as
11
+ * the behaviour it names and the names that behaviour applies to.
12
+ *
13
+ * The two policy kinds write these sections the same way, down to the field
14
+ * names, and differ only in the behaviours each section offers. An absent
15
+ * section is CloudFront's `none` with an empty list, and so is a section that
16
+ * named no behaviour of its own. A behaviour outside the set CloudFront offers
17
+ * for the section is refused.
18
+ */
19
+ export declare function simCfnCfPolicySection<TBehavior extends string>(parameters: Record<string, unknown>, spec: SimCfnCfPolicySectionSpec<TBehavior>, refuse: SimCfnCfPolicyRefuse): {
20
+ behavior: TBehavior;
21
+ items: readonly string[];
22
+ };