@kensio/yulin 0.13.0 → 0.15.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 (220) hide show
  1. package/README.md +21 -19
  2. package/dist/config/eslint/cffjs2.eslint.config.d.ts +3 -0
  3. package/dist/config/eslint/cffjs2.eslint.config.d.ts.map +1 -0
  4. package/dist/config/eslint/cffjs2.eslint.config.js +119 -0
  5. package/dist/config/eslint/cffjs2.eslint.config.js.map +1 -0
  6. package/dist/config/eslint/index.d.ts +2 -0
  7. package/dist/config/eslint/index.d.ts.map +1 -0
  8. package/dist/config/eslint/index.js +2 -0
  9. package/dist/config/eslint/index.js.map +1 -0
  10. package/dist/serve/controller/sim-aws-service-controller-container.d.ts +6 -2
  11. package/dist/serve/controller/sim-aws-service-controller-container.d.ts.map +1 -1
  12. package/dist/serve/controller/sim-aws-service-controller-container.js +4 -2
  13. package/dist/serve/controller/sim-aws-service-controller-container.js.map +1 -1
  14. package/dist/serve/http/sim-aws-http.d.ts +5 -2
  15. package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
  16. package/dist/serve/http/sim-aws-http.js +3 -4
  17. package/dist/serve/http/sim-aws-http.js.map +1 -1
  18. package/dist/serve/http/sim-aws-local-server.d.ts +10 -3
  19. package/dist/serve/http/sim-aws-local-server.d.ts.map +1 -1
  20. package/dist/serve/http/sim-aws-local-server.js +7 -7
  21. package/dist/serve/http/sim-aws-local-server.js.map +1 -1
  22. package/dist/serve/http/sim-aws-local-url.d.ts +6 -1
  23. package/dist/serve/http/sim-aws-local-url.d.ts.map +1 -1
  24. package/dist/serve/http/sim-aws-local-url.js +4 -4
  25. package/dist/serve/http/sim-aws-local-url.js.map +1 -1
  26. package/dist/service/aws/arn.d.ts +1 -1
  27. package/dist/service/aws/arn.d.ts.map +1 -1
  28. package/dist/service/aws/arn.js +1 -1
  29. package/dist/service/aws/arn.js.map +1 -1
  30. package/dist/service/aws/sim-aws-account-region-scope.d.ts +7 -1
  31. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  32. package/dist/service/aws/sim-aws-account-region-scope.js +11 -6
  33. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  34. package/dist/service/aws/sim-aws-account.d.ts +8 -3
  35. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  36. package/dist/service/aws/sim-aws-account.js +3 -1
  37. package/dist/service/aws/sim-aws-account.js.map +1 -1
  38. package/dist/service/aws/sim-aws-region.d.ts +8 -3
  39. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  40. package/dist/service/aws/sim-aws-region.js +6 -4
  41. package/dist/service/aws/sim-aws-region.js.map +1 -1
  42. package/dist/service/aws/sim-aws.d.ts +21 -7
  43. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  44. package/dist/service/aws/sim-aws.js +46 -13
  45. package/dist/service/aws/sim-aws.js.map +1 -1
  46. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +5 -0
  47. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
  48. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
  49. package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts +36 -0
  50. package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts.map +1 -0
  51. package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js +177 -0
  52. package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js.map +1 -0
  53. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +38 -0
  54. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts.map +1 -0
  55. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +69 -0
  56. package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js.map +1 -0
  57. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +48 -0
  58. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -0
  59. package/dist/service/cloudfront/cff/sim-cloudfront-function.js +66 -0
  60. package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -0
  61. package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +44 -28
  62. package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -1
  63. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +13 -9
  64. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  65. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +23 -78
  66. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  67. package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +43 -0
  68. package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -0
  69. package/dist/service/cloudfront/command/create-function/create-function.cmd.js +5 -0
  70. package/dist/service/cloudfront/command/create-function/create-function.cmd.js.map +1 -0
  71. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +28 -0
  72. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -0
  73. package/dist/service/cloudfront/command/create-function/create-function.handler.js +49 -0
  74. package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -0
  75. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +29 -0
  76. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -0
  77. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js +2 -0
  78. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js.map +1 -0
  79. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +21 -0
  80. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -0
  81. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +40 -0
  82. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -0
  83. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +20 -4
  84. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
  85. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +52 -7
  86. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
  87. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +21 -0
  88. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts.map +1 -0
  89. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +90 -0
  90. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -0
  91. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +17 -0
  92. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -0
  93. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +28 -0
  94. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -0
  95. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +15 -0
  96. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -0
  97. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +26 -0
  98. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -0
  99. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +23 -1
  100. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  101. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +23 -1
  102. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  103. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
  104. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -0
  105. package/dist/service/cloudfront/error/sim-cloudfront.error.js +20 -0
  106. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -0
  107. package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts +15 -2
  108. package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts.map +1 -1
  109. package/dist/service/cloudfront/factory/cloudfront-functions.factory.js +22 -12
  110. package/dist/service/cloudfront/factory/cloudfront-functions.factory.js.map +1 -1
  111. package/dist/service/cloudfront/index.d.ts +1 -0
  112. package/dist/service/cloudfront/index.d.ts.map +1 -1
  113. package/dist/service/cloudfront/index.js +1 -0
  114. package/dist/service/cloudfront/index.js.map +1 -1
  115. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +6 -1
  116. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -1
  117. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +3 -3
  118. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -1
  119. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +2 -2
  120. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
  121. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +6 -2
  122. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -1
  123. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +3 -3
  124. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -1
  125. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts +24 -2
  126. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  127. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +61 -10
  128. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  129. package/dist/service/cloudfront/sim-cloud-front-registry.d.ts +8 -0
  130. package/dist/service/cloudfront/sim-cloud-front-registry.d.ts.map +1 -1
  131. package/dist/service/cloudfront/sim-cloud-front-registry.js +12 -0
  132. package/dist/service/cloudfront/sim-cloud-front-registry.js.map +1 -1
  133. package/dist/service/cloudfront/sim-cloudfront.d.ts +32 -2
  134. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  135. package/dist/service/cloudfront/sim-cloudfront.js +55 -3
  136. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  137. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts +22 -3
  138. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts.map +1 -1
  139. package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts +7 -1
  140. package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
  141. package/dist/service/dynamodb/command/create-table/create-table.handler.js +10 -6
  142. package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
  143. package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +5 -1
  144. package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
  145. package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +2 -2
  146. package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
  147. package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +5 -1
  148. package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
  149. package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +2 -2
  150. package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
  151. package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts +93 -3
  152. package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts.map +1 -1
  153. package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts +5 -1
  154. package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts.map +1 -1
  155. package/dist/service/dynamodb/command/put-item/put-item.handler.js +2 -2
  156. package/dist/service/dynamodb/command/put-item/put-item.handler.js.map +1 -1
  157. package/dist/service/dynamodb/sim-dynamodb.d.ts +7 -2
  158. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  159. package/dist/service/dynamodb/sim-dynamodb.js +11 -6
  160. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  161. package/dist/service/dynamodb/table/dynamodb-table.d.ts +10 -4
  162. package/dist/service/dynamodb/table/dynamodb-table.d.ts.map +1 -1
  163. package/dist/service/dynamodb/table/dynamodb-table.js +6 -4
  164. package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
  165. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +9 -6
  166. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  167. package/dist/service/s3/bucket/sim-s3-bucket.js +4 -5
  168. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  169. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +7 -1
  170. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
  171. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +8 -5
  172. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  173. package/dist/service/s3/command/get-object/get-object.cmd.d.ts +2 -2
  174. package/dist/service/s3/command/get-object/get-object.cmd.d.ts.map +1 -1
  175. package/dist/service/s3/command/get-object/get-object.handler.d.ts +5 -1
  176. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  177. package/dist/service/s3/command/get-object/get-object.handler.js +2 -2
  178. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  179. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +5 -1
  180. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
  181. package/dist/service/s3/command/list-buckets/list-buckets.handler.js +2 -2
  182. package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
  183. package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts +4 -4
  184. package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts.map +1 -1
  185. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +5 -1
  186. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
  187. package/dist/service/s3/command/list-objects/list-objects.handler.js +2 -2
  188. package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
  189. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +5 -1
  190. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
  191. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +2 -2
  192. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
  193. package/dist/service/s3/command/put-object/put-object.cmd.d.ts +8 -5
  194. package/dist/service/s3/command/put-object/put-object.cmd.d.ts.map +1 -1
  195. package/dist/service/s3/command/put-object/put-object.handler.d.ts +5 -1
  196. package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
  197. package/dist/service/s3/command/put-object/put-object.handler.js +7 -3
  198. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  199. package/dist/service/s3/object/s3-object.d.ts +7 -1
  200. package/dist/service/s3/object/s3-object.d.ts.map +1 -1
  201. package/dist/service/s3/object/s3-object.js +2 -1
  202. package/dist/service/s3/object/s3-object.js.map +1 -1
  203. package/dist/service/s3/serve/sim-s3-controller.d.ts +6 -2
  204. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  205. package/dist/service/s3/serve/sim-s3-controller.js +4 -2
  206. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  207. package/dist/service/s3/serve/sim-s3-req-router.d.ts +6 -2
  208. package/dist/service/s3/serve/sim-s3-req-router.d.ts.map +1 -1
  209. package/dist/service/s3/serve/sim-s3-req-router.js +3 -1
  210. package/dist/service/s3/serve/sim-s3-req-router.js.map +1 -1
  211. package/dist/service/s3/sim-s3.d.ts +7 -2
  212. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  213. package/dist/service/s3/sim-s3.js +16 -9
  214. package/dist/service/s3/sim-s3.js.map +1 -1
  215. package/dist/service/s3/storage/s3-filesystem-storage.d.ts +6 -1
  216. package/dist/service/s3/storage/s3-filesystem-storage.d.ts.map +1 -1
  217. package/dist/service/s3/storage/s3-filesystem-storage.js +10 -6
  218. package/dist/service/s3/storage/s3-filesystem-storage.js.map +1 -1
  219. package/dist/tsconfig.tsbuildinfo +1 -0
  220. package/package.json +25 -24
