@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.
- package/README.md +21 -19
- package/dist/config/eslint/cffjs2.eslint.config.d.ts +3 -0
- package/dist/config/eslint/cffjs2.eslint.config.d.ts.map +1 -0
- package/dist/config/eslint/cffjs2.eslint.config.js +119 -0
- package/dist/config/eslint/cffjs2.eslint.config.js.map +1 -0
- package/dist/config/eslint/index.d.ts +2 -0
- package/dist/config/eslint/index.d.ts.map +1 -0
- package/dist/config/eslint/index.js +2 -0
- package/dist/config/eslint/index.js.map +1 -0
- package/dist/serve/controller/sim-aws-service-controller-container.d.ts +6 -2
- package/dist/serve/controller/sim-aws-service-controller-container.d.ts.map +1 -1
- package/dist/serve/controller/sim-aws-service-controller-container.js +4 -2
- package/dist/serve/controller/sim-aws-service-controller-container.js.map +1 -1
- package/dist/serve/http/sim-aws-http.d.ts +5 -2
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +3 -4
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/serve/http/sim-aws-local-server.d.ts +10 -3
- package/dist/serve/http/sim-aws-local-server.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-server.js +7 -7
- package/dist/serve/http/sim-aws-local-server.js.map +1 -1
- package/dist/serve/http/sim-aws-local-url.d.ts +6 -1
- package/dist/serve/http/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-url.js +4 -4
- package/dist/serve/http/sim-aws-local-url.js.map +1 -1
- package/dist/service/aws/arn.d.ts +1 -1
- package/dist/service/aws/arn.d.ts.map +1 -1
- package/dist/service/aws/arn.js +1 -1
- package/dist/service/aws/arn.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +7 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +11 -6
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +8 -3
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +3 -1
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +8 -3
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +6 -4
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +21 -7
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +46 -13
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +5 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts +36 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js +177 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-event-adapter.js.map +1 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +38 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +69 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js.map +1 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +48 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +66 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +44 -28
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +13 -9
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +23 -78
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +43 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.js +5 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +28 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +49 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +29 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js +2 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +21 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +40 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +20 -4
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +52 -7
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +21 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +90 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +17 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +28 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +15 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +26 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +23 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +23 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +20 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -0
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts +15 -2
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.d.ts.map +1 -1
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.js +22 -12
- package/dist/service/cloudfront/factory/cloudfront-functions.factory.js.map +1 -1
- package/dist/service/cloudfront/index.d.ts +1 -0
- package/dist/service/cloudfront/index.d.ts.map +1 -1
- package/dist/service/cloudfront/index.js +1 -0
- package/dist/service/cloudfront/index.js.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +6 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +3 -3
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +2 -2
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +6 -2
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +3 -3
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts +24 -2
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +61 -10
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts +8 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloud-front-registry.js +12 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts +32 -2
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +55 -3
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts +22 -3
- package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts +7 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +10 -6
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +5 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +2 -2
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +5 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +2 -2
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts +93 -3
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts +5 -1
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.handler.js +2 -2
- package/dist/service/dynamodb/command/put-item/put-item.handler.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts +7 -2
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +11 -6
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.d.ts +10 -4
- package/dist/service/dynamodb/table/dynamodb-table.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.js +6 -4
- package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +9 -6
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +4 -5
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +7 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +8 -5
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts +2 -2
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +5 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +2 -2
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +5 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +2 -2
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts +4 -4
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +2 -2
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +5 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +2 -2
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts +8 -5
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +7 -3
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/object/s3-object.d.ts +7 -1
- package/dist/service/s3/object/s3-object.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object.js +2 -1
- package/dist/service/s3/object/s3-object.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +6 -2
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +4 -2
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.d.ts +6 -2
- package/dist/service/s3/serve/sim-s3-req-router.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.js +3 -1
- package/dist/service/s3/serve/sim-s3-req-router.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +7 -2
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +16 -9
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts +6 -1
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.js +10 -6
- package/dist/service/s3/storage/s3-filesystem-storage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +25 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-function.cmd.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-function/create-function.cmd.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import type { SimCreateFunctionCommand, SimCreateFunctionCommandOutput } from "./create-function.cmd.js";
|
|
3
|
+
import { SimCloudFrontFunction, type SimCloudFrontFunctionName } from "../../cff/sim-cloudfront-function.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
5
|
+
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
6
|
+
export type SimCloudFrontFunctionMap = Map<SimCloudFrontFunctionName, SimCloudFrontFunction>;
|
|
7
|
+
interface CreateFunctionCommandHandlerProps {
|
|
8
|
+
accountId: SimAwsAccountId;
|
|
9
|
+
cloudFrontFunctions?: SimCloudFrontFunctionMap;
|
|
10
|
+
background?: BackgroundScheduler;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simulated CloudFront CreateFunctionCommand handler.
|
|
14
|
+
*
|
|
15
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateFunctionCommand/
|
|
16
|
+
*/
|
|
17
|
+
export declare class CreateFunctionCommandHandler implements CommandHandler<SimCreateFunctionCommand, SimCreateFunctionCommandOutput> {
|
|
18
|
+
private readonly accountId;
|
|
19
|
+
private readonly cloudFrontFunctions;
|
|
20
|
+
private readonly background;
|
|
21
|
+
constructor(props: CreateFunctionCommandHandlerProps);
|
|
22
|
+
/**
|
|
23
|
+
* Create a sim CloudFront Function.
|
|
24
|
+
*/
|
|
25
|
+
handle(cmd: SimCreateFunctionCommand): Promise<SimCreateFunctionCommandOutput>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=create-function.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-function.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-function/create-function.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,qBAAqB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAAG,GAAG,CACxC,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;AAEF,UAAU,iCAAiC;IACzC,SAAS,EAAE,eAAe,CAAC;IAC3B,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,cAAc,CACjE,wBAAwB,EACxB,8BAA8B,CAC/B;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,iCAAiC;IAWpD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,8BAA8B,CAAC;CAkC3C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jitter } from "../../../../util/sleep.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
3
|
+
import { SimCloudFrontFunction, } from "../../cff/sim-cloudfront-function.js";
|
|
4
|
+
import { CffUint8ArrayFunctionCodeExtractor } from "../../cff/function-code-input/cff-function-code-input.js";
|
|
5
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
6
|
+
/**
|
|
7
|
+
* Simulated CloudFront CreateFunctionCommand handler.
|
|
8
|
+
*
|
|
9
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/CreateFunctionCommand/
|
|
10
|
+
*/
|
|
11
|
+
export class CreateFunctionCommandHandler {
|
|
12
|
+
accountId;
|
|
13
|
+
cloudFrontFunctions;
|
|
14
|
+
background;
|
|
15
|
+
constructor(props) {
|
|
16
|
+
const { accountId, cloudFrontFunctions = new Map(), background = new BackgroundTasks(), } = props;
|
|
17
|
+
this.accountId = accountId;
|
|
18
|
+
this.cloudFrontFunctions = cloudFrontFunctions;
|
|
19
|
+
this.background = background;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a sim CloudFront Function.
|
|
23
|
+
*/
|
|
24
|
+
async handle(cmd) {
|
|
25
|
+
assertDefined(cmd.input.Name, "CreateFunctionCommand.input.Name");
|
|
26
|
+
assertDefined(cmd.input.FunctionCode, "CreateFunctionCommand.input.FunctionCode");
|
|
27
|
+
await jitter();
|
|
28
|
+
const handlerFunction = new CffUint8ArrayFunctionCodeExtractor(cmd.input.FunctionCode).extractHandlerFunction();
|
|
29
|
+
const simCff = new SimCloudFrontFunction({
|
|
30
|
+
name: cmd.input.Name,
|
|
31
|
+
accountId: this.accountId,
|
|
32
|
+
handlerFunction,
|
|
33
|
+
});
|
|
34
|
+
this.cloudFrontFunctions.set(simCff.name, simCff);
|
|
35
|
+
// New CFF becomes available async in background.
|
|
36
|
+
this.background.schedule(() => simCff.publish());
|
|
37
|
+
return {
|
|
38
|
+
$metadata: {},
|
|
39
|
+
FunctionSummary: {
|
|
40
|
+
Name: simCff.name,
|
|
41
|
+
Status: simCff.status,
|
|
42
|
+
},
|
|
43
|
+
FunctionMetadata: {
|
|
44
|
+
FunctionARN: simCff.arn,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=create-function.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-function.handler.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/create-function/create-function.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,qBAAqB,GAEtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAcnD;;;;GAIG;AACH,MAAM,OAAO,4BAA4B;IAItB,SAAS,CAAkB;IAC3B,mBAAmB,CAA2B;IAC9C,UAAU,CAAsB;IAEjD,YAAY,KAAwC;QAClD,MAAM,EACJ,SAAS,EACT,mBAAmB,GAAG,IAAI,GAAG,EAA8B,EAC3D,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,KAAK,CAAC;QACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA6B;QAE7B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QAClE,aAAa,CACX,GAAG,CAAC,KAAK,CAAC,YAAY,EACtB,0CAA0C,CAC3C,CAAC;QAEF,MAAM,MAAM,EAAE,CAAC;QAEf,MAAM,eAAe,GAAG,IAAI,kCAAkC,CAC5D,GAAG,CAAC,KAAK,CAAC,YAAY,CACvB,CAAC,sBAAsB,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC;YACvC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElD,iDAAiD;QACjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjD,OAAO;YACL,SAAS,EAAE,EAAE;YACb,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACD,gBAAgB,EAAE;gBAChB,WAAW,EAAE,MAAM,CAAC,GAAG;aACxB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { SimCloudFrontDistributionConfig } from "../create-distribution/create-distribution.cmd.js";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal structural sim CloudFront GetDistribution command.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimGetDistributionCommand {
|
|
6
|
+
readonly input: SimGetDistributionCommandInput;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Minimal structural sim CloudFront GetDistribution input.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimGetDistributionCommandInput {
|
|
12
|
+
readonly Id?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Minimal structural sim CloudFront GetDistribution output.
|
|
16
|
+
*/
|
|
17
|
+
export interface SimGetDistributionCommandOutput {
|
|
18
|
+
readonly Distribution?: {
|
|
19
|
+
readonly Id?: string | undefined;
|
|
20
|
+
readonly ARN?: string | undefined;
|
|
21
|
+
readonly Status?: string | undefined;
|
|
22
|
+
readonly LastModifiedTime?: Date | undefined;
|
|
23
|
+
readonly InProgressInvalidationBatches?: number | undefined;
|
|
24
|
+
readonly DomainName?: string | undefined;
|
|
25
|
+
readonly DistributionConfig?: SimCloudFrontDistributionConfig | undefined;
|
|
26
|
+
} | undefined;
|
|
27
|
+
readonly $metadata: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=get-distribution.cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-distribution.cmd.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/get-distribution/get-distribution.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEzG;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,8BAA8B,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAClB;QACE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,kBAAkB,CAAC,EACxB,+BAA+B,GAC/B,SAAS,CAAC;KACf,GACD,SAAS,CAAC;IACd,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-distribution.cmd.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/get-distribution/get-distribution.cmd.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimGetDistributionCommand, SimGetDistributionCommandOutput } from "./get-distribution.cmd.js";
|
|
2
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
3
|
+
import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "../../distribution/sim-cloudfront-distribution.js";
|
|
4
|
+
interface GetDistributionCommandHandlerProps {
|
|
5
|
+
readonly distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* CloudFront GetDistributionCommand handler.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/GetDistributionCommand/
|
|
11
|
+
*/
|
|
12
|
+
export declare class GetDistributionCommandHandler implements CommandHandler<SimGetDistributionCommand, SimGetDistributionCommandOutput> {
|
|
13
|
+
private readonly distributions;
|
|
14
|
+
constructor(props: GetDistributionCommandHandlerProps);
|
|
15
|
+
/**
|
|
16
|
+
* Handle getting a CloudFront Distribution.
|
|
17
|
+
*/
|
|
18
|
+
handle(cmd: SimGetDistributionCommand): Promise<SimGetDistributionCommandOutput>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=get-distribution.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-distribution.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/get-distribution/get-distribution.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,mDAAmD,CAAC;AAG3D,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,aAAa,EAAE,GAAG,CACzB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;CACH;AAED;;;;GAIG;AACH,qBAAa,6BAA8B,YAAW,cAAc,CAClE,yBAAyB,EACzB,+BAA+B,CAChC;IACC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;gBAEU,KAAK,EAAE,kCAAkC;IAIrD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,+BAA+B,CAAC;CA4B5C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jitter } from "../../../../util/sleep.js";
|
|
2
|
+
import { SimCloudFrontResourceNotFoundException } from "../../error/sim-cloudfront.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* CloudFront GetDistributionCommand handler.
|
|
5
|
+
*
|
|
6
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/GetDistributionCommand/
|
|
7
|
+
*/
|
|
8
|
+
export class GetDistributionCommandHandler {
|
|
9
|
+
distributions;
|
|
10
|
+
constructor(props) {
|
|
11
|
+
this.distributions = props.distributions;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Handle getting a CloudFront Distribution.
|
|
15
|
+
*/
|
|
16
|
+
async handle(cmd) {
|
|
17
|
+
if (cmd.input.Id === undefined) {
|
|
18
|
+
throw new Error("GetDistributionCommand.input.Id is required");
|
|
19
|
+
}
|
|
20
|
+
const distributionId = cmd.input.Id;
|
|
21
|
+
await jitter();
|
|
22
|
+
const distribution = this.distributions.get(distributionId);
|
|
23
|
+
if (distribution === undefined) {
|
|
24
|
+
throw new SimCloudFrontResourceNotFoundException(`No sim CloudFront Distribution with ID ${distributionId}`);
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
Distribution: {
|
|
28
|
+
Id: distribution.distributionId,
|
|
29
|
+
ARN: `arn:aws:cloudfront::${distribution.accountId}:distribution/${distribution.distributionId}`,
|
|
30
|
+
Status: distribution.status,
|
|
31
|
+
LastModifiedTime: distribution.lastModifiedTime,
|
|
32
|
+
InProgressInvalidationBatches: 0,
|
|
33
|
+
DomainName: `${distribution.distributionId.toLowerCase()}.cloudfront.net`,
|
|
34
|
+
DistributionConfig: distribution.distributionConfig,
|
|
35
|
+
},
|
|
36
|
+
$metadata: {},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=get-distribution.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-distribution.handler.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/command/get-distribution/get-distribution.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAS7F;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;IAIvB,aAAa,CAG5B;IAEF,YAAY,KAAyC;QACnD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA8B;QAE9B,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,EAAiC,CAAC;QAEnE,MAAM,MAAM,EAAE,CAAC;QAEf,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,sCAAsC,CAC9C,0CAA0C,cAAc,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,YAAY,EAAE;gBACZ,EAAE,EAAE,YAAY,CAAC,cAAc;gBAC/B,GAAG,EAAE,uBAAuB,YAAY,CAAC,SAAS,iBAAiB,YAAY,CAAC,cAAc,EAAE;gBAChG,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,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
import type { SimAwsServiceController, SimAwsServiceTarget } from "../../../serve/controller/sim-service-controller.js";
|
|
2
2
|
import type { SimCloudFrontDistroRouter } from "../router/sim-cloud-front-distro-router.js";
|
|
3
3
|
import type { SimCloudFrontBehaviorResolver } from "../resolver/sim-cloud-front-behavior-resolver.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SimAws } from "../../aws/sim-aws.js";
|
|
5
|
+
import type { SimCloudFrontRegistry } from "../sim-cloud-front-registry.js";
|
|
6
|
+
interface SimCloudFrontServiceControllerProps {
|
|
7
|
+
readonly simAws?: SimAws;
|
|
8
|
+
readonly cloudFrontRegistry?: SimCloudFrontRegistry;
|
|
9
|
+
readonly distroRouter?: SimCloudFrontDistroRouter;
|
|
10
|
+
readonly behaviourResolver?: SimCloudFrontBehaviorResolver;
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
|
-
* Root CloudFront request controller
|
|
13
|
+
* Root CloudFront request controller.
|
|
7
14
|
* Controls the request processing workflow across the other simulated
|
|
8
15
|
* CloudFront components.
|
|
9
16
|
*/
|
|
10
17
|
export declare class SimCloudFrontServiceController implements SimAwsServiceController {
|
|
11
18
|
private readonly distroRouter;
|
|
12
19
|
private readonly behaviourResolver;
|
|
13
|
-
constructor(
|
|
20
|
+
constructor(props?: SimCloudFrontServiceControllerProps);
|
|
14
21
|
/**
|
|
15
22
|
* Handle a sim CloudFront request by coordinating across other sim CloudFront
|
|
16
23
|
* components.
|
|
17
24
|
*/
|
|
18
|
-
handleRequest(_target: SimAwsServiceTarget,
|
|
25
|
+
handleRequest(_target: SimAwsServiceTarget, request: Request): Promise<Response>;
|
|
26
|
+
/**
|
|
27
|
+
* Apply viewer request CloudFront Function if configured.
|
|
28
|
+
*/
|
|
29
|
+
private applyViewerRequestCff;
|
|
30
|
+
/**
|
|
31
|
+
* Apply viewer response CloudFront Function if configured.
|
|
32
|
+
*/
|
|
33
|
+
private applyViewerResponseCff;
|
|
19
34
|
}
|
|
35
|
+
export {};
|
|
20
36
|
//# sourceMappingURL=sim-cloudfront-controller.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAKtG,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CAC5D;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;gBAEtD,KAAK,GAAE,mCAAwC;IAiB3D;;;OAGG;IACG,aAAa,CACjB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC;IA0CpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAoB/B"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { SimCloudFrontDistroRouter as DefaultSimCloudFrontDistroRouter } from "../router/sim-cloud-front-distro-router.js";
|
|
2
2
|
import { SimCloudFrontBehaviorResolver as DefaultSimCloudFrontBehaviorResolver } from "../resolver/sim-cloud-front-behavior-resolver.js";
|
|
3
|
-
import {
|
|
3
|
+
import { assertDefined } from "../../../util/defined/defined.js";
|
|
4
|
+
import { SimAws } from "../../aws/sim-aws.js";
|
|
4
5
|
/**
|
|
5
|
-
* Root CloudFront request controller
|
|
6
|
+
* Root CloudFront request controller.
|
|
6
7
|
* Controls the request processing workflow across the other simulated
|
|
7
8
|
* CloudFront components.
|
|
8
9
|
*/
|
|
9
10
|
export class SimCloudFrontServiceController {
|
|
10
11
|
distroRouter;
|
|
11
12
|
behaviourResolver;
|
|
12
|
-
constructor(
|
|
13
|
+
constructor(props = {}) {
|
|
14
|
+
const simAws = props.simAws ?? new SimAws();
|
|
15
|
+
const cloudFrontRegistry = props.cloudFrontRegistry ?? simAws._cloudFrontRegistry();
|
|
16
|
+
const { distroRouter = new DefaultSimCloudFrontDistroRouter({
|
|
17
|
+
simAws,
|
|
18
|
+
cloudFrontRegistry,
|
|
19
|
+
}), behaviourResolver = new DefaultSimCloudFrontBehaviorResolver(), } = props;
|
|
13
20
|
this.distroRouter = distroRouter;
|
|
14
21
|
this.behaviourResolver = behaviourResolver;
|
|
15
22
|
}
|
|
@@ -17,25 +24,63 @@ export class SimCloudFrontServiceController {
|
|
|
17
24
|
* Handle a sim CloudFront request by coordinating across other sim CloudFront
|
|
18
25
|
* components.
|
|
19
26
|
*/
|
|
20
|
-
async handleRequest(_target,
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
async handleRequest(_target, request) {
|
|
28
|
+
let req = request;
|
|
29
|
+
const route = this.distroRouter.routeForRequest(req);
|
|
30
|
+
if (route === undefined) {
|
|
23
31
|
return new Response("Suitable sim CloudFront Distribution not found", {
|
|
24
32
|
status: 404,
|
|
25
33
|
});
|
|
26
34
|
}
|
|
35
|
+
const { cloudFront, distribution: distro } = route;
|
|
27
36
|
const behaviour = this.behaviourResolver.resolve(req, distro);
|
|
37
|
+
// Handle viewer-request CFF, if any.
|
|
38
|
+
const cffResult = this.applyViewerRequestCff(cloudFront, req, behaviour);
|
|
39
|
+
if (cffResult instanceof Response) {
|
|
40
|
+
return cffResult;
|
|
41
|
+
}
|
|
42
|
+
req = cffResult;
|
|
28
43
|
const origin = distro.getOrigin(behaviour.targetOriginName);
|
|
29
44
|
if (origin === undefined) {
|
|
30
45
|
return new Response(`Sim CloudFront Distribution misconfigured for Origin ${behaviour.targetOriginName}`, {
|
|
31
46
|
status: 501,
|
|
32
47
|
});
|
|
33
48
|
}
|
|
34
|
-
|
|
49
|
+
const res = await origin.fetch({
|
|
35
50
|
req,
|
|
36
51
|
distribution: distro,
|
|
37
52
|
behavior: behaviour,
|
|
38
53
|
});
|
|
54
|
+
// Handle viewer-response CFF, if any.
|
|
55
|
+
return this.applyViewerResponseCff(cloudFront, req, res, behaviour);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Apply viewer request CloudFront Function if configured.
|
|
59
|
+
*/
|
|
60
|
+
applyViewerRequestCff(cloudFront, req, behaviour) {
|
|
61
|
+
const viewerRequestCffArn = behaviour.functionAssociations?.viewerRequest;
|
|
62
|
+
if (viewerRequestCffArn === undefined) {
|
|
63
|
+
return req;
|
|
64
|
+
}
|
|
65
|
+
const viewerRequestCff = cloudFront.getCloudFrontFunctionByArn(viewerRequestCffArn);
|
|
66
|
+
assertDefined(viewerRequestCff, `CloudFront Function ${viewerRequestCffArn} for viewer-request`);
|
|
67
|
+
const viewerRequestCffResult = viewerRequestCff.handleViewerRequest(req);
|
|
68
|
+
if (viewerRequestCffResult instanceof Response) {
|
|
69
|
+
return viewerRequestCffResult;
|
|
70
|
+
}
|
|
71
|
+
return viewerRequestCffResult;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Apply viewer response CloudFront Function if configured.
|
|
75
|
+
*/
|
|
76
|
+
applyViewerResponseCff(cloudFront, req, res, behaviour) {
|
|
77
|
+
const viewerResponseCffArn = behaviour.functionAssociations?.viewerResponse;
|
|
78
|
+
if (viewerResponseCffArn === undefined) {
|
|
79
|
+
return res;
|
|
80
|
+
}
|
|
81
|
+
const viewerResponseCff = cloudFront.getCloudFrontFunctionByArn(viewerResponseCffArn);
|
|
82
|
+
assertDefined(viewerResponseCff, `CloudFront Function ${viewerResponseCffArn} for viewer-response`);
|
|
83
|
+
return viewerResponseCff.handleViewerResponse(req, res);
|
|
39
84
|
}
|
|
40
85
|
}
|
|
41
86
|
//# sourceMappingURL=sim-cloudfront-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cloudfront-controller.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/controller/sim-cloudfront-controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,IAAI,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAE3H,OAAO,EAAE,6BAA6B,IAAI,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cloudfront-controller.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/controller/sim-cloudfront-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimCloudFrontCacheBehaviorConfig, SimCloudFrontDefaultCacheBehaviorConfig } from "../../command/create-distribution/create-distribution.cmd.js";
|
|
2
|
+
import type { SimCloudFrontDistribution } from "../sim-cloudfront-distribution.js";
|
|
3
|
+
/**
|
|
4
|
+
* Applies Cache Behavior configuration to a sim CloudFront Distribution.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimCloudFrontBehaviorConfigurator {
|
|
7
|
+
/**
|
|
8
|
+
* Configure the default Cache Behavior on a Distribution.
|
|
9
|
+
*/
|
|
10
|
+
configureDefaultCacheBehavior(distribution: SimCloudFrontDistribution, cacheBehavior: SimCloudFrontDefaultCacheBehaviorConfig | undefined): void;
|
|
11
|
+
/**
|
|
12
|
+
* Configure a Cache Behavior on a Distribution.
|
|
13
|
+
*/
|
|
14
|
+
configureCacheBehavior(distribution: SimCloudFrontDistribution, cacheBehavior: SimCloudFrontCacheBehaviorConfig): void;
|
|
15
|
+
private behaviorFromDefaultCacheBehavior;
|
|
16
|
+
private behaviorFromCacheBehavior;
|
|
17
|
+
private functionAssociationsFromCacheBehavior;
|
|
18
|
+
private requiredTargetOriginId;
|
|
19
|
+
private methods;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-cloud-front-behavior-configurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-behavior-configurator.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,uCAAuC,EAExC,MAAM,8DAA8D,CAAC;AAItE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;GAEG;AACH,qBAAa,iCAAiC;IAC5C;;OAEG;IACH,6BAA6B,CAC3B,YAAY,EAAE,yBAAyB,EACvC,aAAa,EAAE,uCAAuC,GAAG,SAAS,GACjE,IAAI;IAMP;;OAEG;IACH,sBAAsB,CACpB,YAAY,EAAE,yBAAyB,EACvC,aAAa,EAAE,gCAAgC,GAC9C,IAAI;IAIP,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,qCAAqC;IA4C7C,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,OAAO;CAMhB"}
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
2
|
+
/**
|
|
3
|
+
* Applies Cache Behavior configuration to a sim CloudFront Distribution.
|
|
4
|
+
*/
|
|
5
|
+
export class SimCloudFrontBehaviorConfigurator {
|
|
6
|
+
/**
|
|
7
|
+
* Configure the default Cache Behavior on a Distribution.
|
|
8
|
+
*/
|
|
9
|
+
configureDefaultCacheBehavior(distribution, cacheBehavior) {
|
|
10
|
+
distribution.addBehavior(this.behaviorFromDefaultCacheBehavior(cacheBehavior));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Configure a Cache Behavior on a Distribution.
|
|
14
|
+
*/
|
|
15
|
+
configureCacheBehavior(distribution, cacheBehavior) {
|
|
16
|
+
distribution.addBehavior(this.behaviorFromCacheBehavior(cacheBehavior));
|
|
17
|
+
}
|
|
18
|
+
behaviorFromDefaultCacheBehavior(cacheBehavior) {
|
|
19
|
+
assertDefined(cacheBehavior, "CloudFront DefaultCacheBehavior");
|
|
20
|
+
return {
|
|
21
|
+
targetOriginName: this.requiredTargetOriginId(cacheBehavior.TargetOriginId),
|
|
22
|
+
allowedMethods: this.methods(cacheBehavior.AllowedMethods, [
|
|
23
|
+
"GET",
|
|
24
|
+
"HEAD",
|
|
25
|
+
]),
|
|
26
|
+
cachedMethods: this.methods(cacheBehavior.AllowedMethods?.CachedMethods, [
|
|
27
|
+
"GET",
|
|
28
|
+
"HEAD",
|
|
29
|
+
]),
|
|
30
|
+
...(cacheBehavior.ViewerProtocolPolicy === undefined
|
|
31
|
+
? {}
|
|
32
|
+
: { viewerProtocolPolicy: cacheBehavior.ViewerProtocolPolicy }),
|
|
33
|
+
functionAssociations: this.functionAssociationsFromCacheBehavior(cacheBehavior),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
behaviorFromCacheBehavior(cacheBehavior) {
|
|
37
|
+
assertDefined(cacheBehavior.PathPattern, "CloudFront CacheBehavior PathPattern");
|
|
38
|
+
return {
|
|
39
|
+
pathPattern: cacheBehavior.PathPattern,
|
|
40
|
+
targetOriginName: this.requiredTargetOriginId(cacheBehavior.TargetOriginId),
|
|
41
|
+
allowedMethods: this.methods(cacheBehavior.AllowedMethods, [
|
|
42
|
+
"GET",
|
|
43
|
+
"HEAD",
|
|
44
|
+
]),
|
|
45
|
+
cachedMethods: this.methods(cacheBehavior.AllowedMethods?.CachedMethods, [
|
|
46
|
+
"GET",
|
|
47
|
+
"HEAD",
|
|
48
|
+
]),
|
|
49
|
+
...(cacheBehavior.ViewerProtocolPolicy === undefined
|
|
50
|
+
? {}
|
|
51
|
+
: { viewerProtocolPolicy: cacheBehavior.ViewerProtocolPolicy }),
|
|
52
|
+
functionAssociations: this.functionAssociationsFromCacheBehavior(cacheBehavior),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
functionAssociationsFromCacheBehavior(cacheBehavior) {
|
|
56
|
+
if (cacheBehavior.FunctionAssociations?.Items === undefined) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const associations = {};
|
|
60
|
+
for (const funcAssoc of cacheBehavior.FunctionAssociations.Items) {
|
|
61
|
+
assertDefined(funcAssoc.EventType, "CloudFront Function association EventType");
|
|
62
|
+
assertDefined(funcAssoc.FunctionARN, "CloudFront Function association FunctionARN");
|
|
63
|
+
switch (funcAssoc.EventType) {
|
|
64
|
+
case "viewer-request": {
|
|
65
|
+
associations.viewerRequest = funcAssoc.FunctionARN;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case "viewer-response": {
|
|
69
|
+
associations.viewerResponse = funcAssoc.FunctionARN;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case "origin-request": {
|
|
73
|
+
throw new Error("CloudFront Function association EventType origin-request not implemented");
|
|
74
|
+
}
|
|
75
|
+
case "origin-response": {
|
|
76
|
+
throw new Error("CloudFront Function association EventType origin-response not implemented");
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return Object.keys(associations).length > 0 ? associations : undefined;
|
|
81
|
+
}
|
|
82
|
+
requiredTargetOriginId(targetOriginId) {
|
|
83
|
+
assertDefined(targetOriginId, "CloudFront CacheBehavior TargetOriginId");
|
|
84
|
+
return targetOriginId;
|
|
85
|
+
}
|
|
86
|
+
methods(methods, fallback) {
|
|
87
|
+
return new Set(methods?.Items ?? fallback);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=sim-cloud-front-behavior-configurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-behavior-configurator.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.cmd.js";
|
|
2
|
+
import type { SimCloudFrontDistribution } from "../sim-cloudfront-distribution.js";
|
|
3
|
+
import type { SimCloudFrontOriginConfigurator } from "./sim-cloud-front-origin-configurator.js";
|
|
4
|
+
import type { SimCloudFrontBehaviorConfigurator } from "./sim-cloud-front-behavior-configurator.js";
|
|
5
|
+
/**
|
|
6
|
+
* Applies top-level Distribution configuration to a sim CloudFront Distribution.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimCloudFrontDistributionConfigurator {
|
|
9
|
+
private readonly originConfigurator;
|
|
10
|
+
private readonly behaviorConfigurator;
|
|
11
|
+
constructor(originConfigurator: SimCloudFrontOriginConfigurator, behaviorConfigurator: SimCloudFrontBehaviorConfigurator);
|
|
12
|
+
/**
|
|
13
|
+
* Configure a Distribution from its DistributionConfig.
|
|
14
|
+
*/
|
|
15
|
+
configure(distribution: SimCloudFrontDistribution, distributionConfig: SimCloudFrontDistributionConfig): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sim-cloud-front-distribution-configurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-distribution-configurator.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AACpH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAEpG;;GAEG;AACH,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBADpB,kBAAkB,EAAE,+BAA+B,EACnD,oBAAoB,EAAE,iCAAiC;IAG1E;;OAEG;IACH,SAAS,CACP,YAAY,EAAE,yBAAyB,EACvC,kBAAkB,EAAE,+BAA+B,GAClD,IAAI;CAsBR"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies top-level Distribution configuration to a sim CloudFront Distribution.
|
|
3
|
+
*/
|
|
4
|
+
export class SimCloudFrontDistributionConfigurator {
|
|
5
|
+
originConfigurator;
|
|
6
|
+
behaviorConfigurator;
|
|
7
|
+
constructor(originConfigurator, behaviorConfigurator) {
|
|
8
|
+
this.originConfigurator = originConfigurator;
|
|
9
|
+
this.behaviorConfigurator = behaviorConfigurator;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configure a Distribution from its DistributionConfig.
|
|
13
|
+
*/
|
|
14
|
+
configure(distribution, distributionConfig) {
|
|
15
|
+
for (const alias of distributionConfig.Aliases?.Items ?? []) {
|
|
16
|
+
distribution.addAlternateDomainName(alias);
|
|
17
|
+
}
|
|
18
|
+
for (const origin of distributionConfig.Origins?.Items ?? []) {
|
|
19
|
+
this.originConfigurator.configure(distribution, origin);
|
|
20
|
+
}
|
|
21
|
+
this.behaviorConfigurator.configureDefaultCacheBehavior(distribution, distributionConfig.DefaultCacheBehavior);
|
|
22
|
+
for (const cacheBehavior of distributionConfig.CacheBehaviors?.Items ??
|
|
23
|
+
[]) {
|
|
24
|
+
this.behaviorConfigurator.configureCacheBehavior(distribution, cacheBehavior);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-cloud-front-distribution-configurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-distribution-configurator.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,qCAAqC;IAE7B;IACA;IAFnB,YACmB,kBAAmD,EACnD,oBAAuD;QADvD,uBAAkB,GAAlB,kBAAkB,CAAiC;QACnD,yBAAoB,GAApB,oBAAoB,CAAmC;IACvE,CAAC;IAEJ;;OAEG;IACH,SAAS,CACP,YAAuC,EACvC,kBAAmD;QAEnD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5D,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CACrD,YAAY,EACZ,kBAAkB,CAAC,oBAAoB,CACxC,CAAC;QAEF,KAAK,MAAM,aAAa,IAAI,kBAAkB,CAAC,cAAc,EAAE,KAAK;YAClE,EAAE,EAAE,CAAC;YACL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAC9C,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SimCloudFrontOriginConfig } from "../../command/create-distribution/create-distribution.cmd.js";
|
|
2
|
+
import type { SimCloudFrontDistribution } from "../sim-cloudfront-distribution.js";
|
|
3
|
+
import { type SimCloudFrontS3OriginResolver } from "../../origin/sim-cloudfront-s3-origin.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies Origin configuration to a sim CloudFront Distribution.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SimCloudFrontOriginConfigurator {
|
|
8
|
+
private readonly s3OriginResolver;
|
|
9
|
+
constructor(s3OriginResolver: SimCloudFrontS3OriginResolver);
|
|
10
|
+
/**
|
|
11
|
+
* Configure an Origin on a Distribution.
|
|
12
|
+
*/
|
|
13
|
+
configure(distribution: SimCloudFrontDistribution, origin: SimCloudFrontOriginConfig): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=sim-cloud-front-origin-configurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-origin-configurator.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AAC9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,0CAA0C,CAAC;AAElD;;GAEG;AACH,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,6BAA6B;IAGlE;;OAEG;IACH,SAAS,CACP,YAAY,EAAE,yBAAyB,EACvC,MAAM,EAAE,yBAAyB,GAChC,IAAI;CAuBR"}
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
2
|
+
import { SimCloudFrontS3Origin, } from "../../origin/sim-cloudfront-s3-origin.js";
|
|
3
|
+
/**
|
|
4
|
+
* Applies Origin configuration to a sim CloudFront Distribution.
|
|
5
|
+
*/
|
|
6
|
+
export class SimCloudFrontOriginConfigurator {
|
|
7
|
+
s3OriginResolver;
|
|
8
|
+
constructor(s3OriginResolver) {
|
|
9
|
+
this.s3OriginResolver = s3OriginResolver;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configure an Origin on a Distribution.
|
|
13
|
+
*/
|
|
14
|
+
configure(distribution, origin) {
|
|
15
|
+
assertDefined(origin.Id, "CloudFront Origin Id");
|
|
16
|
+
assertDefined(origin.DomainName, "CloudFront Origin DomainName");
|
|
17
|
+
if (origin.S3OriginConfig !== undefined) {
|
|
18
|
+
const bucket = this.s3OriginResolver(origin.DomainName);
|
|
19
|
+
assertDefined(bucket, `Sim S3 Bucket for CloudFront Origin ${origin.DomainName}`);
|
|
20
|
+
distribution.addOrigin(origin.Id, new SimCloudFrontS3Origin({ bucket, originPath: origin.OriginPath }));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
throw new Error(`Unsupported sim CloudFront Origin type for Origin ${origin.Id}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=sim-cloud-front-origin-configurator.js.map
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloud-front-origin-configurator.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,qBAAqB,GAEtB,MAAM,0CAA0C,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,+BAA+B;IAEvB;IADnB,YACmB,gBAA+C;QAA/C,qBAAgB,GAAhB,gBAAgB,CAA+B;IAC/D,CAAC;IAEJ;;OAEG;IACH,SAAS,CACP,YAAuC,EACvC,MAAiC;QAEjC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACjD,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAExD,aAAa,CACX,MAAM,EACN,uCAAuC,MAAM,CAAC,UAAU,EAAE,CAC3D,CAAC;YAEF,YAAY,CAAC,SAAS,CACpB,MAAM,CAAC,EAAE,EACT,IAAI,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CACrE,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,KAAK,CACb,qDAAqD,MAAM,CAAC,EAAE,EAAE,CACjE,CAAC;IACJ,CAAC;CACF"}
|