@kensio/yulin 1.10.5 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/config/lint/cff-js2-lint.fixture.d.ts.map +1 -1
  2. package/dist/config/lint/cff-js2-lint.fixture.js +23 -0
  3. package/dist/config/lint/cff-js2-lint.fixture.js.map +1 -1
  4. package/dist/config/lint/cff-js2-restriction.d.ts +5 -5
  5. package/dist/config/lint/cff-js2-restriction.d.ts.map +1 -1
  6. package/dist/config/lint/cff-js2-restriction.js +11 -5
  7. package/dist/config/lint/cff-js2-restriction.js.map +1 -1
  8. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  9. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  10. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  11. package/dist/service/aws/sim-aws-account-region-scope.d.ts +9 -0
  12. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.js +10 -0
  14. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  15. package/dist/service/aws/sim-aws-account.d.ts +5 -0
  16. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  17. package/dist/service/aws/sim-aws-account.js +6 -0
  18. package/dist/service/aws/sim-aws-account.js.map +1 -1
  19. package/dist/service/aws/sim-aws-region.d.ts +5 -0
  20. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  21. package/dist/service/aws/sim-aws-region.js +6 -0
  22. package/dist/service/aws/sim-aws-region.js.map +1 -1
  23. package/dist/service/aws/sim-aws-service-accessors.d.ts +5 -0
  24. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  25. package/dist/service/aws/sim-aws-service-accessors.js +6 -0
  26. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  27. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
  28. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  29. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
  30. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-kvs-cfn.d.ts +28 -0
  31. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-kvs-cfn.d.ts.map +1 -0
  32. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-kvs-cfn.js +41 -0
  33. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-kvs-cfn.js.map +1 -0
  34. package/dist/service/cloudfront/cff/function-code-input/cff-cloudfront-import.d.ts +21 -0
  35. package/dist/service/cloudfront/cff/function-code-input/cff-cloudfront-import.d.ts.map +1 -0
  36. package/dist/service/cloudfront/cff/function-code-input/cff-cloudfront-import.js +30 -0
  37. package/dist/service/cloudfront/cff/function-code-input/cff-cloudfront-import.js.map +1 -0
  38. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +3 -1
  39. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts.map +1 -1
  40. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +5 -17
  41. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js.map +1 -1
  42. package/dist/service/cloudfront/cff/function-code-input/cff-vm-source-handler.d.ts +13 -0
  43. package/dist/service/cloudfront/cff/function-code-input/cff-vm-source-handler.d.ts.map +1 -0
  44. package/dist/service/cloudfront/cff/function-code-input/cff-vm-source-handler.js +28 -0
  45. package/dist/service/cloudfront/cff/function-code-input/cff-vm-source-handler.js.map +1 -0
  46. package/dist/service/cloudfront/cff/kvs/cff-cloudfront-module.d.ts +28 -0
  47. package/dist/service/cloudfront/cff/kvs/cff-cloudfront-module.d.ts.map +1 -0
  48. package/dist/service/cloudfront/cff/kvs/cff-cloudfront-module.js +30 -0
  49. package/dist/service/cloudfront/cff/kvs/cff-cloudfront-module.js.map +1 -0
  50. package/dist/service/cloudfront/cff/kvs/cff-kvs-handle.d.ts +46 -0
  51. package/dist/service/cloudfront/cff/kvs/cff-kvs-handle.d.ts.map +1 -0
  52. package/dist/service/cloudfront/cff/kvs/cff-kvs-handle.js +60 -0
  53. package/dist/service/cloudfront/cff/kvs/cff-kvs-handle.js.map +1 -0
  54. package/dist/service/cloudfront/cff/kvs/sim-cff-cloudfront-global.d.ts +43 -0
  55. package/dist/service/cloudfront/cff/kvs/sim-cff-cloudfront-global.d.ts.map +1 -0
  56. package/dist/service/cloudfront/cff/kvs/sim-cff-cloudfront-global.js +66 -0
  57. package/dist/service/cloudfront/cff/kvs/sim-cff-cloudfront-global.js.map +1 -0
  58. package/dist/service/cloudfront/cff/kvs/sim-cff-key-value-store-users.d.ts +20 -0
  59. package/dist/service/cloudfront/cff/kvs/sim-cff-key-value-store-users.d.ts.map +1 -0
  60. package/dist/service/cloudfront/cff/kvs/sim-cff-key-value-store-users.js +25 -0
  61. package/dist/service/cloudfront/cff/kvs/sim-cff-key-value-store-users.js.map +1 -0
  62. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +23 -2
  63. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -1
  64. package/dist/service/cloudfront/cff/sim-cloudfront-function.js +30 -4
  65. package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -1
  66. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-function-config.d.ts +6 -0
  67. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-function-config.d.ts.map +1 -1
  68. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-function-config.js +43 -0
  69. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-function-config.js.map +1 -1
  70. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-config.d.ts +38 -0
  71. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-config.d.ts.map +1 -0
  72. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-config.js +49 -0
  73. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-config.js.map +1 -0
  74. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +33 -0
  75. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts.map +1 -0
  76. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +54 -0
  77. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js.map +1 -0
  78. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  79. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  80. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +12 -0
  81. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  82. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +6 -0
  83. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  84. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map +1 -1
  85. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js +8 -6
  86. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map +1 -1
  87. package/dist/service/cloudfront/command/create-function/create-function-kvs-association.d.ts +24 -0
  88. package/dist/service/cloudfront/command/create-function/create-function-kvs-association.d.ts.map +1 -0
  89. package/dist/service/cloudfront/command/create-function/create-function-kvs-association.js +50 -0
  90. package/dist/service/cloudfront/command/create-function/create-function-kvs-association.js.map +1 -0
  91. package/dist/service/cloudfront/command/create-function/create-function.command.d.ts +6 -0
  92. package/dist/service/cloudfront/command/create-function/create-function.command.d.ts.map +1 -1
  93. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +3 -0
  94. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
  95. package/dist/service/cloudfront/command/create-function/create-function.handler.js +11 -2
  96. package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
  97. package/dist/service/cloudfront/command/key-value-store/sim-cf-create-key-value-store.d.ts +24 -0
  98. package/dist/service/cloudfront/command/key-value-store/sim-cf-create-key-value-store.d.ts.map +1 -0
  99. package/dist/service/cloudfront/command/key-value-store/sim-cf-create-key-value-store.js +43 -0
  100. package/dist/service/cloudfront/command/key-value-store/sim-cf-create-key-value-store.js.map +1 -0
  101. package/dist/service/cloudfront/command/key-value-store/sim-cf-delete-key-value-store.d.ts +26 -0
  102. package/dist/service/cloudfront/command/key-value-store/sim-cf-delete-key-value-store.d.ts.map +1 -0
  103. package/dist/service/cloudfront/command/key-value-store/sim-cf-delete-key-value-store.js +40 -0
  104. package/dist/service/cloudfront/command/key-value-store/sim-cf-delete-key-value-store.js.map +1 -0
  105. package/dist/service/cloudfront/command/key-value-store/sim-cf-describe-key-value-store.d.ts +24 -0
  106. package/dist/service/cloudfront/command/key-value-store/sim-cf-describe-key-value-store.d.ts.map +1 -0
  107. package/dist/service/cloudfront/command/key-value-store/sim-cf-describe-key-value-store.js +32 -0
  108. package/dist/service/cloudfront/command/key-value-store/sim-cf-describe-key-value-store.js.map +1 -0
  109. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-command.types.d.ts +109 -0
  110. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-command.types.d.ts.map +1 -0
  111. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-command.types.js +12 -0
  112. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-command.types.js.map +1 -0
  113. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-summary.d.ts +10 -0
  114. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-summary.d.ts.map +1 -0
  115. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-summary.js +17 -0
  116. package/dist/service/cloudfront/command/key-value-store/sim-cf-key-value-store-summary.js.map +1 -0
  117. package/dist/service/cloudfront/command/key-value-store/sim-cf-list-key-value-stores.d.ts +20 -0
  118. package/dist/service/cloudfront/command/key-value-store/sim-cf-list-key-value-stores.d.ts.map +1 -0
  119. package/dist/service/cloudfront/command/key-value-store/sim-cf-list-key-value-stores.js +34 -0
  120. package/dist/service/cloudfront/command/key-value-store/sim-cf-list-key-value-stores.js.map +1 -0
  121. package/dist/service/cloudfront/command/key-value-store/sim-cf-update-key-value-store.d.ts +24 -0
  122. package/dist/service/cloudfront/command/key-value-store/sim-cf-update-key-value-store.d.ts.map +1 -0
  123. package/dist/service/cloudfront/command/key-value-store/sim-cf-update-key-value-store.js +35 -0
  124. package/dist/service/cloudfront/command/key-value-store/sim-cf-update-key-value-store.js.map +1 -0
  125. package/dist/service/cloudfront/command/key-value-store-data/sim-cf-key-value-store-data-command.types.d.ts +116 -0
  126. package/dist/service/cloudfront/command/key-value-store-data/sim-cf-key-value-store-data-command.types.d.ts.map +1 -0
  127. package/dist/service/cloudfront/command/key-value-store-data/sim-cf-key-value-store-data-command.types.js +12 -0
  128. package/dist/service/cloudfront/command/key-value-store-data/sim-cf-key-value-store-data-command.types.js.map +1 -0
  129. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-batch.d.ts +22 -0
  130. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-batch.d.ts.map +1 -0
  131. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-batch.js +26 -0
  132. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-batch.js.map +1 -0
  133. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-reads.d.ts +37 -0
  134. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-reads.d.ts.map +1 -0
  135. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-reads.js +67 -0
  136. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-reads.js.map +1 -0
  137. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-writes.d.ts +43 -0
  138. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-writes.d.ts.map +1 -0
  139. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-writes.js +81 -0
  140. package/dist/service/cloudfront/command/key-value-store-data/sim-kvs-key-writes.js.map +1 -0
  141. package/dist/service/cloudfront/command/sim-cf-list-quantity.d.ts +20 -0
  142. package/dist/service/cloudfront/command/sim-cf-list-quantity.d.ts.map +1 -0
  143. package/dist/service/cloudfront/command/sim-cf-list-quantity.js +36 -0
  144. package/dist/service/cloudfront/command/sim-cf-list-quantity.js.map +1 -0
  145. package/dist/service/cloudfront/controller/cff/sim-cff-applicator.d.ts +2 -2
  146. package/dist/service/cloudfront/controller/cff/sim-cff-applicator.d.ts.map +1 -1
  147. package/dist/service/cloudfront/controller/cff/sim-cff-applicator.js +6 -6
  148. package/dist/service/cloudfront/controller/cff/sim-cff-applicator.js.map +1 -1
  149. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +2 -2
  150. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
  151. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts.map +1 -1
  152. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +5 -3
  153. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js.map +1 -1
  154. package/dist/service/cloudfront/error/sim-cf-key-value-store.error.d.ts +88 -0
  155. package/dist/service/cloudfront/error/sim-cf-key-value-store.error.d.ts.map +1 -0
  156. package/dist/service/cloudfront/error/sim-cf-key-value-store.error.js +104 -0
  157. package/dist/service/cloudfront/error/sim-cf-key-value-store.error.js.map +1 -0
  158. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +10 -0
  159. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  160. package/dist/service/cloudfront/error/sim-cloudfront.error.js +12 -0
  161. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  162. package/dist/service/cloudfront/globals.d.ts +12 -0
  163. package/dist/service/cloudfront/globals.d.ts.map +1 -1
  164. package/dist/service/cloudfront/globals.js.map +1 -1
  165. package/dist/service/cloudfront/index.d.ts +3 -0
  166. package/dist/service/cloudfront/index.d.ts.map +1 -1
  167. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.d.ts +57 -0
  168. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.d.ts.map +1 -0
  169. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +72 -0
  170. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js.map +1 -0
  171. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.d.ts +51 -0
  172. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.d.ts.map +1 -0
  173. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.js +65 -0
  174. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.js.map +1 -0
  175. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-keys.d.ts +72 -0
  176. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-keys.d.ts.map +1 -0
  177. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-keys.js +94 -0
  178. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-keys.js.map +1 -0
  179. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-registry.d.ts +59 -0
  180. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-registry.d.ts.map +1 -0
  181. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-registry.js +92 -0
  182. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-registry.js.map +1 -0
  183. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-users.d.ts +24 -0
  184. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-users.d.ts.map +1 -0
  185. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-users.js +7 -0
  186. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-users.js.map +1 -0
  187. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.d.ts +141 -0
  188. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.d.ts.map +1 -0
  189. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.js +180 -0
  190. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.js.map +1 -0
  191. package/dist/service/cloudfront/sdk/sim-cf-key-value-store-sdk-command-router.d.ts +24 -0
  192. package/dist/service/cloudfront/sdk/sim-cf-key-value-store-sdk-command-router.d.ts.map +1 -0
  193. package/dist/service/cloudfront/sdk/sim-cf-key-value-store-sdk-command-router.js +54 -0
  194. package/dist/service/cloudfront/sdk/sim-cf-key-value-store-sdk-command-router.js.map +1 -0
  195. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.d.ts.map +1 -1
  196. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +30 -0
  197. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js.map +1 -1
  198. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +10 -0
  199. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts.map +1 -1
  200. package/dist/service/cloudfront/sim-cloudfront-commands.js +25 -0
  201. package/dist/service/cloudfront/sim-cloudfront-commands.js.map +1 -1
  202. package/dist/service/cloudfront/sim-cloudfront-key-value-store.d.ts +58 -0
  203. package/dist/service/cloudfront/sim-cloudfront-key-value-store.d.ts.map +1 -0
  204. package/dist/service/cloudfront/sim-cloudfront-key-value-store.js +68 -0
  205. package/dist/service/cloudfront/sim-cloudfront-key-value-store.js.map +1 -0
  206. package/dist/service/cloudfront/sim-cloudfront.d.ts +14 -1
  207. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  208. package/dist/service/cloudfront/sim-cloudfront.js +15 -0
  209. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  210. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts +9 -2
  211. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts.map +1 -1
  212. package/package.json +2 -1