@@ -0,0 +1,38 @@
1
+ import type { CloudFrontFunction } from "../../typings/cloudfront-functions.namespace.js";
2
+ import type { SimCreateFunctionCommand } from "../../command/create-function/create-function.cmd.js";
3
+ type FunctionCodeInput = SimCreateFunctionCommand["input"]["FunctionCode"];
4
+ /**
5
+ * Convert a handler function reference into a Uint8Array for input in the
6
+ * CloudFront CreateFunction Command input FunctionCode.
7
+ */
8
+ export declare function makeCffFunctionCodeInput(handlerFunction: CloudFrontFunction.Handler): FunctionCodeInput;
9
+ /**
10
+ * A little trick to allow passing a handler function into CreateFunctionCommand
11
+ * input as if it were a Uint8Array without TypeScript complaining.
12
+ */
13
+ export declare class CffUint8ArrayStowaway extends Uint8Array {
14
+ private _handlerFunction;
15
+ /**
16
+ * Stowaway the real handler function in this Uint8Array disguise.
17
+ */
18
+ stowawayHandlerFunction(handlerFunction: CloudFrontFunction.Handler): this;
19
+ /**
20
+ * Get the handler function stowed away in this Uint8Array disguise.
21
+ */
22
+ get handlerFunction(): CloudFrontFunction.Handler;
23
+ }
24
+ /**
25
+ * Extracts a handler function as a function reference, either from source
26
+ * code in a Uint8Array or from a function-code-input.
27
+ */
28
+ export declare class CffUint8ArrayFunctionCodeExtractor<H extends CloudFrontFunction.Handler = CloudFrontFunction.ViewerRequestHandler> {
29
+ private readonly functionCodeInput;
30
+ constructor(functionCodeInput: FunctionCodeInput);
31
+ /**
32
+ * Extract the handler function.
33
+ */
34
+ extractHandlerFunction(): H;
35
+ private extractUint8ArraySourceCode;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=cff-function-code-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cff-function-code-input.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/function-code-input/cff-function-code-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAGrG,KAAK,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,kBAAkB,CAAC,OAAO,GAC1C,iBAAiB,CAInB;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAO,CAAC,gBAAgB,CAAiD;IAEzE;;OAEG;IACH,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,CAAC,OAAO,GAAG,IAAI;IAK1E;;OAEG;IACH,IAAI,eAAe,IAAI,kBAAkB,CAAC,OAAO,CAEhD;CACF;AAED;;;GAGG;AACH,qBAAa,kCAAkC,CAC7C,CAAC,SAAS,kBAAkB,CAAC,OAAO,GAClC,kBAAkB,CAAC,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAEjE;;OAEG;IACH,sBAAsB,IAAI,CAAC;IAQ3B,OAAO,CAAC,2BAA2B;CAsBpC"}
@@ -0,0 +1,69 @@
1
+ import { defaultCffHandler } from "../sim-cloudfront-function.js";
2
+ import vm from "node:vm";
3
+ /**
4
+ * Convert a handler function reference into a Uint8Array for input in the
5
+ * CloudFront CreateFunction Command input FunctionCode.
6
+ */
7
+ export function makeCffFunctionCodeInput(handlerFunction) {
8
+ const stowaway = new CffUint8ArrayStowaway();
9
+ stowaway.stowawayHandlerFunction(handlerFunction);
10
+ return stowaway;
11
+ }
12
+ /**
13
+ * A little trick to allow passing a handler function into CreateFunctionCommand
14
+ * input as if it were a Uint8Array without TypeScript complaining.
15
+ */
16
+ export class CffUint8ArrayStowaway extends Uint8Array {
17
+ _handlerFunction = defaultCffHandler;
18
+ /**
19
+ * Stowaway the real handler function in this Uint8Array disguise.
20
+ */
21
+ stowawayHandlerFunction(handlerFunction) {
22
+ this._handlerFunction = handlerFunction;
23
+ return this;
24
+ }
25
+ /**
26
+ * Get the handler function stowed away in this Uint8Array disguise.
27
+ */
28
+ get handlerFunction() {
29
+ return this._handlerFunction;
30
+ }
31
+ }
32
+ /**
33
+ * Extracts a handler function as a function reference, either from source
34
+ * code in a Uint8Array or from a function-code-input.
35
+ */
36
+ export class CffUint8ArrayFunctionCodeExtractor {
37
+ functionCodeInput;
38
+ constructor(functionCodeInput) {
39
+ this.functionCodeInput = functionCodeInput;
40
+ }
41
+ /**
42
+ * Extract the handler function.
43
+ */
44
+ extractHandlerFunction() {
45
+ if (this.functionCodeInput instanceof CffUint8ArrayStowaway) {
46
+ return this.functionCodeInput.handlerFunction;
47
+ }
48
+ return this.extractUint8ArraySourceCode();
49
+ }
50
+ extractUint8ArraySourceCode() {
51
+ const source = Buffer.from(this.functionCodeInput ?? "").toString();
52
+ const context = vm.createContext({
53
+ console,
54
+ });
55
+ const script = new vm.Script(`
56
+ ${source}
57
+ handler;
58
+ `);
59
+ const handler = script.runInContext(context, {
60
+ timeout: 50, // Real CloudFront Functions have a short timeout.
61
+ breakOnSigint: true,
62
+ });
63
+ if (typeof handler !== "function") {
64
+ throw new TypeError("CloudFront Function code did not define a handler function");
65
+ }
66
+ return handler;
67
+ }
68
+ }
69
+ //# sourceMappingURL=cff-function-code-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cff-function-code-input.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/cff/function-code-input/cff-function-code-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,eAA2C;IAE3C,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAC3C,gBAAgB,GAA+B,iBAAiB,CAAC;IAEzE;;OAEG;IACH,uBAAuB,CAAC,eAA2C;QACjE,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kCAAkC;IAIhB;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAErE;;OAEG;IACH,sBAAsB;QACpB,IAAI,IAAI,CAAC,iBAAiB,YAAY,qBAAqB,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAoB,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC5C,CAAC;IAEO,2BAA2B;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;YAC/B,OAAO;SACR,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;MAC3B,MAAM;;KAEP,CAAC,CAAC;QACH,MAAM,OAAO,GAAY,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;YACpD,OAAO,EAAE,EAAE,EAAE,kDAAkD;YAC/D,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,OAAY,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ import type { CloudFrontFunction } from "../typings/cloudfront-functions.namespace.js";
2
+ import { SimCffEventAdapter } from "./adapter/sim-cff-event-adapter.js";
3
+ import type { Brand } from "../../../util/brand.type.js";
4
+ import type { SimArn } from "../../aws/arn.js";
5
+ import { type SimAwsAccountId } from "../../aws/sim-aws-account.js";
6
+ export type SimCloudFrontFunctionName = Brand<string, "SimCloudFrontFunctionName">;
7
+ export type CloudFrontFunctionStatus = "UNPUBLISHED" | "UNASSOCIATED" | "ASSOCIATED";
8
+ interface SimCloudFrontFunctionProps {
9
+ name: SimCloudFrontFunctionName | string;
10
+ status?: CloudFrontFunctionStatus;
11
+ readonly accountId?: SimAwsAccountId;
12
+ handlerFunction?: CloudFrontFunction.Handler;
13
+ eventAdapter?: SimCffEventAdapter;
14
+ }
15
+ export declare const defaultCffHandler: CloudFrontFunction.Handler;
16
+ /**
17
+ * Simulated CloudFront Function resource.
18
+ */
19
+ export declare class SimCloudFrontFunction {
20
+ readonly name: SimCloudFrontFunctionName;
21
+ private _status;
22
+ readonly accountId: SimAwsAccountId;
23
+ private readonly handlerFunction;
24
+ private readonly eventAdapter;
25
+ constructor(props: SimCloudFrontFunctionProps);
26
+ /**
27
+ * Get the current status of this sim CloudFront Function.
28
+ */
29
+ get status(): CloudFrontFunctionStatus;
30
+ /**
31
+ * Get the ARN for this sim CloudFront Function.
32
+ */
33
+ get arn(): SimArn;
34
+ /**
35
+ * Move this sim CloudFront Function to the PUBLISHED status.
36
+ */
37
+ publish(): Promise<void>;
38
+ /**
39
+ * Run the viewer-request CFF handler on a native Request.
40
+ */
41
+ handleViewerRequest(req: Request): Request | Response;
42
+ /**
43
+ * Run the viewer-response CFF handler on a native Request and Response.
44
+ */
45
+ handleViewerResponse(req: Request, res: Response): Response;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=sim-cloudfront-function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cloudfront-function.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/cff/sim-cloudfront-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,MAAM,EACN,2BAA2B,CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEjB,UAAU,0BAA0B;IAClC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,eAAe,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAC7C,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,OAOlD,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,IAAI,EAAE,yBAAyB,CAAC;IAChD,OAAO,CAAC,OAAO,CAA2B;IAC1C,SAAgB,SAAS,EAAE,eAAe,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAEtC,KAAK,EAAE,0BAA0B;IAe7C;;OAEG;IACH,IAAI,MAAM,IAAI,wBAAwB,CAErC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ;IAUrD;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ;CAS5D"}
@@ -0,0 +1,66 @@
1
+ import { SimCffEventAdapter } from "./adapter/sim-cff-event-adapter.js";
2
+ import { makeSimAwsAccountId, } from "../../aws/sim-aws-account.js";
3
+ export const defaultCffHandler = (event) => {
4
+ if (event.context.eventType === "viewer-response") {
5
+ return event.response;
6
+ }
7
+ return event.request;
8
+ };
9
+ /**
10
+ * Simulated CloudFront Function resource.
11
+ */
12
+ export class SimCloudFrontFunction {
13
+ name;
14
+ _status;
15
+ accountId;
16
+ handlerFunction;
17
+ eventAdapter;
18
+ constructor(props) {
19
+ const { name, status = "UNPUBLISHED", accountId = makeSimAwsAccountId(), handlerFunction = defaultCffHandler, eventAdapter = new SimCffEventAdapter(), } = props;
20
+ this.name = name;
21
+ this._status = status;
22
+ this.accountId = accountId;
23
+ this.handlerFunction = handlerFunction;
24
+ this.eventAdapter = eventAdapter;
25
+ }
26
+ /**
27
+ * Get the current status of this sim CloudFront Function.
28
+ */
29
+ get status() {
30
+ return this._status;
31
+ }
32
+ /**
33
+ * Get the ARN for this sim CloudFront Function.
34
+ */
35
+ get arn() {
36
+ return `arn:aws:cloudfront::${this.accountId}:function/${this.name}`;
37
+ }
38
+ /**
39
+ * Move this sim CloudFront Function to the PUBLISHED status.
40
+ */
41
+ publish() {
42
+ this._status = "UNASSOCIATED";
43
+ return Promise.resolve();
44
+ }
45
+ /**
46
+ * Run the viewer-request CFF handler on a native Request.
47
+ */
48
+ handleViewerRequest(req) {
49
+ const cffEvent = this.eventAdapter.toViewerRequestEvent(req);
50
+ const handlerFunction = this
51
+ .handlerFunction;
52
+ const cffResult = handlerFunction(cffEvent);
53
+ return this.eventAdapter.fromViewerRequestResult(cffResult, req);
54
+ }
55
+ /**
56
+ * Run the viewer-response CFF handler on a native Request and Response.
57
+ */
58
+ handleViewerResponse(req, res) {
59
+ const cffEvent = this.eventAdapter.toViewerResponseEvent(req, res);
60
+ const handlerFunction = this
61
+ .handlerFunction;
62
+ const cffResult = handlerFunction(cffEvent);
63
+ return this.eventAdapter.fromViewerResponseResult(cffResult);
64
+ }
65
+ }
66
+ //# sourceMappingURL=sim-cloudfront-function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cloudfront-function.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/cff/sim-cloudfront-function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAoBtC,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAC3D,KAA+B,EAC/B,EAAE;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAClD,OAAQ,KAAgD,CAAC,QAAQ,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChB,IAAI,CAA4B;IACxC,OAAO,CAA2B;IAC1B,SAAS,CAAkB;IAE1B,eAAe,CAA6B;IAC5C,YAAY,CAAqB;IAElD,YAAY,KAAiC;QAC3C,MAAM,EACJ,IAAI,EACJ,MAAM,GAAG,aAAa,EACtB,SAAS,GAAG,mBAAmB,EAAE,EACjC,eAAe,GAAG,iBAAiB,EACnC,YAAY,GAAG,IAAI,kBAAkB,EAAE,GACxC,GAAG,KAAK,CAAC;QACV,IAAI,CAAC,IAAI,GAAG,IAAiC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,uBAAuB,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,GAAY;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE7D,MAAM,eAAe,GAAG,IAAI;aACzB,eAA0D,CAAC;QAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,GAAY,EAAE,GAAa;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnE,MAAM,eAAe,GAAG,IAAI;aACzB,eAA2D,CAAC;QAC/D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF"}
@@ -8,22 +8,22 @@ export interface SimCreateDistributionCommand {
8
8
  * Minimal structural sim CloudFront CreateDistribution input.
9
9
  */
10
10
  export interface SimCreateDistributionCommandInput {
11
- readonly DistributionConfig?: SimCloudFrontDistributionConfig;
11
+ readonly DistributionConfig?: SimCloudFrontDistributionConfig | undefined;
12
12
  }
13
13
  /**
14
14
  * Minimal structural sim CloudFront CreateDistribution output.
15
15
  */
16
16
  export interface SimCreateDistributionCommandOutput {
17
17
  readonly Distribution?: {
18
- readonly Id?: string;
19
- readonly ARN?: string;
20
- readonly Status?: string;
21
- readonly LastModifiedTime?: Date;
22
- readonly InProgressInvalidationBatches?: number;
23
- readonly DomainName?: string;
24
- readonly DistributionConfig?: SimCloudFrontDistributionConfig;
25
- };
26
- readonly Location?: string;
18
+ readonly Id?: string | undefined;
19
+ readonly ARN?: string | undefined;
20
+ readonly Status?: string | undefined;
21
+ readonly LastModifiedTime?: Date | undefined;
22
+ readonly InProgressInvalidationBatches?: number | undefined;
23
+ readonly DomainName?: string | undefined;
24
+ readonly DistributionConfig?: SimCloudFrontDistributionConfig | undefined;
25
+ } | undefined;
26
+ readonly Location?: string | undefined;
27
27
  readonly $metadata: Record<string, unknown>;
28
28
  }
29
29
  /**
@@ -31,51 +31,67 @@ export interface SimCreateDistributionCommandOutput {
31
31
  */
32
32
  export interface SimCloudFrontDistributionConfig {
33
33
  readonly Aliases?: {
34
- readonly Items?: readonly string[];
35
- };
34
+ readonly Items?: readonly string[] | undefined;
35
+ } | undefined;
36
36
  readonly Origins?: {
37
- readonly Items?: readonly SimCloudFrontOriginConfig[];
38
- };
39
- readonly DefaultCacheBehavior?: SimCloudFrontDefaultCacheBehaviorConfig;
37
+ readonly Items?: readonly SimCloudFrontOriginConfig[] | undefined;
38
+ } | undefined;
39
+ readonly DefaultCacheBehavior?: SimCloudFrontDefaultCacheBehaviorConfig | undefined;
40
40
  readonly CacheBehaviors?: {
41
- readonly Items?: readonly SimCloudFrontCacheBehaviorConfig[];
42
- };
41
+ readonly Items?: readonly SimCloudFrontCacheBehaviorConfig[] | undefined;
42
+ } | undefined;
43
43
  }
