@kensio/yulin 0.10.0 → 0.12.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 (118) hide show
  1. package/dist/serve/controller/sim-service-controller.d.ts +1 -1
  2. package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
  3. package/dist/serve/http/sim-aws-local-server.js +1 -1
  4. package/dist/serve/http/sim-aws-local-server.js.map +1 -1
  5. package/dist/serve/http/sim-aws-local-url.d.ts +4 -0
  6. package/dist/serve/http/sim-aws-local-url.d.ts.map +1 -1
  7. package/dist/serve/http/sim-aws-local-url.js +9 -1
  8. package/dist/serve/http/sim-aws-local-url.js.map +1 -1
  9. package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts +1 -0
  10. package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts.map +1 -1
  11. package/dist/serve/resolve/sim-aws-local-service-resolver.js +27 -1
  12. package/dist/serve/resolve/sim-aws-local-service-resolver.js.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.d.ts +1 -1
  14. package/dist/service/aws/sim-aws-account-region-scope.js +1 -1
  15. package/dist/service/aws/sim-aws-account.d.ts +3 -0
  16. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  17. package/dist/service/aws/sim-aws-account.js +3 -0
  18. package/dist/service/aws/sim-aws-account.js.map +1 -1
  19. package/dist/service/aws/sim-aws-region.d.ts +4 -1
  20. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  21. package/dist/service/aws/sim-aws-region.js +4 -1
  22. package/dist/service/aws/sim-aws-region.js.map +1 -1
  23. package/dist/service/aws/sim-aws.d.ts +5 -0
  24. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  25. package/dist/service/aws/sim-aws.js +11 -0
  26. package/dist/service/aws/sim-aws.js.map +1 -1
  27. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +14 -0
  28. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -0
  29. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js +13 -0
  30. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -0
  31. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +29 -0
  32. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -0
  33. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +114 -0
  34. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -0
  35. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +20 -0
  36. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -0
  37. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +41 -0
  38. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -0
  39. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +47 -0
  40. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -0
  41. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +64 -0
  42. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -0
  43. package/dist/service/cloudfront/install/install-sim-cloudfront.d.ts +18 -0
  44. package/dist/service/cloudfront/install/install-sim-cloudfront.d.ts.map +1 -0
  45. package/dist/service/cloudfront/install/install-sim-cloudfront.js +43 -0
  46. package/dist/service/cloudfront/install/install-sim-cloudfront.js.map +1 -0
  47. package/dist/service/cloudfront/origin/sim-cloudfront-origin.d.ts +8 -0
  48. package/dist/service/cloudfront/origin/sim-cloudfront-origin.d.ts.map +1 -0
  49. package/dist/service/cloudfront/origin/sim-cloudfront-origin.js +2 -0
  50. package/dist/service/cloudfront/origin/sim-cloudfront-origin.js.map +1 -0
  51. package/dist/service/cloudfront/origin/sim-cloudfront-req-res.d.ts +8 -0
  52. package/dist/service/cloudfront/origin/sim-cloudfront-req-res.d.ts.map +1 -0
  53. package/dist/service/cloudfront/origin/sim-cloudfront-req-res.js +2 -0
  54. package/dist/service/cloudfront/origin/sim-cloudfront-req-res.js.map +1 -0
  55. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +40 -0
  56. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -0
  57. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +115 -0
  58. package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -0
  59. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts +17 -0
  60. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts.map +1 -0
  61. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +44 -0
  62. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -0
  63. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +26 -0
  64. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -0
  65. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +61 -0
  66. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -0
  67. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts +26 -0
  68. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -0
  69. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +58 -0
  70. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -0
  71. package/dist/service/cloudfront/sim-cloud-front-registry.d.ts +22 -0
  72. package/dist/service/cloudfront/sim-cloud-front-registry.d.ts.map +1 -0
  73. package/dist/service/cloudfront/sim-cloud-front-registry.js +36 -0
  74. package/dist/service/cloudfront/sim-cloud-front-registry.js.map +1 -0
  75. package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -0
  76. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -0
  77. package/dist/service/cloudfront/sim-cloudfront.js +32 -0
  78. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -0
  79. package/dist/service/dynamodb/command/create-table/create-table.handler.js +1 -1
  80. package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
  81. package/dist/service/dynamodb/table/dynamodb-key-schema.js +1 -1
  82. package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
  83. package/dist/service/dynamodb/table/dynamodb-table.js +1 -1
  84. package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
  85. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +5 -2
  86. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  87. package/dist/service/s3/bucket/sim-s3-bucket.js +1 -1
  88. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  89. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -1
  90. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  91. package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
  92. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  93. package/dist/service/s3/command/list-objects/list-objects.handler.js +1 -1
  94. package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
  95. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
  96. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +1 -2
  97. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
  98. package/dist/service/s3/command/put-object/put-object.handler.js +1 -1
  99. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  100. package/dist/service/s3/install/install-sim-s3.d.ts +7 -0
  101. package/dist/service/s3/install/install-sim-s3.d.ts.map +1 -1
  102. package/dist/service/s3/install/install-sim-s3.js +22 -3
  103. package/dist/service/s3/install/install-sim-s3.js.map +1 -1
  104. package/dist/service/s3/serve/sim-s3-controller.d.ts +1 -1
  105. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  106. package/dist/service/s3/serve/sim-s3-controller.js +3 -3
  107. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  108. package/dist/service/s3/sim-s3-global-registry.d.ts +1 -0
  109. package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -1
  110. package/dist/service/s3/sim-s3-global-registry.js +1 -0
  111. package/dist/service/s3/sim-s3-global-registry.js.map +1 -1
  112. package/dist/service/s3/sim-s3.js +1 -1
  113. package/dist/service/s3/sim-s3.js.map +1 -1
  114. package/dist/util/defined/defined.d.ts +9 -0
  115. package/dist/util/defined/defined.d.ts.map +1 -0
  116. package/dist/util/defined/defined.js +21 -0
  117. package/dist/util/defined/defined.js.map +1 -0
  118. package/package.json +9 -4