@@ -1,5 +1,6 @@
1
1
  import { assertDefined } from "../../../../util/type-guard/defined.js";
2
2
  import { configureCffAssociations } from "./sim-cff-associations-configure.js";
3
+ import { assertConsistentQuantity } from "../../command/sim-cf-list-quantity.js";
3
4
  /**
4
5
  * Build the Behavior properties common to both the default Cache Behavior and
5
6
  * a named one. Callers add their own fields, such as the path pattern, on top.
@@ -10,11 +11,11 @@ export function simCfBehaviorProperties(cacheBehavior, responseHeadersPolicy) {
10
11
  responseHeadersPolicy.assertExists(TargetOriginId, ResponseHeadersPolicyId);
11
12
  return {
12
13
  targetOriginName: TargetOriginId,
13
- allowedMethods: methodsSet(cacheBehavior.AllowedMethods, ["GET", "HEAD"]),
14
- cachedMethods: methodsSet(cacheBehavior.AllowedMethods?.CachedMethods, [
14
+ allowedMethods: methodsSet("AllowedMethods", cacheBehavior.AllowedMethods, [
15
15
  "GET",
16
16
  "HEAD",
17
17
  ]),
18
+ cachedMethods: methodsSet("CachedMethods", cacheBehavior.AllowedMethods?.CachedMethods, ["GET", "HEAD"]),
18
19
  ...(cacheBehavior.ViewerProtocolPolicy !== undefined && {
19
20
  viewerProtocolPolicy: cacheBehavior.ViewerProtocolPolicy,
20
21
  }),
@@ -28,7 +29,8 @@ export function simCfBehaviorProperties(cacheBehavior, responseHeadersPolicy) {
28
29
  * Build a Set of HTTP methods from a method list config, falling back to the
29
30
  * provided defaults when no items are configured.
30
31
  */