44
44
  /**
45
45
  * Minimal structural sim CloudFront Origin config.
46
46
  */
47
47
  export interface SimCloudFrontOriginConfig {
48
- readonly Id?: string;
49
- readonly DomainName?: string;
50
- readonly OriginPath?: string;
51
- readonly S3OriginConfig?: object;
48
+ readonly Id?: string | undefined;
49
+ readonly DomainName?: string | undefined;
50
+ readonly OriginPath?: string | undefined;
51
+ readonly S3OriginConfig?: object | undefined;
52
52
  }
53
53
  /**
54
54
  * Minimal structural sim CloudFront default cache behavior config.
55
55
  */
56
56
  export interface SimCloudFrontDefaultCacheBehaviorConfig {
57
- readonly TargetOriginId?: string;
58
- readonly AllowedMethods?: SimCloudFrontAllowedMethods;
59
- readonly ViewerProtocolPolicy?: SimCloudFrontViewerProtocolPolicy;
57
+ readonly TargetOriginId?: string | undefined;
58
+ readonly AllowedMethods?: SimCloudFrontAllowedMethods | undefined;
59
+ readonly ViewerProtocolPolicy?: SimCloudFrontViewerProtocolPolicy | undefined;
60
+ readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
60
61
  }
61
62
  /**
62
63
  * Minimal structural sim CloudFront cache behavior config.
63
64
  */
