@kensio/yulin 0.13.0 → 0.14.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/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 +11 -26
|
@@ -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"}
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
import type { Brand } from "../../../util/brand.type.js";
|
|
2
2
|
import type { SimCloudFrontOrigin } from "../origin/sim-cloudfront-origin.js";
|
|
3
3
|
import type { SimCloudFrontBehavior } from "../behaviour/sim-cloud-front-behavior.js";
|
|
4
|
+
import { type SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
5
|
+
import type { SimCloudFrontDistributionConfig } from "../command/create-distribution/create-distribution.cmd.js";
|
|
4
6
|
export type SimCloudFrontDistributionId = Brand<string, "SimCloudFrontDistributionId">;
|
|
7
|
+
export type SimCloudFrontDistributionStatus = "Deploying" | "Deployed";
|
|
8
|
+
interface SimCloudFrontDistributionProps {
|
|
9
|
+
readonly distributionId?: SimCloudFrontDistributionId;
|
|
10
|
+
readonly status?: SimCloudFrontDistributionStatus;
|
|
11
|
+
readonly accountId?: SimAwsAccountId;
|
|
12
|
+
readonly distributionConfig?: SimCloudFrontDistributionConfig;
|
|
13
|
+
}
|
|
5
14
|
/**
|
|
6
15
|
* Simulated CloudFront Distribution.
|
|
7
16
|
*/
|
|
8
17
|
export declare class SimCloudFrontDistribution {
|
|
9
18
|
readonly distributionId: SimCloudFrontDistributionId;
|
|
19
|
+
private _status;
|
|
20
|
+
readonly accountId: SimAwsAccountId;
|
|
21
|
+
readonly distributionConfig: SimCloudFrontDistributionConfig | undefined;
|
|
10
22
|
private readonly alternateDomainNames;
|
|
11
23
|
readonly behaviors: SimCloudFrontBehavior[];
|
|
12
24
|
private readonly origins;
|
|
13
|
-
|
|
25
|
+
readonly lastModifiedTime: Date;
|
|
26
|
+
constructor(props?: SimCloudFrontDistributionProps);
|
|
27
|
+
/**
|
|
28
|
+
* Get the current Status of this sim Distribution.
|
|
29
|
+
*/
|
|
30
|
+
get status(): SimCloudFrontDistributionStatus;
|
|
31
|
+
/**
|
|
32
|
+
* Move the sim Distribution into Deployed status.
|
|
33
|
+
*/
|
|
34
|
+
completeDeployment(): Promise<void>;
|
|
14
35
|
/**
|
|
15
36
|
* Get the alternate domain names for this sim Distribution.
|
|
16
37
|
*/
|
|
@@ -44,4 +65,5 @@ export declare class SimCloudFrontDistribution {
|
|
|
44
65
|
* Generate a fake sim CloudFront Distribution ID.
|
|
45
66
|
*/
|
|
46
67
|
export declare function makeDistributionId(): SimCloudFrontDistributionId;
|
|
68
|
+
export {};
|
|
47
69
|
//# sourceMappingURL=sim-cloudfront-distribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cloudfront-distribution.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/distribution/sim-cloudfront-distribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cloudfront-distribution.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/distribution/sim-cloudfront-distribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEtF,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAEjH,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAC7C,MAAM,EACN,6BAA6B,CAC9B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvE,UAAU,8BAA8B;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,2BAA2B,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;CAC/D;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,SAAgB,cAAc,EAAE,2BAA2B,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAkC;IACjD,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,kBAAkB,EAC9B,+BAA+B,GAC/B,SAAS,CAAC;IAEd,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,SAAgB,SAAS,EAAE,qBAAqB,EAAE,CAAM;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,SAAgB,gBAAgB,EAAE,IAAI,CAAc;gBAExC,KAAK,GAAE,8BAAmC;IActD;;OAEG;IACH,IAAI,MAAM,IAAI,+BAA+B,CAE5C;IAED;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;OAEG;IACH,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC;IAI9C;;OAEG;IACH,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAItD;;OAEG;IACH,sBAAsB,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI;IAIzD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIlD;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIhE;;OAEG;IACH,sBAAsB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO;IAI5D;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAG/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,2BAA2B,CAKhE"}
|
|
@@ -1,14 +1,36 @@
|
|
|
1
1
|
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { makeSimAwsAccountId, } from "../../aws/sim-aws-account.js";
|
|
2
3
|
/**
|
|
3
4
|
* Simulated CloudFront Distribution.
|
|
4
5
|
*/
|
|
5
6
|
export class SimCloudFrontDistribution {
|
|
6
7
|
distributionId;
|
|
8
|
+
_status;
|
|
9
|
+
accountId;
|
|
10
|
+
distributionConfig;
|
|
7
11
|
alternateDomainNames = new Set();
|
|
8
12
|
behaviors = [];
|
|
9
13
|
origins = new Map();
|
|
10
|
-
|
|
14
|
+
lastModifiedTime = new Date();
|
|
15
|
+
constructor(props = {}) {
|
|
16
|
+
const { distributionId = makeDistributionId(), status = "Deployed", accountId = makeSimAwsAccountId(), distributionConfig, } = props;
|
|
11
17
|
this.distributionId = distributionId;
|
|
18
|
+
this._status = status;
|
|
19
|
+
this.accountId = accountId;
|
|
20
|
+
this.distributionConfig = distributionConfig;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the current Status of this sim Distribution.
|
|
24
|
+
*/
|
|
25
|
+
get status() {
|
|
26
|
+
return this._status;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Move the sim Distribution into Deployed status.
|
|
30
|
+
*/
|
|
31
|
+
completeDeployment() {
|
|
32
|
+
this._status = "Deployed";
|
|
33
|
+
return Promise.resolve();
|
|
12
34
|
}
|
|
13
35
|
/**
|
|
14
36
|
* Get the alternate domain names for this sim Distribution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cloudfront-distribution.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/distribution/sim-cloudfront-distribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cloudfront-distribution.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/distribution/sim-cloudfront-distribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAiBtC;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpB,cAAc,CAA8B;IACpD,OAAO,CAAkC;IACjC,SAAS,CAAkB;IAC3B,kBAAkB,CAEpB;IAEG,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,SAAS,GAA4B,EAAE,CAAC;IACvC,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAClD,gBAAgB,GAAS,IAAI,IAAI,EAAE,CAAC;IAEpD,YAAY,QAAwC,EAAE;QACpD,MAAM,EACJ,cAAc,GAAG,kBAAkB,EAAE,EACrC,MAAM,GAAG,UAAU,EACnB,SAAS,GAAG,mBAAmB,EAAE,EACjC,kBAAkB,GACnB,GAAG,KAAK,CAAC;QAEV,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,mBAA2B;QAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA+B;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAkB,EAAE,MAA2B;QACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,mBAA2B;QAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU;IAC7B,+EAA+E;IAC/E,eAAe,CACe,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal metadata shape for simulated CloudFront errors.
|
|
3
|
+
*/
|
|
4
|
+
export interface SimCloudFrontErrorMetadata {
|
|
5
|
+
readonly httpStatusCode?: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Base class for simulated CloudFront errors.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimCloudFrontError extends Error {
|
|
11
|
+
readonly $metadata: SimCloudFrontErrorMetadata;
|
|
12
|
+
constructor(message: string, $metadata?: SimCloudFrontErrorMetadata);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Simulated CloudFront ResourceNotFoundException error.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimCloudFrontResourceNotFoundException extends SimCloudFrontError {
|
|
18
|
+
readonly name = "ResourceNotFoundException";
|
|
19
|
+
constructor(message: string);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-cloudfront.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloudfront.error.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,SAAS,EAAE,0BAA0B;gBADrD,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,0BAA+B;CAI7D;AAED;;GAEG;AACH,qBAAa,sCAAuC,SAAQ,kBAAkB;IAC5E,SAAyB,IAAI,+BAA+B;gBAEhD,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for simulated CloudFront errors.
|
|
3
|
+
*/
|
|
4
|
+
export class SimCloudFrontError extends Error {
|
|
5
|
+
$metadata;
|
|
6
|
+
constructor(message, $metadata = {}) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.$metadata = $metadata;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Simulated CloudFront ResourceNotFoundException error.
|
|
13
|
+
*/
|
|
14
|
+
export class SimCloudFrontResourceNotFoundException extends SimCloudFrontError {
|
|
15
|
+
name = "ResourceNotFoundException";
|
|
16
|
+
constructor(message) {
|
|
17
|
+
super(message, { httpStatusCode: 404 });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-cloudfront.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cloudfront.error.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/error/sim-cloudfront.error.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IAFlB,YACE,OAAe,EACC,YAAwC,EAAE;QAE1D,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,cAAS,GAAT,SAAS,CAAiC;IAG5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sCAAuC,SAAQ,kBAAkB;IACnD,IAAI,GAAG,2BAA2B,CAAC;IAE5D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DynamicFactory } from "@kensio/part-factory";
|
|
2
|
+
import type { CloudFrontFunction } from "../typings/cloudfront-functions.namespace.js";
|
|
2
3
|
/**
|
|
3
4
|
* Makes instances of the viewer-request CloudFrontEvent objects.
|
|
4
5
|
*/
|
|
5
|
-
export declare const cloudFrontViewerRequestEventFactory:
|
|
6
|
+
export declare const cloudFrontViewerRequestEventFactory: DynamicFactory<CloudFrontFunction.ViewerRequestEvent>;
|
|
7
|
+
/**
|
|
8
|
+
* Makes instances of the viewer-response CloudFrontEvent objects.
|
|
9
|
+
*/
|
|
10
|
+
export declare const cloudFrontViewerResponseEventFactory: DynamicFactory<CloudFrontFunction.ViewerResponseEvent>;
|
|
11
|
+
/**
|
|
12
|
+
* Makes instances of the CloudFrontRequest object structure.
|
|
13
|
+
*/
|
|
14
|
+
export declare const cloudFrontRequestFactory: DynamicFactory<CloudFrontFunction.Request>;
|
|
15
|
+
/**
|
|
16
|
+
* Makes instances of the CloudFrontResponse object structure.
|
|
17
|
+
*/
|
|
18
|
+
export declare const cloudFrontResponseFactory: DynamicFactory<CloudFrontFunction.Response>;
|
|
6
19
|
//# sourceMappingURL=cloudfront-functions.factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudfront-functions.factory.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/factory/cloudfront-functions.factory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cloudfront-functions.factory.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/factory/cloudfront-functions.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,mCAAmC,uDAQ3C,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,oCAAoC,wDAS5C,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,wBAAwB,4CA6BhC,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,yBAAyB,6CAIjC,CAAC"}
|