31
- function methodsSet(methods, fallback) {
32
+ function methodsSet(listName, methods, fallback) {
33
+ assertConsistentQuantity(listName, methods);
32
34
  return new Set(methods?.Items ?? fallback);
33
35
  }
34
36
  //# sourceMappingURL=sim-cf-behavior-properties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cf-behavior-properties.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAEoC,EACpC,qBAAyD;IAEzD,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAElE,aAAa,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAC;IAEzE,qBAAqB,CAAC,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAE5E,OAAO;QACL,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE;YACrE,KAAK;YACL,MAAM;SACP,CAAC;QACF,GAAG,CAAC,aAAa,CAAC,oBAAoB,KAAK,SAAS,IAAI;YACtD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;SACzD,CAAC;QACF,GAAG,CAAC,uBAAuB,KAAK,SAAS,IAAI;YAC3C,uBAAuB,EAAE,uBAAuB;SACjD,CAAC;QACF,oBAAoB,EAAE,wBAAwB,CAAC,aAAa,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CACjB,OAA4C,EAC5C,QAAkB;IAElB,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"sim-cf-behavior-properties.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAEoC,EACpC,qBAAyD;IAEzD,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAElE,aAAa,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAC;IAEzE,qBAAqB,CAAC,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAE5E,OAAO;QACL,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,cAAc,EAAE;YACzE,KAAK;YACL,MAAM;SACP,CAAC;QACF,aAAa,EAAE,UAAU,CACvB,eAAe,EACf,aAAa,CAAC,cAAc,EAAE,aAAa,EAC3C,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB;QACD,GAAG,CAAC,aAAa,CAAC,oBAAoB,KAAK,SAAS,IAAI;YACtD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;SACzD,CAAC;QACF,GAAG,CAAC,uBAAuB,KAAK,SAAS,IAAI;YAC3C,uBAAuB,EAAE,uBAAuB;SACjD,CAAC;QACF,oBAAoB,EAAE,wBAAwB,CAAC,aAAa,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CACjB,QAAgB,EAChB,OAA4C,EAC5C,QAAkB;IAElB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { SimCloudFrontError } from "./sim-cloudfront.error.js";
2
+ /**
3
+ * Simulated CloudFront EntityAlreadyExists error.
4
+ *
5
+ * CloudFront requires a key value store name to be unique within an account,
6
+ * so a second store claiming a name is refused rather than created.
7
+ */
8
+ export declare class SimCloudFrontEntityAlreadyExists extends SimCloudFrontError {
9
+ readonly name = "EntityAlreadyExists";
10
+ constructor(message: string);
11
+ }
12
+ /**
13
+ * Simulated CloudFront EntityNotFound error.
14
+ *
15
+ * What CloudFront answers when a key value store name, ID or ARN names
16
+ * nothing the account holds.
17
+ */
18
+ export declare class SimCloudFrontEntityNotFound extends SimCloudFrontError {
19
+ readonly name = "EntityNotFound";
20
+ constructor(message: string);
21
+ }
22
+ /**
23
+ * Simulated CloudFront CannotDeleteEntityWhileInUse error.
24
+ *
25
+ * CloudFront will not delete a key value store a Function is still associated
26
+ * with. The caller updates the Function to drop the association first.
27
+ */
28
+ export declare class SimCloudFrontCannotDeleteEntityWhileInUse extends SimCloudFrontError {
29
+ readonly name = "CannotDeleteEntityWhileInUse";
30
+ constructor(message: string);
31
+ }
32
+ /**
33
+ * Simulated CloudFront PreconditionFailed error.
34
+ *
35
+ * What CloudFront answers when a write carries an IfMatch ETag that is not the
36
+ * resource's current one, which is how it stops two writers overwriting each
37
+ * other.
38
+ */
39
+ export declare class SimCloudFrontPreconditionFailed extends SimCloudFrontError {
40
+ readonly name = "PreconditionFailed";
41
+ constructor(message: string);
42
+ }
43
+ /**
44
+ * Simulated CloudFront key value store ResourceNotFoundException error.
45
+ *
46
+ * What the key value store data API answers for a key that is not stored. It
47
+ * is the data API's own error rather than one of CloudFront's, which is why it
48
+ * is named in the exception style that API uses.
49
+ */
50
+ export declare class SimCloudFrontKeyValueStoreKeyNotFound extends SimCloudFrontError {
51
+ readonly name = "ResourceNotFoundException";
52
+ constructor(message: string);
53
+ }
54
+ /**
55
+ * Simulated CloudFront Function key value store access error.
56
+ *
57
+ * What a Function gets from `cf.kvs()` when there is no store it may open: it
58
+ * has no association, or it asked for one other than the store it names. Real
59
+ * CloudFront fails the Function at that point too, so this refuses rather than
60
+ * handing back an empty store the Function would read every default from.
61
+ */
62
+ export declare class SimCloudFrontCffKvsUnavailable extends SimCloudFrontError {
63
+ readonly name = "CffKeyValueStoreUnavailable";
64
+ constructor(message: string);
65
+ }
66
+ /**
67
+ * Simulated CloudFront InvalidKeyValueStoreAssociation error.
68
+ *
69
+ * What CloudFront answers for a Function association it will not take: more
70
+ * than one store, a store the Account does not hold, or any association at all
71
+ * on the 1.0 runtime, which cannot read one.
72
+ */
73
+ export declare class SimCloudFrontInvalidKeyValueStoreAssociation extends SimCloudFrontError {
74
+ readonly name = "InvalidKeyValueStoreAssociation";
75
+ constructor(message: string);
76
+ }
77
+ /**
78
+ * Simulated key value store data API ResourceNotFoundException error.
79
+ *
80
+ * What that API answers for a `KvsARN` naming no store. The two clients have
81
+ * separate error sets, so this is not CloudFront's `EntityNotFound` even
82
+ * though both mean the store was not found.
83
+ */
84
+ export declare class SimCloudFrontKeyValueStoreNotFound extends SimCloudFrontError {
85
+ readonly name = "ResourceNotFoundException";
86
+ constructor(message: string);
87
+ }
88
+ //# sourceMappingURL=sim-cf-key-value-store.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store.error.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cf-key-value-store.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,gCAAiC,SAAQ,kBAAkB;IACtE,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,SAAyB,IAAI,oBAAoB;IAEjD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,yCAA0C,SAAQ,kBAAkB;IAC/E,SAAyB,IAAI,kCAAkC;IAE/D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB;IACrE,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,qCAAsC,SAAQ,kBAAkB;IAC3E,SAAyB,IAAI,+BAA+B;IAE5D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA+B,SAAQ,kBAAkB;IACpE,SAAyB,IAAI,iCAAiC;IAE9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,4CAA6C,SAAQ,kBAAkB;IAClF,SAAyB,IAAI,qCAAqC;IAElE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,kCAAmC,SAAQ,kBAAkB;IACxE,SAAyB,IAAI,+BAA+B;IAE5D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
@@ -0,0 +1,104 @@
1
+ import { SimCloudFrontError } from "./sim-cloudfront.error.js";
2
+ /**
3
+ * Simulated CloudFront EntityAlreadyExists error.
4
+ *
5
+ * CloudFront requires a key value store name to be unique within an account,
6
+ * so a second store claiming a name is refused rather than created.
7
+ */
8
+ export class SimCloudFrontEntityAlreadyExists extends SimCloudFrontError {
9
+ name = "EntityAlreadyExists";
10
+ constructor(message) {
11
+ super(message, { httpStatusCode: 409 });
12
+ }
13
+ }
14
+ /**
15
+ * Simulated CloudFront EntityNotFound error.
16
+ *
17
+ * What CloudFront answers when a key value store name, ID or ARN names
18
+ * nothing the account holds.
19
+ */
20
+ export class SimCloudFrontEntityNotFound extends SimCloudFrontError {
21
+ name = "EntityNotFound";
22
+ constructor(message) {
23
+ super(message, { httpStatusCode: 404 });
24
+ }
25
+ }
26
+ /**
27
+ * Simulated CloudFront CannotDeleteEntityWhileInUse error.
28
+ *
29
+ * CloudFront will not delete a key value store a Function is still associated
30
+ * with. The caller updates the Function to drop the association first.
31
+ */
32
+ export class SimCloudFrontCannotDeleteEntityWhileInUse extends SimCloudFrontError {
33
+ name = "CannotDeleteEntityWhileInUse";
34
+ constructor(message) {
35
+ super(message, { httpStatusCode: 409 });
36
+ }
37
+ }
38
+ /**
39
+ * Simulated CloudFront PreconditionFailed error.
40
+ *
41
+ * What CloudFront answers when a write carries an IfMatch ETag that is not the
42
+ * resource's current one, which is how it stops two writers overwriting each
43
+ * other.
44
+ */
45
+ export class SimCloudFrontPreconditionFailed extends SimCloudFrontError {
46
+ name = "PreconditionFailed";
47
+ constructor(message) {
48
+ super(message, { httpStatusCode: 412 });
49
+ }
50
+ }
51
+ /**
52
+ * Simulated CloudFront key value store ResourceNotFoundException error.
53
+ *
54
+ * What the key value store data API answers for a key that is not stored. It
55
+ * is the data API's own error rather than one of CloudFront's, which is why it
56
+ * is named in the exception style that API uses.
57
+ */
58
+ export class SimCloudFrontKeyValueStoreKeyNotFound extends SimCloudFrontError {
59
+ name = "ResourceNotFoundException";
60
+ constructor(message) {
61
+ super(message, { httpStatusCode: 404 });
62
+ }
63
+ }
64
+ /**
65
+ * Simulated CloudFront Function key value store access error.
66
+ *
67
+ * What a Function gets from `cf.kvs()` when there is no store it may open: it
68
+ * has no association, or it asked for one other than the store it names. Real
69
+ * CloudFront fails the Function at that point too, so this refuses rather than
70
+ * handing back an empty store the Function would read every default from.
71
+ */
72
+ export class SimCloudFrontCffKvsUnavailable extends SimCloudFrontError {
73
+ name = "CffKeyValueStoreUnavailable";
74
+ constructor(message) {
75
+ super(message, { httpStatusCode: 500 });
76
+ }
77
+ }
78
+ /**
79
+ * Simulated CloudFront InvalidKeyValueStoreAssociation error.
80
+ *
81
+ * What CloudFront answers for a Function association it will not take: more
82
+ * than one store, a store the Account does not hold, or any association at all
83
+ * on the 1.0 runtime, which cannot read one.
84
+ */
85
+ export class SimCloudFrontInvalidKeyValueStoreAssociation extends SimCloudFrontError {
86
+ name = "InvalidKeyValueStoreAssociation";
87
+ constructor(message) {
88
+ super(message, { httpStatusCode: 400 });
89
+ }
90
+ }
91
+ /**
92
+ * Simulated key value store data API ResourceNotFoundException error.
93
+ *
94
+ * What that API answers for a `KvsARN` naming no store. The two clients have
95
+ * separate error sets, so this is not CloudFront's `EntityNotFound` even
96
+ * though both mean the store was not found.
97
+ */
98
+ export class SimCloudFrontKeyValueStoreNotFound extends SimCloudFrontError {
99
+ name = "ResourceNotFoundException";
100
+ constructor(message) {
101
+ super(message, { httpStatusCode: 404 });
102
+ }
103
+ }
104
+ //# sourceMappingURL=sim-cf-key-value-store.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store.error.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cf-key-value-store.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,OAAO,gCAAiC,SAAQ,kBAAkB;IAC7C,IAAI,GAAG,qBAAqB,CAAC;IAEtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IACxC,IAAI,GAAG,gBAAgB,CAAC;IAEjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,yCAA0C,SAAQ,kBAAkB;IACtD,IAAI,GAAG,8BAA8B,CAAC;IAE/D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,+BAAgC,SAAQ,kBAAkB;IAC5C,IAAI,GAAG,oBAAoB,CAAC;IAErD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,qCAAsC,SAAQ,kBAAkB;IAClD,IAAI,GAAG,2BAA2B,CAAC;IAE5D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,8BAA+B,SAAQ,kBAAkB;IAC3C,IAAI,GAAG,6BAA6B,CAAC;IAE9D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,4CAA6C,SAAQ,kBAAkB;IACzD,IAAI,GAAG,iCAAiC,CAAC;IAElE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAAkB;IAC/C,IAAI,GAAG,2BAA2B,CAAC;IAE5D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -121,6 +121,16 @@ export declare class SimCloudFrontOriginAccessControlAlreadyExists extends SimCl
121
121
  readonly name = "OriginAccessControlAlreadyExists";
122
122
  constructor(message: string);
123
123
  }