64
65
  export interface SimCloudFrontCacheBehaviorConfig extends SimCloudFrontDefaultCacheBehaviorConfig {
65
- readonly PathPattern?: string;
66
+ readonly PathPattern?: string | undefined;
67
+ readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
68
+ }
69
+ /**
70
+ * Minimal structural sim CloudFront function associations list.
71
+ */
72
+ export interface SimCloudFrontFunctionAssociations {
73
+ readonly Quantity?: number | undefined;
74
+ readonly Items?: readonly SimCloudFrontFunctionAssociation[] | undefined;
75
+ }
76
+ /**
77
+ * Minimal structural sim CloudFront function association.
78
+ */
79
+ export interface SimCloudFrontFunctionAssociation {
80
+ readonly EventType?: "viewer-request" | "viewer-response" | "origin-request" | "origin-response" | undefined;
81
+ readonly FunctionARN?: string | undefined;
66
82
  }
67
83
  /**
68
84
  * Minimal structural sim CloudFront allowed methods list.
69
85
  */
70
86
  export interface SimCloudFrontAllowedMethods {
71
- readonly Items?: readonly string[];
72
- readonly CachedMethods?: SimCloudFrontMethodList;
87
+ readonly Items?: readonly string[] | undefined;
88
+ readonly CachedMethods?: SimCloudFrontMethodList | undefined;
73
89
  }