@@ -1,7 +1,7 @@
1
1
  import type { AwsRegionName } from "../../service/aws/sim-aws-region.js";
2
2
  import type { SimAws } from "../../service/aws/sim-aws.js";
3
3
  export interface SimAwsServiceTarget {
4
- readonly service: string;
4
+ readonly service: "s3" | "cloudFront";
5
5
  readonly resourceName: string;
6
6
  readonly regionName?: AwsRegionName;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-service-controller.d.ts","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,MAAM,EAAE,MAAM,KACX,uBAAuB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"sim-service-controller.d.ts","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,MAAM,EAAE,MAAM,KACX,uBAAuB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB"}
@@ -2,7 +2,7 @@ import http, {} from "node:http";
2
2
  import { SimAws } from "../../service/aws/sim-aws.js";
3
3
  import { simAwsLocalConf } from "./sim-aws-local.conf.js";
4
4
  import { SimAwsHttp } from "./sim-aws-http.js";
5
- import { assertDefined } from "../../util/defined.js";
5
+ import { assertDefined } from "../../util/defined/defined.js";
6
6
  import { SimAwsLocalUrl } from "./sim-aws-local-url.js";
7
7
  /**
8
8
  * Local HTTP server for a simulated AWS environment.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-server.js","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-aws-local-server.js","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-server.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ export declare class SimAwsLocalUrl {
13
13
  * Convert to a URL string.
14
14
  */
15
15
  toString(): string;
16
+ /**
17
+ * Get a copy of the URL without the localhost suffix in the hostname.
18
+ */
19
+ withoutLocalhostSuffix(): URL;
16
20
  private localHostname;
17
21
  }
18
22
  //# sourceMappingURL=sim-aws-local-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-url.d.ts","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-url.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,cAAc;IACzB,gBAAuB,eAAe,SAAkC;IAExE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;gBAEd,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IAS9C;;OAEG;IACH,KAAK,IAAI,GAAG;IAIZ;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,aAAa;CAgBtB"}