124
+ /**
125
+ * Simulated CloudFront InconsistentQuantities error.
126
+ *
127
+ * Every CloudFront list carries a `Quantity` alongside its `Items`, and
128
+ * CloudFront refuses a request where the two disagree.
129
+ */
130
+ export declare class SimCloudFrontInconsistentQuantities extends SimCloudFrontError {
131
+ readonly name = "InconsistentQuantities";
132
+ constructor(message: string);
133
+ }
124
134
  /**
125
135
  * Simulated CloudFront DistributionNotDisabled error.
126
136
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront.error.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,SAAS,EAAE,0BAA0B;IAFvD,YACE,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,0BAA+B,EAG3D;CACF;AAED;;;;;;GAMG;AACH,qBAAa,qCAAsC,SAAQ,kBAAkB;IAC3E,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,qCAAsC,SAAQ,kBAAkB;IAC3E,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,SAAyB,IAAI,sBAAsB;IAEnD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,kBAAkB;IACtE,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,SAAyB,IAAI,qBAAqB;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB;IACrE,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,iCAAkC,SAAQ,kBAAkB;IACvE,SAAyB,IAAI,0BAA0B;IAEvD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,wCAAyC,SAAQ,kBAAkB;IAC9E,SAAyB,IAAI,iCAAiC;IAE9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,2CAA4C,SAAQ,kBAAkB;IACjF,SAAyB,IAAI,oCAAoC;IAEjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,+CAAgD,SAAQ,kBAAkB;IACrF,SAAyB,IAAI,wCAAwC;IAErE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,uCAAwC,SAAQ,kBAAkB;IAC7E,SAAyB,IAAI,gCAAgC;IAE7D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,6CAA8C,SAAQ,kBAAkB;IACnF,SAAyB,IAAI,sCAAsC;IAEnE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,oCAAqC,SAAQ,kBAAkB;IAC1E,SAAyB,IAAI,6BAA6B;IAE1D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
1
+ {"version":3,"file":"sim-cloudfront.error.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,SAAS,EAAE,0BAA0B;IAFvD,YACE,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,0BAA+B,EAG3D;CACF;AAED;;;;;;GAMG;AACH,qBAAa,qCAAsC,SAAQ,kBAAkB;IAC3E,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,qCAAsC,SAAQ,kBAAkB;IAC3E,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,SAAyB,IAAI,sBAAsB;IAEnD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,kBAAkB;IACtE,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,SAAyB,IAAI,qBAAqB;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB;IACrE,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,iCAAkC,SAAQ,kBAAkB;IACvE,SAAyB,IAAI,0BAA0B;IAEvD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,wCAAyC,SAAQ,kBAAkB;IAC9E,SAAyB,IAAI,iCAAiC;IAE9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,2CAA4C,SAAQ,kBAAkB;IACjF,SAAyB,IAAI,oCAAoC;IAEjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,+CAAgD,SAAQ,kBAAkB;IACrF,SAAyB,IAAI,wCAAwC;IAErE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,uCAAwC,SAAQ,kBAAkB;IAC7E,SAAyB,IAAI,gCAAgC;IAE7D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,6CAA8C,SAAQ,kBAAkB;IACnF,SAAyB,IAAI,sCAAsC;IAEnE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mCAAoC,SAAQ,kBAAkB;IACzE,SAAyB,IAAI,4BAA4B;IAEzD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,oCAAqC,SAAQ,kBAAkB;IAC1E,SAAyB,IAAI,6BAA6B;IAE1D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
@@ -142,6 +142,18 @@ export class SimCloudFrontOriginAccessControlAlreadyExists extends SimCloudFront
142
142
  super(message, { httpStatusCode: 409 });
143
143
  }
144
144
  }
145
+ /**
146
+ * Simulated CloudFront InconsistentQuantities error.
147
+ *
148
+ * Every CloudFront list carries a `Quantity` alongside its `Items`, and
149
+ * CloudFront refuses a request where the two disagree.
150
+ */
151
+ export class SimCloudFrontInconsistentQuantities extends SimCloudFrontError {
152
+ name = "InconsistentQuantities";
153
+ constructor(message) {
154
+ super(message, { httpStatusCode: 400 });
155
+ }
156
+ }
145
157
  /**
146
158
  * Simulated CloudFront DistributionNotDisabled error.
147
159
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront.error.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-cloudfront.error.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * This is helpful because CloudFront Function JS2 syntax does not support
4
4
  * imports, so global types provide useful type information.
5
5
  */