74
90
  /**
75
91
  * Minimal structural sim CloudFront method list.
76
92
  */
77
93
  export interface SimCloudFrontMethodList {
78
- readonly Items?: readonly string[];
94
+ readonly Items?: readonly string[] | undefined;
79
95
  }
80
96
  /**
81
97
  * Minimal structural sim CloudFront viewer protocol policy.
@@ -1 +1 @@
1
- {"version":3,"file":"create-distribution.cmd.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;QACjC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;KACvD,CAAC;IACF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,uCAAuC,CAAC;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;KAC9D,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,2BAA2B,CAAC;IACtD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,uCAAuC;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GACzC,WAAW,GACX,mBAAmB,GACnB,YAAY,CAAC"}
1
+ {"version":3,"file":"create-distribution.cmd.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.cmd.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,15 @@ import type { SimCreateDistributionCommand, SimCreateDistributionCommandOutput }
3
3
  import type { SimCloudFrontRegistry } from "../../sim-cloud-front-registry.js";
4
4
  import { SimCloudFrontDistribution, type SimCloudFrontDistributionId } from "../../distribution/sim-cloudfront-distribution.js";
5
5
  import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
6
- import { type SimCloudFrontS3OriginResolver } from "../../origin/sim-cloudfront-s3-origin.js";
6
+ import type { SimCloudFrontS3OriginResolver } from "../../origin/sim-cloudfront-s3-origin.js";
7
+ import type { BackgroundScheduler } from "../../../../util/background/background.js";
8
+ interface CreateDistributionCommandHandlerProps {
9
+ readonly accountId: SimAwsAccountId;
10
+ readonly distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
11
+ readonly cloudFrontRegistry: SimCloudFrontRegistry;
12
+ readonly s3OriginResolver: SimCloudFrontS3OriginResolver;
13
+ readonly background: BackgroundScheduler;
14
+ }
7
15
  /**
8
16
  * CloudFront CreateDistributionCommand handler.
9
17
  *
@@ -13,17 +21,13 @@ export declare class CreateDistributionCommandHandler implements CommandHandler<
13
21
  private readonly accountId;
14
22
  private readonly distributions;
15
23
  private readonly cloudFrontRegistry;
16
- private readonly s3OriginResolver;
17
- constructor(accountId: SimAwsAccountId, distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>, cloudFrontRegistry: SimCloudFrontRegistry, s3OriginResolver: SimCloudFrontS3OriginResolver);
24
+ private readonly distributionConfigurator;
25
+ private readonly background;
26
+ constructor(props: CreateDistributionCommandHandlerProps);
18
27
  /**
19
28
  * Handle creation of a new CloudFront Distribution.
20
29
  */