1
+ {"version":3,"file":"sim-aws-local-url.d.ts","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-url.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,cAAc;IACzB,gBAAuB,eAAe,SAAkC;IAExE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;gBAEd,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IAS9C;;OAEG;IACH,KAAK,IAAI,GAAG;IAIZ;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,sBAAsB,IAAI,GAAG;IAM7B,OAAO,CAAC,aAAa;CAgBtB"}
@@ -17,7 +17,7 @@ export class SimAwsLocalUrl {
17
17
  * Convert to a URL instance.
18
18
  */
19
19
  toURL() {
20
- return new URL(this.url);
20
+ return new URL(this.url.toString());
21
21
  }
22
22
  /**
23
23
  * Convert to a URL string.
@@ -25,6 +25,14 @@ export class SimAwsLocalUrl {
25
25
  toString() {
26
26
  return this.url.toString();
27
27
  }
28
+ /**
29
+ * Get a copy of the URL without the localhost suffix in the hostname.
30
+ */
31
+ withoutLocalhostSuffix() {
32
+ const url = this.toURL();
33
+ url.hostname = url.hostname.replace(SimAwsLocalUrl.localhostSuffix, "");
34
+ return url;
35
+ }
28
36
  localHostname(hostname) {
29
37
  if (hostname.endsWith(SimAwsLocalUrl.localhostSuffix)) {
30
38
  return hostname;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-url.js","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,cAAc;IAClB,MAAM,CAAU,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;IAEvD,GAAG,CAAM;IAE1B,YAAY,KAAmB,EAAE,IAAa;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GACjB,2DAA2D,CAAC,IAAI,CAC9D,QAAQ,CACT,CAAC;QAEJ,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;QAC9E,CAAC;QAED,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC"}
1
+ {"version":3,"file":"sim-aws-local-url.js","sourceRoot":"","sources":["../../../src/serve/http/sim-aws-local-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,cAAc;IAClB,MAAM,CAAU,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;IAEvD,GAAG,CAAM;IAE1B,YAAY,KAAmB,EAAE,IAAa;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GACjB,2DAA2D,CAAC,IAAI,CAC9D,QAAQ,CACT,CAAC;QAEJ,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;QAC9E,CAAC;QAED,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC"}
@@ -8,5 +8,6 @@ export declare class SimAwsLocalServiceResolver {
8
8
  */
9
9
  resolveHost(hostname: string): SimAwsServiceTarget | undefined;
10
10
  private builtinLocalhostServiceTarget;
11
+ private cloudFrontLocalhostServiceTarget;
11
12
  }
12
13
  //# sourceMappingURL=sim-aws-local-service-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-service-resolver.d.ts","sourceRoot":"","sources":["../../../src/serve/resolve/sim-aws-local-service-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAMnF;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI9D,OAAO,CAAC,6BAA6B;CAkCtC"}
1
+ {"version":3,"file":"sim-aws-local-service-resolver.d.ts","sourceRoot":"","sources":["../../../src/serve/resolve/sim-aws-local-service-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAO9D,OAAO,CAAC,6BAA6B;IAmCrC,OAAO,CAAC,gCAAgC;CA+BzC"}
@@ -1,5 +1,6 @@
1
1
  import { SimAwsLocalUrl } from "../http/sim-aws-local-url.js";
2
2
  const s3WebsiteServiceLabel = "s3-website";
3
+ const cloudFrontServiceLabel = "cloudfront";
3
4
  /**
4
5
  * Default resolver for localhost subdomains to simulated AWS services.
5
6
  */
@@ -8,7 +9,8 @@ export class SimAwsLocalServiceResolver {
8
9
  * Resolve a localhost subdomain hostname to a simulated AWS service target.
9
10
  */
10
11
  resolveHost(hostname) {
11
- return this.builtinLocalhostServiceTarget(hostname);
12
+ return (this.builtinLocalhostServiceTarget(hostname) ??
13
+ this.cloudFrontLocalhostServiceTarget(hostname));
12
14
  }
13
15
  builtinLocalhostServiceTarget(hostname) {
14
16
  if (!hostname.endsWith(SimAwsLocalUrl.localhostSuffix)) {
@@ -35,5 +37,29 @@ export class SimAwsLocalServiceResolver {
35
37
  }
36
38
  return undefined;
37
39
  }
40
+ cloudFrontLocalhostServiceTarget(hostname) {
41
+ if (!hostname.endsWith(SimAwsLocalUrl.localhostSuffix)) {
42
+ return undefined;
43
+ }
44
+ const labels = hostname
45
+ .slice(0, -SimAwsLocalUrl.localhostSuffix.length)
46
+ .split(".");
47
+ if (labels.length < 3) {
48
+ return undefined;
49
+ }
50
+ // Check for CloudFront with .net in the domain: <distro-id>.cloudfront.net.sim-aws.localhost
51
+ if (labels.at(-2) === cloudFrontServiceLabel && labels.at(-1) === "net") {
52
+ // Extract distribution ID from the subdomain before "cloudfront"
53
+ const distroId = labels.at(-3);
54
+ if (distroId === undefined || distroId.length === 0) {
55
+ return undefined;
56
+ }
57
+ return {
58
+ service: "cloudFront",
59
+ resourceName: distroId,
60
+ };
61
+ }
62
+ return undefined;
63
+ }
38
64
  }
39
65
  //# sourceMappingURL=sim-aws-local-service-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-service-resolver.js","sourceRoot":"","sources":["../../../src/serve/resolve/sim-aws-local-service-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEO,6BAA6B,CACnC,QAAgB;QAEhB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ;aACpB,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAA8B,CAAC;QAE9D,IAAI,OAAO,KAAK,qBAAqB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY;gBACZ,UAAU;aACX,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"sim-aws-local-service-resolver.js","sourceRoot":"","sources":["../../../src/serve/resolve/sim-aws-local-service-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAC3C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,CACL,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAChD,CAAC;IACJ,CAAC;IAEO,6BAA6B,CACnC,QAAgB;QAEhB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ;aACpB,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAA8B,CAAC;QAE9D,IAAI,OAAO,KAAK,qBAAqB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY;gBACZ,UAAU;aACX,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gCAAgC,CACtC,QAAgB;QAEhB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ;aACpB,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,6FAA6F;QAC7F,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,sBAAsB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACxE,iEAAiE;YACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,QAAQ;aACvB,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -6,7 +6,7 @@ import { DynamicFactory } from "@kensio/part-factory";
6
6
  export type SimAccountRegionScopeKey = `${SimAwsAccountId}:${AwsRegionName}`;
7
7
  /**
8
8
  * Combined simulated AWS Account and Region scope.
9
- * This is the real container for simulated services.
9
+ * This is the real Account/Region scope container for simulated services.
10
10
  */
11
11
  export declare class SimAwsAccountRegionContainer<TServices extends SimAwsServiceMap = NoSimAwsServices> {
12
12
  private readonly simAws;
@@ -5,7 +5,7 @@ import { SimAws } from "./sim-aws.js";
5
5
  import { DynamicFactory } from "@kensio/part-factory";
6
6
  /**
7
7
  * Combined simulated AWS Account and Region scope.
8
- * This is the real container for simulated services.
8
+ * This is the real Account/Region scope container for simulated services.
9
9
  */
10
10
  export class SimAwsAccountRegionContainer {
11
11
  simAws;
@@ -6,6 +6,9 @@ export type SimAwsAccountId = Brand<string, "SimAwsAccountId">;
6
6
  export declare const DEFAULT_SIM_AWS_ACCOUNT_ID: SimAwsAccountId;
7
7
  /**
8
8
  * Container for simulated AWS services in one AWS Account.
9
+ * The real scope is Account/Region in SimAwsAccountRegionContainer.
10
+ * So SimAwsAccount is like an intermediate navigation handler on the way to a
11
+ * full Account/Region scope.
9
12
  */
10
13
  export declare class SimAwsAccount<TServices extends SimAwsServiceMap = NoSimAwsServices> {
11
14
  private readonly accountRegionScopes;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-account.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGtF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D,eAAO,MAAM,0BAA0B,EAAqB,eAAe,CAAC;AAE5E;;GAEG;AACH,qBAAa,aAAa,CACxB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aACpB,SAAS,EAAE,eAAe;gBADzB,mBAAmB,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC1D,SAAS,GAAE,eAA4C;IAGzE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,4BAA4B,CAAC,SAAS,CAAC;IAO3E;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;CAG1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAErD"}
1
+ {"version":3,"file":"sim-aws-account.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGtF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D,eAAO,MAAM,0BAA0B,EAAqB,eAAe,CAAC;AAE5E;;;;;GAKG;AACH,qBAAa,aAAa,CACxB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aACpB,SAAS,EAAE,eAAe;gBADzB,mBAAmB,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC1D,SAAS,GAAE,eAA4C;IAGzE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,4BAA4B,CAAC,SAAS,CAAC;IAO3E;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;CAG1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAErD"}
@@ -2,6 +2,9 @@ import { faker } from "@faker-js/faker";
2
2
  export const DEFAULT_SIM_AWS_ACCOUNT_ID = "888888888888";
3
3
  /**
4
4
  * Container for simulated AWS services in one AWS Account.
5
+ * The real scope is Account/Region in SimAwsAccountRegionContainer.
6
+ * So SimAwsAccount is like an intermediate navigation handler on the way to a
7
+ * full Account/Region scope.
5
8
  */
6
9
  export class SimAwsAccount {
7
10
  accountRegionScopes;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-account.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAiC,CAAC;AAE5E;;GAEG;AACH,MAAM,OAAO,aAAa;IAIL;IACD;IAFlB,YACmB,mBAAyD,EAC1D,YAA6B,0BAA0B;QADtD,wBAAmB,GAAnB,mBAAmB,CAAsC;QAC1D,cAAS,GAAT,SAAS,CAA8C;IACtE,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,UAA0B;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,IAAI,CAAC,SAAS,EACd,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA+B,WAAiB;QACrD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAoB,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"sim-aws-account.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAiC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAIL;IACD;IAFlB,YACmB,mBAAyD,EAC1D,YAA6B,0BAA0B;QADtD,wBAAmB,GAAnB,mBAAmB,CAAsC;QAC1D,cAAS,GAAT,SAAS,CAA8C;IACtE,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,UAA0B;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,IAAI,CAAC,SAAS,EACd,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA+B,WAAiB;QACrD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAoB,CAAC;AACjE,CAAC"}
@@ -5,7 +5,10 @@ export declare const AWS_REGION_NAMES: readonly ["us-east-1", "us-east-2", "us-w
5
5
  export type AwsRegionName = (typeof AWS_REGION_NAMES)[number];
6
6
  export declare const DEFAULT_SIM_AWS_REGION_NAME: "us-east-1";
7
7
  /**
8
- * Simulated AWS Region.
8
+ * Container for simulated AWS services in one AWS Region.
9
+ * The real scope is Account/Region in SimAwsAccountRegionContainer.
10
+ * So SimAwsRegion is like an intermediate navigation handler on the way to a
11
+ * full Account/Region scope.
9
12
  */
10
13
  export declare class SimAwsRegion<TServices extends SimAwsServiceMap = NoSimAwsServices> {
11
14
  private readonly accountRegionScopes;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-region.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,gBAAgB,ghBAmCnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAG,WAAoB,CAAC;AAEhE;;GAEG;AACH,qBAAa,YAAY,CACvB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aACpB,UAAU,EAAE,aAAa;gBADxB,mBAAmB,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC1D,UAAU,GAAE,aAA2C;IAGzE;;OAEG;IACH,OAAO,CACL,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,GACnC,4BAA4B,CAAC,SAAS,CAAC;IAO1C;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;CAG1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD"}
1
+ {"version":3,"file":"sim-aws-region.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,gBAAgB,ghBAmCnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAG,WAAoB,CAAC;AAEhE;;;;;GAKG;AACH,qBAAa,YAAY,CACvB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aACpB,UAAU,EAAE,aAAa;gBADxB,mBAAmB,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC1D,UAAU,GAAE,aAA2C;IAGzE;;OAEG;IACH,OAAO,CACL,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,GACnC,4BAA4B,CAAC,SAAS,CAAC;IAO1C;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;CAG1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD"}
@@ -37,7 +37,10 @@ export const AWS_REGION_NAMES = [
37
37
  ];
38
38
  export const DEFAULT_SIM_AWS_REGION_NAME = "us-east-1";
39
39
  /**
40
- * Simulated AWS Region.
40
+ * Container for simulated AWS services in one AWS Region.
41
+ * The real scope is Account/Region in SimAwsAccountRegionContainer.
42
+ * So SimAwsRegion is like an intermediate navigation handler on the way to a
43
+ * full Account/Region scope.
41
44
  */
42
45
  export class SimAwsRegion {
43
46
  accountRegionScopes;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-region.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,cAAc;IACd,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAoB,CAAC;AAEhE;;GAEG;AACH,MAAM,OAAO,YAAY;IAIJ;IACD;IAFlB,YACmB,mBAAyD,EAC1D,aAA4B,2BAA2B;QADtD,wBAAmB,GAAnB,mBAAmB,CAAsC;QAC1D,eAAU,GAAV,UAAU,CAA6C;IACtE,CAAC;IAEJ;;OAEG;IACH,OAAO,CACL,SAAoC;QAEpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,SAA4B,EAC5B,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA+B,WAAiB;QACrD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"sim-aws-region.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,cAAc;IACd,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAoB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAIJ;IACD;IAFlB,YACmB,mBAAyD,EAC1D,aAA4B,2BAA2B;QADtD,wBAAmB,GAAnB,mBAAmB,CAAsC;QAC1D,eAAU,GAAV,UAAU,CAA6C;IACtE,CAAC;IAEJ;;OAEG;IACH,OAAO,CACL,SAAoC;QAEpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,SAA4B,EAC5B,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAA+B,WAAiB;QACrD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC"}
@@ -7,6 +7,11 @@ import type { SimAwsServiceController, SimAwsServiceControllerFactory } from "..
7
7
  /**
8
8
  * Top-level container for simulated AWS.
9
9
  * Contains Account scopes, Region scopes, Account/Region scopes.
10
+ * Installers for each simulated service install services into the SimAws
11
+ * container.
12
+ * This allows for individual services to be installed as necessary, without
13
+ * importing all of them from the root and requiring every AWS SDK to be
14
+ * installed.
10
15
  */
11
16
  export declare class SimAws<TServices extends SimAwsServiceMap = NoSimAwsServices> implements SimAwsAccountRegionScopes<TServices> {
12
17
  readonly defaultAccountId: SimAwsAccountId;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,YAAY,EACZ,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,kDAAkD,CAAC;AAE1D;;;GAGG;AACH,qBAAa,MAAM,CACjB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,CACrD,YAAW,yBAAyB,CAAC,SAAS,CAAC;aA2B7B,gBAAgB;aAChB,iBAAiB;aACjB,UAAU,EAAE,mBAAmB,GAC7C,mBAAmB;IA7BvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;IAEJ,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGhC;IAEJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IAEJ,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAGvC;gBAGc,gBAAgB,kBAA6B,EAC7C,iBAAiB,cAA8B,EAC/C,UAAU,GAAE,mBAAmB,GAC7C,mBAA2C;IAG/C;;OAEG;IACH,OAAO,CAAC,SAAS,GAAE,MAA8B,GAAG,aAAa,CAAC,SAAS,CAAC;IAc5E;;OAEG;IACH,MAAM,CACJ,UAAU,GAAE,aAAsC,GACjD,YAAY,CAAC,SAAS,CAAC;IAW1B;;OAEG;IACH,kBAAkB,CAChB,SAAS,GAAE,eAAuC,EAClD,UAAU,GAAE,aAAsC,GACjD,4BAA4B,CAAC,SAAS,CAAC;IAgB1C;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB,GAC5B,IAAI;IAIP;;OAEG;IACH,wBAAwB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,8BAA8B,GACtC,IAAI;IAIP;;OAEG;IACH,aAAa,CAAC,IAAI,SAAS,MAAM,SAAS,EACxC,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC7C,SAAS,CAAC,IAAI,CAAC;IAYlB;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;IAYrE;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAIzE;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/C"}
1
+ {"version":3,"file":"sim-aws.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,YAAY,EACZ,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,kDAAkD,CAAC;AAE1D;;;;;;;;GAQG;AACH,qBAAa,MAAM,CACjB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,CACrD,YAAW,yBAAyB,CAAC,SAAS,CAAC;aA2B7B,gBAAgB;aAChB,iBAAiB;aACjB,UAAU,EAAE,mBAAmB,GAC7C,mBAAmB;IA7BvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;IAEJ,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGhC;IAEJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IAEJ,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAGvC;gBAGc,gBAAgB,kBAA6B,EAC7C,iBAAiB,cAA8B,EAC/C,UAAU,GAAE,mBAAmB,GAC7C,mBAA2C;IAG/C;;OAEG;IACH,OAAO,CAAC,SAAS,GAAE,MAA8B,GAAG,aAAa,CAAC,SAAS,CAAC;IAc5E;;OAEG;IACH,MAAM,CACJ,UAAU,GAAE,aAAsC,GACjD,YAAY,CAAC,SAAS,CAAC;IAW1B;;OAEG;IACH,kBAAkB,CAChB,SAAS,GAAE,eAAuC,EAClD,UAAU,GAAE,aAAsC,GACjD,4BAA4B,CAAC,SAAS,CAAC;IAgB1C;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB,GAC5B,IAAI;IASP;;OAEG;IACH,wBAAwB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,8BAA8B,GACtC,IAAI;IASP;;OAEG;IACH,aAAa,CAAC,IAAI,SAAS,MAAM,SAAS,EACxC,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC7C,SAAS,CAAC,IAAI,CAAC;IAYlB;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;IAYrE;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAIzE;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/C"}
@@ -5,6 +5,11 @@ import { SimAwsAccountRegionContainer, } from "./sim-aws-account-region-scope.js
5
5
  /**
6
6
  * Top-level container for simulated AWS.
7
7
  * Contains Account scopes, Region scopes, Account/Region scopes.
8
+ * Installers for each simulated service install services into the SimAws
9
+ * container.
10
+ * This allows for individual services to be installed as necessary, without
11
+ * importing all of them from the root and requiring every AWS SDK to be
12
+ * installed.
8
13
  */
9
14
  export class SimAws {
10
15
  defaultAccountId;
@@ -58,12 +63,18 @@ export class SimAws {
58
63
  * Install a simulated AWS service factory.
59
64
  */
60
65
  installService(serviceName, factory) {
66
+ if (this.serviceFactories.has(serviceName)) {
67
+ throw new Error(`Sim AWS service is already installed: ${String(serviceName)}`);
68
+ }
61
69
  this.serviceFactories.set(serviceName, factory);
62
70
  }
63
71
  /**
64
72
  * Install a simulated AWS HTTP service controller factory.
65
73
  */
66
74
  installServiceController(serviceName, factory) {
75
+ if (this.serviceControllerFactories.has(serviceName)) {
76
+ throw new Error(`Sim AWS service controller is already installed: ${serviceName}`);
77
+ }
67
78
  this.serviceControllerFactories.set(serviceName, factory);
68
79
  }
69
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-aws.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { StaticFactory } from "@kensio/part-factory";
2
+ export interface SimCloudFrontBehavior {
3
+ pathPattern?: string;
4
+ targetOriginName: string;
5
+ allowedMethods: Set<string>;
6
+ cachedMethods: Set<string>;
7
+ viewerProtocolPolicy?: "allow-all" | "redirect-to-https" | "https-only";
8
+ originPath?: string;
9
+ }
10
+ /**
11
+ * Generate a fake SimCloudFrontBehavior.
12
+ */
13
+ export declare const simCloudFrontBehaviorFactory: StaticFactory<SimCloudFrontBehavior>;
14
+ //# sourceMappingURL=sim-cloud-front-behavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cloud-front-behavior.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/behaviour/sim-cloud-front-behavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,oBAAoB,CAAC,EAAE,WAAW,GAAG,mBAAmB,GAAG,YAAY,CAAC;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD;;GAEG;AACH,eAAO,MAAM,4BAA4B,sCAQrC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { StaticFactory } from "@kensio/part-factory";
2
+ /**
3
+ * Generate a fake SimCloudFrontBehavior.
4
+ */
5
+ export const simCloudFrontBehaviorFactory = new StaticFactory({
6
+ pathPattern: "*",
7
+ targetOriginName: "foobar-origin",
8
+ allowedMethods: new Set(["GET", "HEAD"]),
9
+ cachedMethods: new Set(["GET", "HEAD"]),
10
+ viewerProtocolPolicy: "allow-all",
11
+ originPath: "/object.json",
12
+ });
13
+ //# sourceMappingURL=sim-cloud-front-behavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cloud-front-behavior.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/behaviour/sim-cloud-front-behavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,IAAI,aAAa,CAAwB;IACvC,WAAW,EAAE,GAAG;IAChB,gBAAgB,EAAE,eAAe;IACjC,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,oBAAoB,EAAE,WAAW;IACjC,UAAU,EAAE,cAAc;CAC3B,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import type { CreateDistributionCommand, CreateDistributionCommandOutput } from "@aws-sdk/client-cloudfront";
3
+ import type { SimCloudFrontRegistry } from "../../sim-cloud-front-registry.js";
4
+ import { SimCloudFrontDistribution, type SimCloudFrontDistributionId } from "../../distribution/sim-cloudfront-distribution.js";
5
+ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
6
+ import { type SimCloudFrontS3OriginResolver } from "../../origin/sim-cloudfront-s3-origin.js";
7
+ /**
8
+ * CloudFront CreateDistributionCommand handler.
9
+ *
10
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateDistributionCommand/
11
+ */
12
+ export declare class CreateDistributionCommandHandler implements CommandHandler<CreateDistributionCommand, CreateDistributionCommandOutput> {
13
+ private readonly accountId;
14
+ private readonly distributions;
15
+ private readonly cloudFrontRegistry;
16
+ private readonly s3OriginResolver;
17
+ constructor(accountId: SimAwsAccountId, distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>, cloudFrontRegistry: SimCloudFrontRegistry, s3OriginResolver: SimCloudFrontS3OriginResolver);
18
+ /**
19
+ * Handle creation of a new CloudFront Distribution.
20
+ */
21
+ handle(cmd: CreateDistributionCommand): Promise<CreateDistributionCommandOutput>;
22
+ private configureDistribution;
23
+ private configureOrigin;
24
+ private behaviorFromDefaultCacheBehavior;
25
+ private behaviorFromCacheBehavior;
26
+ private requiredTargetOriginId;
27
+ private methods;
28
+ }
29
+ //# sourceMappingURL=create-distribution.handler.d.ts.map
@@ -0,0 +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,EAEV,yBAAyB,EACzB,+BAA+B,EAIhC,MAAM,4BAA4B,CAAC;AACpC,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;AAMlD;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,yBAAyB,EACzB,+BAA+B,CAChC;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,yBAAyB,GAC7B,OAAO,CAAC,+BAA+B,CAAC;IAmC3C,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,gCAAgC;IAuBxC,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,OAAO;CAMhB"}
@@ -0,0 +1,114 @@
1
+ import { jitter } from "../../../../util/sleep.js";
2
+ import { SimCloudFrontDistribution, } from "../../distribution/sim-cloudfront-distribution.js";
3
+ import { assertDefined } from "../../../../util/defined/defined.js";
4
+ import { SimCloudFrontS3Origin, } from "../../origin/sim-cloudfront-s3-origin.js";
5
+ /**
6
+ * CloudFront CreateDistributionCommand handler.
7
+ *
8
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateDistributionCommand/
9
+ */
10
+ export class CreateDistributionCommandHandler {
11
+ accountId;
12
+ distributions;
13
+ 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;
20
+ }
21
+ /**
22
+ * Handle creation of a new CloudFront Distribution.
23
+ */
24
+ async handle(cmd) {
25
+ await jitter();
26
+ const distributionConfig = cmd.input.DistributionConfig;
27
+ assertDefined(distributionConfig, "CreateDistributionCommand.DistributionConfig");
28
+ const distributionId = this.cloudFrontRegistry.allocateDistributionId();
29
+ const distribution = new SimCloudFrontDistribution(distributionId);
30
+ this.configureDistribution(distribution, distributionConfig);
31
+ this.distributions.set(distribution.distributionId, distribution);
32
+ this.cloudFrontRegistry.registerDistribution(distribution.distributionId, this.accountId);
33
+ return {
34
+ Distribution: {
35
+ Id: distribution.distributionId,
36
+ ARN: `arn:aws:cloudfront::${this.accountId}:distribution/${distribution.distributionId}`,
37
+ Status: "Deployed",
38
+ LastModifiedTime: new Date(),
39
+ InProgressInvalidationBatches: 0,
40
+ DomainName: `${distribution.distributionId.toLowerCase()}.cloudfront.net`,
41
+ DistributionConfig: cmd.input.DistributionConfig,
42
+ },
43
+ Location: `https://cloudfront.amazonaws.com/2020-05-31/distribution/${distribution.distributionId}`,
44
+ $metadata: {},
45
+ };
46
+ }
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
+ }
114
+ //# sourceMappingURL=create-distribution.handler.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,20 @@
1
+ import type { SimAwsServiceController, SimAwsServiceTarget } from "../../../serve/controller/sim-service-controller.js";
2
+ import type { SimCloudFrontDistroRouter } from "../router/sim-cloud-front-distro-router.js";
3
+ import type { SimCloudFrontBehaviorResolver } from "../resolver/sim-cloud-front-behavior-resolver.js";
4
+ import { SimCloudFront } from "../sim-cloudfront.js";
5
+ /**
6
+ * Root CloudFront request controller within an Account scope.
7
+ * Controls the request processing workflow across the other simulated
8
+ * CloudFront components.
9
+ */
10
+ export declare class SimCloudFrontServiceController implements SimAwsServiceController {
11
+ private readonly distroRouter;
12
+ private readonly behaviourResolver;
13
+ constructor(cloudFront?: SimCloudFront, distroRouter?: SimCloudFrontDistroRouter, behaviourResolver?: SimCloudFrontBehaviorResolver);
14
+ /**
15
+ * Handle a sim CloudFront request by coordinating across other sim CloudFront
16
+ * components.
17
+ */
18
+ handleRequest(_target: SimAwsServiceTarget, req: Request): Promise<Response>;
19
+ }
20
+ //# sourceMappingURL=sim-cloudfront-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cloudfront-controller.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/controller/sim-cloudfront-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAE5F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAEtG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;gBAGhE,UAAU,GAAE,aAAmC,EAC/C,YAAY,GAAE,yBAEb,EACD,iBAAiB,GAAE,6BAA0E;IAM/F;;;OAGG;IACG,aAAa,CACjB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,QAAQ,CAAC;CA2BrB"}
@@ -0,0 +1,41 @@
1
+ import { SimCloudFrontDistroRouter as DefaultSimCloudFrontDistroRouter } from "../router/sim-cloud-front-distro-router.js";
2
+ import { SimCloudFrontBehaviorResolver as DefaultSimCloudFrontBehaviorResolver } from "../resolver/sim-cloud-front-behavior-resolver.js";
3
+ import { SimCloudFront } from "../sim-cloudfront.js";
4
+ /**
5
+ * Root CloudFront request controller within an Account scope.
6
+ * Controls the request processing workflow across the other simulated
7
+ * CloudFront components.
8
+ */
9
+ export class SimCloudFrontServiceController {
10
+ distroRouter;
11
+ behaviourResolver;
12
+ constructor(cloudFront = new SimCloudFront(), distroRouter = new DefaultSimCloudFrontDistroRouter(cloudFront.getDistributions()), behaviourResolver = new DefaultSimCloudFrontBehaviorResolver()) {
13
+ this.distroRouter = distroRouter;
14
+ this.behaviourResolver = behaviourResolver;
15
+ }
16
+ /**
17
+ * Handle a sim CloudFront request by coordinating across other sim CloudFront
18
+ * components.
19
+ */
20
+ async handleRequest(_target, req) {
21
+ const distro = this.distroRouter.distroForRequest(req);
22
+ if (distro === undefined) {
23
+ return new Response("Suitable sim CloudFront Distribution not found", {
24
+ status: 404,
25
+ });
26
+ }
27
+ const behaviour = this.behaviourResolver.resolve(req, distro);
28
+ const origin = distro.getOrigin(behaviour.targetOriginName);
29
+ if (origin === undefined) {
30
+ return new Response(`Sim CloudFront Distribution misconfigured for Origin ${behaviour.targetOriginName}`, {
31
+ status: 501,
32
+ });
33
+ }
34
+ return await origin.fetch({
35
+ req,
36
+ distribution: distro,
37
+ behavior: behaviour,
38
+ });
39
+ }
40
+ }
41
+ //# sourceMappingURL=sim-cloudfront-controller.js.map