6
+ import type { CffCloudFrontModule } from "./cff/kvs/cff-cloudfront-module.js";
6
7
  import type { CloudFrontFunction as CloudFrontFunctionType } from "./typings/cloudfront-functions.namespace.js";
7
8
  declare global {
8
9
  namespace CloudFrontFunction {
@@ -16,7 +17,18 @@ declare global {
16
17
  type EventContext = CloudFrontFunctionType.EventContext;
17
18
  type Viewer = CloudFrontFunctionType.Viewer;
18
19
  type Event = CloudFrontFunctionType.Event;
20
+ type ViewerRequestEvent = CloudFrontFunctionType.ViewerRequestEvent;
21
+ type ViewerResponseEvent = CloudFrontFunctionType.ViewerResponseEvent;
19
22
  }
23
+ /**
24
+ * The `cf` helpers a CloudFront Function reaches a key value store through.
25
+ *
26
+ * Source code gets this from `import cf from "cloudfront"`, which is the one
27
+ * import JS2 has. A Function written as a function reference for a test has
28
+ * no import to write, so it reads `cf` as a global, and this is what gives
29
+ * that global a type.
30
+ */
31
+ const cf: CffCloudFrontModule;
20
32
  }
21
33
  export {};
22
34
  //# sourceMappingURL=globals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../src/service/cloudfront/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAEhH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,kBAAkB,CAAC;QAC3B,KAAK,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC;QAC1C,KAAK,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC;QACpD,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACtD,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC;QAChD,KAAK,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC;QACxD,KAAK,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAC5C,KAAK,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC;KAC3C;CACF;AAED,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../src/service/cloudfront/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAEhH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,kBAAkB,CAAC;QAC3B,KAAK,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC;QAC1C,KAAK,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC;QACpD,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACtD,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC9C,KAAK,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC;QAChD,KAAK,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC;QACxD,KAAK,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAC5C,KAAK,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC;QAC1C,KAAK,kBAAkB,GAAG,sBAAsB,CAAC,kBAAkB,CAAC;QACpE,KAAK,mBAAmB,GAAG,sBAAsB,CAAC,mBAAmB,CAAC;KACvE;IAED;;;;;;;OAOG;IACH,MAAM,EAAE,EAAE,mBAAmB,CAAC;CAC/B;AAED,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../src/service/cloudfront/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../src/service/cloudfront/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,OAAO,EAAE,CAAC"}
@@ -2,4 +2,7 @@ export { makeCffFunctionCodeInput } from "./cff/function-code-input/cff-function
2
2
  export { cloudFrontViewerRequestEventFactory } from "./factory/cloudfront-functions.factory.js";
3
3
  export { cloudFrontFunctionSourceFromModule } from "./cff/function-code-module/cff-code-module-file.js";
4
4
  export type { CloudFrontFunction } from "./typings/cloudfront-functions.namespace.js";
5
+ export type { SimCloudFrontKeyValueStoreApi } from "./sim-cloudfront-key-value-store.js";
6
+ export type { SimCfKeyValueStoreCommands } from "./key-value-store/sim-cf-key-value-store-commands.js";
7
+ export type { SimCloudFrontKeyValueStore, SimCloudFrontKeyValueStoreId, SimCloudFrontKeyValueStoreStatus, } from "./key-value-store/sim-cf-key-value-store.js";
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/cloudfront/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,kCAAkC,EAAE,MAAM,oDAAoD,CAAC;AACxG,YAAY,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/cloudfront/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,kCAAkC,EAAE,MAAM,oDAAoD,CAAC;AACxG,YAAY,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,YAAY,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACzF,YAAY,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AACvG,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,6CAA6C,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { BackgroundScheduler } from "../../../util/background/background.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
3
+ import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
4
+ import type { SimIamInterServiceAuthZ } from "../../iam/authorize/sim-iam-inter-service-auth-z.js";
5
+ import type { SimCloudFrontKeyValueStore } from "./sim-cf-key-value-store.js";
6
+ import type { SimCloudFrontKeyValueStoreRegistry } from "./sim-cf-key-value-store-registry.js";
7
+ interface SimCfKeyValueStoreAccessProperties {
8
+ readonly accountId: SimAwsAccountId;
9
+ readonly stores: SimCloudFrontKeyValueStoreRegistry;
10
+ readonly iam: SimIamInterServiceAuthZ;
11
+ readonly background: BackgroundScheduler;
12
+ }
13
+ /**
14
+ * What every key value store command needs: the stores, IAM, and the clock.
15
+ *
16
+ * The commands across the two clients all authorize the same way and work on
17
+ * the same registry, so the wiring is here once rather than repeated in each
18
+ * of them. Each command class is then only its own AWS behaviour.
19
+ */
20
+ export declare class SimCfKeyValueStoreAccess {
21
+ readonly accountId: SimAwsAccountId;
22
+ readonly stores: SimCloudFrontKeyValueStoreRegistry;
23
+ readonly background: BackgroundScheduler;
24
+ private readonly iam;
25
+ constructor(properties: SimCfKeyValueStoreAccessProperties);
26
+ /**
27
+ * Ensure the caller may take an action on a key value store ARN.
28
+ */
29
+ authorize(action: string, resource: string, caller?: SimAwsCaller): void;
30
+ /**
31
+ * Ensure the caller may take an action on any key value store.
32
+ *
33
+ * CreateKeyValueStore has no store to name yet, and a command naming a store
34
+ * that does not exist has no ARN to authorize against either, so both go
35
+ * through the wildcard. A policy granting these actions has to use one too.
36
+ */
37
+ authorizeAnyStore(action: string, caller?: SimAwsCaller): void;
38
+ /**
39
+ * Resolve a store by name, having authorized the action against it.
40
+ *
41
+ * The ARN carries the store's ID rather than its name, so the store has to be
42
+ * found before the action can be authorized on it. A name that resolves to
43
+ * nothing is authorized against the wildcard first, so a caller without
44
+ * permission is refused either way rather than learning which names exist.
45
+ */
46
+ authorizedByName(action: string, storeName: string, caller?: SimAwsCaller): SimCloudFrontKeyValueStore;
47
+ /**
48
+ * Resolve a store by ARN, having authorized the action against it.
49
+ *
50
+ * This is the data API's way in. The ARN it was given is the resource the
51
+ * action is authorized on whether or not it resolves, so an unknown ARN is
52
+ * authorized before it is refused.
53
+ */
54
+ authorizedByArn(action: string, storeArn: string, caller?: SimAwsCaller): SimCloudFrontKeyValueStore;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=sim-cf-key-value-store-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store-access.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/key-value-store/sim-cf-key-value-store-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAEnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAE/F,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,MAAM,EAAE,kCAAkC,CAAC;IAC3D,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAUvE;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAM7D;IAED;;;;;;;OAOG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,0BAA0B,CAY5B;IAED;;;;;;OAMG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,YAAY,GACpB,0BAA0B,CAI5B;CACF"}
@@ -0,0 +1,72 @@
1
+ import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
2
+ /**
3
+ * What every key value store command needs: the stores, IAM, and the clock.
4
+ *
5
+ * The commands across the two clients all authorize the same way and work on
6
+ * the same registry, so the wiring is here once rather than repeated in each
7
+ * of them. Each command class is then only its own AWS behaviour.
8
+ */
9
+ export class SimCfKeyValueStoreAccess {
10
+ accountId;
11
+ stores;
12
+ background;
13
+ iam;
14
+ constructor(properties) {
15
+ this.accountId = properties.accountId;
16
+ this.stores = properties.stores;
17
+ this.iam = properties.iam;
18
+ this.background = properties.background;
19
+ }
20
+ /**
21
+ * Ensure the caller may take an action on a key value store ARN.
22
+ */
23
+ authorize(action, resource, caller) {
24
+ const decision = this.iam.authorize({ action, resource, caller });
25
+ if (decision.isDenied) {
26
+ throw new SimIamAccessDenied({
27
+ principal: decision.caller.principal,
28
+ action,
29
+ resource,
30
+ });
31
+ }
32
+ }
33
+ /**
34
+ * Ensure the caller may take an action on any key value store.
35
+ *
36
+ * CreateKeyValueStore has no store to name yet, and a command naming a store
37
+ * that does not exist has no ARN to authorize against either, so both go
38
+ * through the wildcard. A policy granting these actions has to use one too.
39
+ */
40
+ authorizeAnyStore(action, caller) {
41
+ this.authorize(action, `arn:aws:cloudfront::${this.accountId}:key-value-store/*`, caller);
42
+ }
43
+ /**
44
+ * Resolve a store by name, having authorized the action against it.
45
+ *
46
+ * The ARN carries the store's ID rather than its name, so the store has to be
47
+ * found before the action can be authorized on it. A name that resolves to
48
+ * nothing is authorized against the wildcard first, so a caller without
49
+ * permission is refused either way rather than learning which names exist.
50
+ */
51
+ authorizedByName(action, storeName, caller) {
52
+ const store = this.stores.byName(storeName);
53
+ if (store === undefined) {
54
+ this.authorizeAnyStore(action, caller);
55
+ return this.stores.requireByName(storeName);
56
+ }
57
+ this.authorize(action, store.arn, caller);
58
+ return store;
59
+ }
60
+ /**
61
+ * Resolve a store by ARN, having authorized the action against it.
62
+ *
63
+ * This is the data API's way in. The ARN it was given is the resource the
64
+ * action is authorized on whether or not it resolves, so an unknown ARN is
65
+ * authorized before it is refused.
66
+ */
67
+ authorizedByArn(action, storeArn, caller) {
68
+ this.authorize(action, storeArn, caller);
69
+ return this.stores.requireByArn(storeArn);
70
+ }
71
+ }
72
+ //# sourceMappingURL=sim-cf-key-value-store-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store-access.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/key-value-store/sim-cf-key-value-store-access.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAWtE;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnB,SAAS,CAAkB;IAC3B,MAAM,CAAqC;IAC3C,UAAU,CAAsB;IAE/B,GAAG,CAA0B;IAE9C,YAAY,UAA8C;QACxD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAqB;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,MAAc,EAAE,MAAqB;QACrD,IAAI,CAAC,SAAS,CACZ,MAAM,EACN,uBAAuB,IAAI,CAAC,SAAS,oBAAoB,EACzD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CACd,MAAc,EACd,SAAiB,EACjB,MAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CACb,MAAc,EACd,QAAgB,EAChB,MAAqB;QAErB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,51 @@
1
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
+ import type { SimCreateKeyValueStoreCommand, SimCreateKeyValueStoreCommandOutput, SimDeleteKeyValueStoreCommand, SimDeleteKeyValueStoreCommandOutput, SimDescribeKeyValueStoreCommand, SimDescribeKeyValueStoreCommandOutput, SimListKeyValueStoresCommand, SimListKeyValueStoresCommandOutput, SimUpdateKeyValueStoreCommand, SimUpdateKeyValueStoreCommandOutput } from "../command/key-value-store/sim-cf-key-value-store-command.types.js";
3
+ import type { SimCfKeyValueStoreAccess } from "./sim-cf-key-value-store-access.js";
4
+ import type { SimCloudFrontKeyValueStore, SimCloudFrontKeyValueStoreId } from "./sim-cf-key-value-store.js";
5
+ import { type SimCfKeyValueStoreUsers } from "./sim-cf-key-value-store-users.js";
6
+ interface KeyValueStoreRequestOptions {
7
+ readonly caller?: SimAwsCaller;
8
+ }
9
+ /**
10
+ * The key value store commands on the CloudFront client.
11
+ *
12
+ * These are the five that own the resource. They are grouped here rather than
13
+ * on SimCloudFrontCommands beside the Distribution and Function commands
14
+ * because they share a collaborator none of those need, and because there are
15
+ * enough of them to be their own thing.
16
+ */
17
+ export declare class SimCfKeyValueStoreCommands {
18
+ private readonly access;
19
+ private readonly users;
20
+ constructor(access: SimCfKeyValueStoreAccess, users?: SimCfKeyValueStoreUsers);
21
+ /**
22
+ * Get a key value store by name, for asserting on its state directly.
23
+ */
24
+ byName(storeName: string): SimCloudFrontKeyValueStore | undefined;
25
+ /**
26
+ * Get a key value store by ID.
27
+ */
28
+ byId(storeId: SimCloudFrontKeyValueStoreId | string): SimCloudFrontKeyValueStore | undefined;
29
+ /**
30
+ * Handle a Create Key Value Store Command from the SDK.
31
+ */
32
+ createKeyValueStore(command: SimCreateKeyValueStoreCommand, options?: KeyValueStoreRequestOptions): Promise<SimCreateKeyValueStoreCommandOutput>;
33
+ /**
34
+ * Handle a Describe Key Value Store Command from the SDK.
35
+ */
36
+ describeKeyValueStore(command: SimDescribeKeyValueStoreCommand, options?: KeyValueStoreRequestOptions): Promise<SimDescribeKeyValueStoreCommandOutput>;
37
+ /**
38
+ * Handle a List Key Value Stores Command from the SDK.
39
+ */
40
+ listKeyValueStores(command: SimListKeyValueStoresCommand, options?: KeyValueStoreRequestOptions): Promise<SimListKeyValueStoresCommandOutput>;
41
+ /**
42
+ * Handle an Update Key Value Store Command from the SDK.
43
+ */
44
+ updateKeyValueStore(command: SimUpdateKeyValueStoreCommand, options?: KeyValueStoreRequestOptions): Promise<SimUpdateKeyValueStoreCommandOutput>;
45
+ /**
46
+ * Handle a Delete Key Value Store Command from the SDK.
47
+ */
48
+ deleteKeyValueStore(command: SimDeleteKeyValueStoreCommand, options?: KeyValueStoreRequestOptions): Promise<SimDeleteKeyValueStoreCommandOutput>;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=sim-cf-key-value-store-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store-commands.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMvE,OAAO,KAAK,EACV,6BAA6B,EAC7B,mCAAmC,EACnC,6BAA6B,EAC7B,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,mCAAmC,EACpC,MAAM,oEAAoE,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAE3C,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IAInC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEhD,YACmB,MAAM,EAAE,wBAAwB,EACjD,KAAK,GAAE,uBAA8C,EAGtD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAEhE;IAED;;OAEG;IACH,IAAI,CACF,OAAO,EAAE,4BAA4B,GAAG,MAAM,GAC7C,0BAA0B,GAAG,SAAS,CAExC;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,6BAA6B,EACtC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,mCAAmC,CAAC,CAK9C;IAED;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,qCAAqC,CAAC,CAKhD;IAED;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,kCAAkC,CAAC,CAK7C;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,6BAA6B,EACtC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,mCAAmC,CAAC,CAK9C;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,6BAA6B,EACtC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,mCAAmC,CAAC,CAK9C;CACF"}
@@ -0,0 +1,65 @@
1
+ import { SimCfCreateKeyValueStore } from "../command/key-value-store/sim-cf-create-key-value-store.js";
2
+ import { SimCfDeleteKeyValueStore } from "../command/key-value-store/sim-cf-delete-key-value-store.js";
3
+ import { SimCfDescribeKeyValueStore } from "../command/key-value-store/sim-cf-describe-key-value-store.js";
4
+ import { SimCfListKeyValueStores } from "../command/key-value-store/sim-cf-list-key-value-stores.js";
5
+ import { SimCfUpdateKeyValueStore } from "../command/key-value-store/sim-cf-update-key-value-store.js";
6
+ import { noKeyValueStoreUsers, } from "./sim-cf-key-value-store-users.js";
7
+ /**
8
+ * The key value store commands on the CloudFront client.
9
+ *
10
+ * These are the five that own the resource. They are grouped here rather than
11
+ * on SimCloudFrontCommands beside the Distribution and Function commands
12
+ * because they share a collaborator none of those need, and because there are
13
+ * enough of them to be their own thing.
14
+ */
15
+ export class SimCfKeyValueStoreCommands {
16
+ access;
17
+ users;
18
+ constructor(access, users = noKeyValueStoreUsers) {
19
+ this.access = access;
20
+ this.users = users;
21
+ }
22
+ /**
23
+ * Get a key value store by name, for asserting on its state directly.
24
+ */
25
+ byName(storeName) {
26
+ return this.access.stores.byName(storeName);
27
+ }
28
+ /**
29
+ * Get a key value store by ID.
30
+ */
31
+ byId(storeId) {
32
+ return this.access.stores.byId(storeId);
33
+ }
34
+ /**
35
+ * Handle a Create Key Value Store Command from the SDK.
36
+ */
37
+ async createKeyValueStore(command, options) {
38
+ return await new SimCfCreateKeyValueStore(this.access).handle(command, options);
39
+ }
40
+ /**
41
+ * Handle a Describe Key Value Store Command from the SDK.
42
+ */
43
+ async describeKeyValueStore(command, options) {
44
+ return await new SimCfDescribeKeyValueStore(this.access).handle(command, options);
45
+ }
46
+ /**
47
+ * Handle a List Key Value Stores Command from the SDK.
48
+ */
49
+ async listKeyValueStores(command, options) {
50
+ return await new SimCfListKeyValueStores(this.access).handle(command, options);
51
+ }
52
+ /**
53
+ * Handle an Update Key Value Store Command from the SDK.
54
+ */
55
+ async updateKeyValueStore(command, options) {
56
+ return await new SimCfUpdateKeyValueStore(this.access).handle(command, options);
57
+ }
58
+ /**
59
+ * Handle a Delete Key Value Store Command from the SDK.
60
+ */
61
+ async deleteKeyValueStore(command, options) {
62
+ return await new SimCfDeleteKeyValueStore(this.access, this.users).handle(command, options);
63
+ }
64
+ }
65
+ //# sourceMappingURL=sim-cf-key-value-store-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-key-value-store-commands.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/key-value-store/sim-cf-key-value-store-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,+DAA+D,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AAkBvG,OAAO,EACL,oBAAoB,GAErB,MAAM,mCAAmC,CAAC;AAM3C;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA0B;IAIlB,MAAM;IAHR,KAAK,CAA0B;IAEhD,YACmB,MAAgC,EACjD,KAAK,GAA4B,oBAAoB;sBADpC,MAAM;QAGvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,CACF,OAA8C;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAsC,EACtC,OAAqC;QAErC,OAAO,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3D,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAwC,EACxC,OAAqC;QAErC,OAAO,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7D,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAqC,EACrC,OAAqC;QAErC,OAAO,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1D,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAsC,EACtC,OAAqC;QAErC,OAAO,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3D,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAsC,EACtC,OAAqC;QAErC,OAAO,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACvE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}