21
30
  handle(cmd: SimCreateDistributionCommand): Promise<SimCreateDistributionCommandOutput>;
22
- private configureDistribution;
23
- private configureOrigin;
24
- private behaviorFromDefaultCacheBehavior;
25
- private behaviorFromCacheBehavior;
26
- private requiredTargetOriginId;
27
- private methods;
28
31
  }
32
+ export {};
29
33
  //# sourceMappingURL=create-distribution.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-distribution.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAMV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EACL,yBAAyB,EACzB,KAAK,2BAA2B,EACjC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,0CAA0C,CAAC;AAElD;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IAEG,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAI9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBANhB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,GAAG,CACjC,2BAA2B,EAC3B,yBAAyB,CAC1B,EACgB,kBAAkB,EAAE,qBAAqB,EACzC,gBAAgB,EAAE,6BAA6B;IAGlE;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,4BAA4B,GAChC,OAAO,CAAC,kCAAkC,CAAC;IAmC9C,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,gCAAgC;IAuBxC,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,OAAO;CAMhB"}
1
+ {"version":3,"file":"create-distribution.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EACL,yBAAyB,EACzB,KAAK,2BAA2B,EACjC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAKrF,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,GAAG,CACzB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IACF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAwC;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,qCAAqC;IAWxD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,4BAA4B,GAChC,OAAO,CAAC,kCAAkC,CAAC;CA0C/C"}
@@ -1,7 +1,9 @@
1
1
  import { jitter } from "../../../../util/sleep.js";
2
2
  import { SimCloudFrontDistribution, } from "../../distribution/sim-cloudfront-distribution.js";
3
3
  import { assertDefined } from "../../../../util/defined/defined.js";
4
- import { SimCloudFrontS3Origin, } from "../../origin/sim-cloudfront-s3-origin.js";
4
+ import { SimCloudFrontOriginConfigurator } from "../../distribution/configurator/sim-cloud-front-origin-configurator.js";
5
+ import { SimCloudFrontBehaviorConfigurator } from "../../distribution/configurator/sim-cloud-front-behavior-configurator.js";
6
+ import { SimCloudFrontDistributionConfigurator } from "../../distribution/configurator/sim-cloud-front-distribution-configurator.js";
5
7
  /**
6
8
  * CloudFront CreateDistributionCommand handler.
7
9
  *
@@ -11,12 +13,14 @@ export class CreateDistributionCommandHandler {
11
13
  accountId;
12
14
  distributions;
13
15
  cloudFrontRegistry;
14
- s3OriginResolver;
15
- constructor(accountId, distributions, cloudFrontRegistry, s3OriginResolver) {
16
- this.accountId = accountId;
17
- this.distributions = distributions;
18
- this.cloudFrontRegistry = cloudFrontRegistry;
19
- this.s3OriginResolver = s3OriginResolver;
16
+ distributionConfigurator;
17
+ background;
18
+ constructor(props) {
19
+ this.accountId = props.accountId;
20
+ this.distributions = props.distributions;
21
+ this.cloudFrontRegistry = props.cloudFrontRegistry;
22
+ this.distributionConfigurator = new SimCloudFrontDistributionConfigurator(new SimCloudFrontOriginConfigurator(props.s3OriginResolver), new SimCloudFrontBehaviorConfigurator());
23
+ this.background = props.background;
20
24
  }
21
25
  /**
22
26
  * Handle creation of a new CloudFront Distribution.
@@ -26,89 +30,30 @@ export class CreateDistributionCommandHandler {
26
30
  const distributionConfig = cmd.input.DistributionConfig;
27
31
  assertDefined(distributionConfig, "CreateDistributionCommand.DistributionConfig");
28
32
  const distributionId = this.cloudFrontRegistry.allocateDistributionId();
29
- const distribution = new SimCloudFrontDistribution(distributionId);
30
- this.configureDistribution(distribution, distributionConfig);
33
+ const distribution = new SimCloudFrontDistribution({
34
+ distributionId,
35
+ distributionConfig,
36
+ status: "Deploying",
37
+ accountId: this.accountId,
38
+ });
39
+ this.distributionConfigurator.configure(distribution, distributionConfig);
31
40
  this.distributions.set(distribution.distributionId, distribution);
32
41
  this.cloudFrontRegistry.registerDistribution(distribution.distributionId, this.accountId);
42
+ // Schedule background task to complete deployment of the sim Distribution.
43
+ this.background.schedule(() => distribution.completeDeployment());
33
44
  return {
34
45
  Distribution: {
35
46
  Id: distribution.distributionId,
36
47
  ARN: `arn:aws:cloudfront::${this.accountId}:distribution/${distribution.distributionId}`,
37
- Status: "Deployed",
38
- LastModifiedTime: new Date(),
48
+ Status: distribution.status,
49
+ LastModifiedTime: distribution.lastModifiedTime,
39
50
  InProgressInvalidationBatches: 0,
40
51
  DomainName: `${distribution.distributionId.toLowerCase()}.cloudfront.net`,
41
- DistributionConfig: distributionConfig,
52
+ DistributionConfig: distribution.distributionConfig,
42
53
  },
43
54
  Location: `https://cloudfront.amazonaws.com/2020-05-31/distribution/${distribution.distributionId}`,
44
55
  $metadata: {},
45
56
  };
46
57
  }
47
- configureDistribution(distribution, distributionConfig) {
48
- for (const alias of distributionConfig.Aliases?.Items ?? []) {
49
- distribution.addAlternateDomainName(alias);
50
- }
51
- for (const origin of distributionConfig.Origins?.Items ?? []) {
52
- this.configureOrigin(distribution, origin);
53
- }
54
- distribution.addBehavior(this.behaviorFromDefaultCacheBehavior(distributionConfig.DefaultCacheBehavior));
55
- for (const cacheBehavior of distributionConfig.CacheBehaviors?.Items ??
56
- []) {
57
- distribution.addBehavior(this.behaviorFromCacheBehavior(cacheBehavior));
58
- }
59
- }
60
- configureOrigin(distribution, origin) {
61
- assertDefined(origin.Id, "CloudFront Origin Id");
62
- assertDefined(origin.DomainName, "CloudFront Origin DomainName");
63
- if (origin.S3OriginConfig !== undefined) {
64
- const bucket = this.s3OriginResolver(origin.DomainName);
65
- assertDefined(bucket, `Sim S3 Bucket for CloudFront Origin ${origin.DomainName}`);
66
- distribution.addOrigin(origin.Id, new SimCloudFrontS3Origin(bucket, origin.OriginPath));
67
- return;
68
- }
69
- throw new Error(`Unsupported sim CloudFront Origin type for Origin ${origin.Id}`);
70
- }
71
- behaviorFromDefaultCacheBehavior(cacheBehavior) {
72
- assertDefined(cacheBehavior, "CloudFront DefaultCacheBehavior");
73
- return {
74
- targetOriginName: this.requiredTargetOriginId(cacheBehavior.TargetOriginId),
75
- allowedMethods: this.methods(cacheBehavior.AllowedMethods, [
76
- "GET",
77
- "HEAD",
78
- ]),
79
- cachedMethods: this.methods(cacheBehavior.AllowedMethods?.CachedMethods, [
80
- "GET",
81
- "HEAD",
82
- ]),
83
- ...(cacheBehavior.ViewerProtocolPolicy === undefined
84
- ? {}
85
- : { viewerProtocolPolicy: cacheBehavior.ViewerProtocolPolicy }),
86
- };
87
- }
88
- behaviorFromCacheBehavior(cacheBehavior) {
89
- assertDefined(cacheBehavior.PathPattern, "CloudFront CacheBehavior PathPattern");
90
- return {
91
- pathPattern: cacheBehavior.PathPattern,
92
- targetOriginName: this.requiredTargetOriginId(cacheBehavior.TargetOriginId),
93
- allowedMethods: this.methods(cacheBehavior.AllowedMethods, [
94
- "GET",
95
- "HEAD",
96
- ]),
97
- cachedMethods: this.methods(cacheBehavior.AllowedMethods?.CachedMethods, [
98
- "GET",
99
- "HEAD",
100
- ]),
101
- ...(cacheBehavior.ViewerProtocolPolicy === undefined
102
- ? {}
103
- : { viewerProtocolPolicy: cacheBehavior.ViewerProtocolPolicy }),
104
- };
105
- }
106
- requiredTargetOriginId(targetOriginId) {
107
- assertDefined(targetOriginId, "CloudFront CacheBehavior TargetOriginId");
108
- return targetOriginId;
109
- }
110
- methods(methods, fallback) {
111
- return new Set(methods?.Items ?? fallback);
112
- }
113
58
  }
114
59
  //# sourceMappingURL=create-distribution.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-distribution.handler.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-distribution.handler.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-distribution/create-distribution.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,yBAAyB,GAE1B,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AACzH,OAAO,EAAE,iCAAiC,EAAE,MAAM,0EAA0E,CAAC;AAC7H,OAAO,EAAE,qCAAqC,EAAE,MAAM,8EAA8E,CAAC;AAarI;;;;GAIG;AACH,MAAM,OAAO,gCAAgC;IAI1B,SAAS,CAAkB;IAC3B,aAAa,CAG5B;IACe,kBAAkB,CAAwB;IAC1C,wBAAwB,CAAwC;IAChE,UAAU,CAAsB;IAEjD,YAAY,KAA4C;QACtD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,wBAAwB,GAAG,IAAI,qCAAqC,CACvE,IAAI,+BAA+B,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAC3D,IAAI,iCAAiC,EAAE,CACxC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAAiC;QAEjC,MAAM,MAAM,EAAE,CAAC;QAEf,MAAM,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACxD,aAAa,CACX,kBAAkB,EAClB,8CAA8C,CAC/C,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,yBAAyB,CAAC;YACjD,cAAc;YACd,kBAAkB;YAClB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAE1E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAC1C,YAAY,CAAC,cAAc,EAC3B,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,2EAA2E;QAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAElE,OAAO;YACL,YAAY,EAAE;gBACZ,EAAE,EAAE,YAAY,CAAC,cAAc;gBAC/B,GAAG,EAAE,uBAAuB,IAAI,CAAC,SAAS,iBAAiB,YAAY,CAAC,cAAc,EAAE;gBACxF,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;gBAC/C,6BAA6B,EAAE,CAAC;gBAChC,UAAU,EAAE,GAAG,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB;gBACzE,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;aACpD;YACD,QAAQ,EAAE,4DAA4D,YAAY,CAAC,cAAc,EAAE;YACnG,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateFunctionCommand/
3
+ */
4
+ import type { SimArn } from "../../../aws/arn.js";
5
+ /**
6
+ * Minimal structural sim CloudFront CreateFunction command.
7
+ */
8
+ export interface SimCreateFunctionCommand {
9
+ readonly input: SimCreateFunctionCommandInput;
10
+ }
11
+ /**
12
+ * Minimal structural sim CloudFront CreateFunction input.
13
+ */
14
+ export interface SimCreateFunctionCommandInput {
15
+ readonly Name?: string | undefined;
16
+ FunctionConfig?: {
17
+ Comment?: string | undefined;
18
+ Runtime?: "cloudfront-js-1.0" | "cloudfront-js-2.0" | undefined;
19
+ } | undefined;
20
+ FunctionCode?: Uint8Array | undefined;
21
+ }
22
+ /**
23
+ * Minimal structural sim CloudFront CreateFunction output.
24
+ */
25
+ export interface SimCreateFunctionCommandOutput {
26
+ readonly $metadata: Record<string, unknown>;
27
+ FunctionSummary: SimCloudFrontFunctionSummary;
28
+ FunctionMetadata: SimCloudFrontFunctionMetadata;
29
+ }
30
+ /**
31
+ * Minimal structural sim CloudFront Function summary.
32
+ */
33
+ export interface SimCloudFrontFunctionSummary {
34
+ Name: string;
35
+ Status: string;
36
+ }
37
+ /**
38
+ * Minimal structural sim CloudFront Function metadata.
39
+ */
40
+ export interface SimCloudFrontFunctionMetadata {
41
+ FunctionARN: SimArn;
42
+ }
43
+ //# sourceMappingURL=create-function.cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-function.cmd.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-function/create-function.cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EACX;QACE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,SAAS,CAAC;KACjE,GACD,SAAS,CAAC;IACd,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,EAAE,4BAA4B,CAAC;IAC9C,gBAAgB,EAAE,6BAA6B,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateFunctionCommand/
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=create-function.cmd.js.map