@kensio/yulin 1.20.4 → 1.20.5
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/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +22 -3
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts +31 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js +43 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts +32 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js +34 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js +39 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js.map +1 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +10 -8
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts +24 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js +94 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js.map +1 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +4 -4
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +3 -4
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts +27 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js +119 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts +18 -3
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js +28 -5
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +14 -4
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +17 -5
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +6 -2
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +7 -3
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -1
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +28 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +52 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +30 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +59 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts +12 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js +23 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts +50 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js +107 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +29 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +50 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts +16 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js +39 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js.map +1 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +27 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts.map +1 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +49 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js.map +1 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +8 -3
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts.map +1 -1
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +48 -23
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js.map +1 -1
- package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts +10 -0
- package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts.map +1 -0
- package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js +13 -0
- package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js.map +1 -0
- package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts +9 -1
- package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts.map +1 -1
- package/dist/service/logs/command/authorize/sim-logs-authorizer.js +8 -0
- package/dist/service/logs/command/authorize/sim-logs-authorizer.js.map +1 -1
- package/dist/service/logs/command/delivery/delivery-destination.command.d.ts +67 -0
- package/dist/service/logs/command/delivery/delivery-destination.command.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/delivery-destination.command.js +2 -0
- package/dist/service/logs/command/delivery/delivery-destination.command.js.map +1 -0
- package/dist/service/logs/command/delivery/delivery-source.command.d.ts +61 -0
- package/dist/service/logs/command/delivery/delivery-source.command.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/delivery-source.command.js +2 -0
- package/dist/service/logs/command/delivery/delivery-source.command.js.map +1 -0
- package/dist/service/logs/command/delivery/delivery.command.d.ts +73 -0
- package/dist/service/logs/command/delivery/delivery.command.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/delivery.command.js +2 -0
- package/dist/service/logs/command/delivery/delivery.command.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts +21 -0
- package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-created-delivery.js +41 -0
- package/dist/service/logs/command/delivery/sim-logs-created-delivery.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts +38 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js +77 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts +38 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js +82 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts +19 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js +57 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts +15 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js +26 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts +16 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-input.js +28 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-input.js.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +37 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts.map +1 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +86 -0
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js.map +1 -0
- package/dist/service/logs/command/sim-logs-command.types.d.ts +3 -0
- package/dist/service/logs/command/sim-logs-command.types.d.ts.map +1 -1
- package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts +30 -0
- package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-arn.js +42 -0
- package/dist/service/logs/delivery/sim-logs-delivery-arn.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts +41 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js +69 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts +16 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js +48 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts +27 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination.js +23 -0
- package/dist/service/logs/delivery/sim-logs-delivery-destination.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts +16 -0
- package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-ids.js +20 -0
- package/dist/service/logs/delivery/sim-logs-delivery-ids.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts +24 -0
- package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-output-format.js +36 -0
- package/dist/service/logs/delivery/sim-logs-delivery-output-format.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts +35 -0
- package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js +66 -0
- package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts +48 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-service.js +71 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-service.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts +42 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-store.js +64 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-store.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts +29 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source.js +29 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts +32 -0
- package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-store.js +53 -0
- package/dist/service/logs/delivery/sim-logs-delivery-store.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery.d.ts +33 -0
- package/dist/service/logs/delivery/sim-logs-delivery.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery.js +34 -0
- package/dist/service/logs/delivery/sim-logs-delivery.js.map +1 -0
- package/dist/service/logs/error/sim-logs.error.d.ts +23 -0
- package/dist/service/logs/error/sim-logs.error.d.ts.map +1 -1
- package/dist/service/logs/error/sim-logs.error.js +27 -0
- package/dist/service/logs/error/sim-logs.error.js.map +1 -1
- package/dist/service/logs/index.d.ts +10 -1
- package/dist/service/logs/index.d.ts.map +1 -1
- package/dist/service/logs/index.js +9 -1
- package/dist/service/logs/index.js.map +1 -1
- package/dist/service/logs/sdk/sim-logs-sdk-command-router.d.ts.map +1 -1
- package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +36 -0
- package/dist/service/logs/sdk/sim-logs-sdk-command-router.js.map +1 -1
- package/dist/service/logs/sim-logs-commands.d.ts +12 -0
- package/dist/service/logs/sim-logs-commands.d.ts.map +1 -1
- package/dist/service/logs/sim-logs-commands.js +37 -0
- package/dist/service/logs/sim-logs-commands.js.map +1 -1
- package/dist/service/logs/sim-logs-delivery-inspection.d.ts +28 -0
- package/dist/service/logs/sim-logs-delivery-inspection.d.ts.map +1 -0
- package/dist/service/logs/sim-logs-delivery-inspection.js +35 -0
- package/dist/service/logs/sim-logs-delivery-inspection.js.map +1 -0
- package/dist/service/logs/sim-logs-delivery-operations.d.ts +35 -0
- package/dist/service/logs/sim-logs-delivery-operations.d.ts.map +1 -0
- package/dist/service/logs/sim-logs-delivery-operations.js +58 -0
- package/dist/service/logs/sim-logs-delivery-operations.js.map +1 -0
- package/dist/service/logs/sim-logs.d.ts +8 -2
- package/dist/service/logs/sim-logs.d.ts.map +1 -1
- package/dist/service/logs/sim-logs.js +39 -33
- package/dist/service/logs/sim-logs.js.map +1 -1
- package/package.json +1 -1
package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { SimCloudFrontResponseHeader } from "./sim-cf-response-header.js";
|
|
2
|
+
import { SimCloudFrontResponseHeadersPolicyCors } from "./sim-cf-response-headers-policy-cors.js";
|
|
3
|
+
import { SimCloudFrontResponseHeadersPolicy, } from "./sim-cf-response-headers-policy.js";
|
|
4
|
+
/**
|
|
5
|
+
* The IDs AWS publishes for its managed response headers policies.
|
|
6
|
+
*
|
|
7
|
+
* A template names one of these directly. CDK's `ResponseHeadersPolicy`
|
|
8
|
+
* statics carry the same five, and synthesize the ID into a Behavior's
|
|
9
|
+
* `ResponseHeadersPolicyId` with no Resource behind it.
|
|
10
|
+
*/
|
|
11
|
+
export const simCfManagedResponseHeadersPolicyIds = {
|
|
12
|
+
simpleCors: "60669652-455b-4ae9-85a4-c4c02393f86c",
|
|
13
|
+
corsWithPreflight: "5cc3b908-e619-4b99-88e5-2cf7f45965bd",
|
|
14
|
+
securityHeaders: "67f7725c-6f97-4210-82d7-5512b31e9d03",
|
|
15
|
+
corsAndSecurityHeaders: "e61eb60c-9c35-4d20-a928-2b84e02af89c",
|
|
16
|
+
corsWithPreflightAndSecurityHeaders: "eaab4381-ed33-4a86-88ca-d9558dc6cd63",
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The security headers section the three managed policies that carry one set.
|
|
20
|
+
*
|
|
21
|
+
* All three carry the same list. Only `X-Content-Type-Options` overrides the
|
|
22
|
+
* Origin, so a site sending its own `X-Frame-Options` keeps it while its
|
|
23
|
+
* `nosniff` is replaced.
|
|
24
|
+
*/
|
|
25
|
+
function securityHeaders() {
|
|
26
|
+
return [
|
|
27
|
+
new SimCloudFrontResponseHeader({
|
|
28
|
+
name: "Referrer-Policy",
|
|
29
|
+
value: "strict-origin-when-cross-origin",
|
|
30
|
+
}),
|
|
31
|
+
new SimCloudFrontResponseHeader({
|
|
32
|
+
name: "Strict-Transport-Security",
|
|
33
|
+
value: "max-age=31536000",
|
|
34
|
+
}),
|
|
35
|
+
new SimCloudFrontResponseHeader({
|
|
36
|
+
name: "X-Content-Type-Options",
|
|
37
|
+
value: "nosniff",
|
|
38
|
+
override: true,
|
|
39
|
+
}),
|
|
40
|
+
new SimCloudFrontResponseHeader({
|
|
41
|
+
name: "X-Frame-Options",
|
|
42
|
+
value: "SAMEORIGIN",
|
|
43
|
+
}),
|
|
44
|
+
new SimCloudFrontResponseHeader({
|
|
45
|
+
name: "X-XSS-Protection",
|
|
46
|
+
value: "1; mode=block",
|
|
47
|
+
}),
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The CORS section behind SimpleCORS, allowing a simple request from any
|
|
52
|
+
* Origin with `Access-Control-Allow-Origin` alone.
|
|
53
|
+
*/
|
|
54
|
+
function simpleCors() {
|
|
55
|
+
return new SimCloudFrontResponseHeadersPolicyCors({
|
|
56
|
+
allowCredentials: false,
|
|
57
|
+
allowHeaders: [],
|
|
58
|
+
allowMethods: [],
|
|
59
|
+
allowOrigins: ["*"],
|
|
60
|
+
originOverride: false,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The CORS section behind CORS-With-Preflight, which adds the method list and
|
|
65
|
+
* a wildcard `Access-Control-Expose-Headers` to the wildcard Origin.
|
|
66
|
+
*/
|
|
67
|
+
function preflightCors() {
|
|
68
|
+
return new SimCloudFrontResponseHeadersPolicyCors({
|
|
69
|
+
allowCredentials: false,
|
|
70
|
+
allowHeaders: [],
|
|
71
|
+
allowMethods: ["DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT"],
|
|
72
|
+
allowOrigins: ["*"],
|
|
73
|
+
exposeHeaders: ["*"],
|
|
74
|
+
originOverride: false,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The five managed response headers policies, built fresh for one simulated
|
|
79
|
+
* CloudFront.
|
|
80
|
+
*
|
|
81
|
+
* CloudFront owns these and every account has them, so a Behavior can name one
|
|
82
|
+
* without a template creating anything. They are built per registry so that
|
|
83
|
+
* one simulation never hands another a policy object.
|
|
84
|
+
*
|
|
85
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html
|
|
86
|
+
*/
|
|
87
|
+
export function simCfManagedResponseHeadersPolicies() {
|
|
88
|
+
const policies = [
|
|
89
|
+
new SimCloudFrontResponseHeadersPolicy({
|
|
90
|
+
id: simCfManagedResponseHeadersPolicyIds.simpleCors,
|
|
91
|
+
name: "SimpleCORS",
|
|
92
|
+
cors: simpleCors(),
|
|
93
|
+
}),
|
|
94
|
+
new SimCloudFrontResponseHeadersPolicy({
|
|
95
|
+
id: simCfManagedResponseHeadersPolicyIds.corsWithPreflight,
|
|
96
|
+
name: "CORS-With-Preflight",
|
|
97
|
+
cors: preflightCors(),
|
|
98
|
+
}),
|
|
99
|
+
new SimCloudFrontResponseHeadersPolicy({
|
|
100
|
+
id: simCfManagedResponseHeadersPolicyIds.securityHeaders,
|
|
101
|
+
name: "SecurityHeadersPolicy",
|
|
102
|
+
securityHeaders: securityHeaders(),
|
|
103
|
+
}),
|
|
104
|
+
new SimCloudFrontResponseHeadersPolicy({
|
|
105
|
+
id: simCfManagedResponseHeadersPolicyIds.corsAndSecurityHeaders,
|
|
106
|
+
name: "CORS-and-SecurityHeadersPolicy",
|
|
107
|
+
cors: simpleCors(),
|
|
108
|
+
securityHeaders: securityHeaders(),
|
|
109
|
+
}),
|
|
110
|
+
new SimCloudFrontResponseHeadersPolicy({
|
|
111
|
+
id: simCfManagedResponseHeadersPolicyIds.corsWithPreflightAndSecurityHeaders,
|
|
112
|
+
name: "CORS-with-preflight-and-SecurityHeadersPolicy",
|
|
113
|
+
cors: preflightCors(),
|
|
114
|
+
securityHeaders: securityHeaders(),
|
|
115
|
+
}),
|
|
116
|
+
];
|
|
117
|
+
return new Map(policies.map((policy) => [policy.id, policy]));
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=sim-cf-managed-response-headers-policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cf-managed-response-headers-policies.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAClG,OAAO,EACL,kCAAkC,GAGnC,MAAM,qCAAqC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,UAAU,EAAE,sCAAsC;IAClD,iBAAiB,EAAE,sCAAsC;IACzD,eAAe,EAAE,sCAAsC;IACvD,sBAAsB,EAAE,sCAAsC;IAC9D,mCAAmC,EAAE,sCAAsC;CACnE,CAAC;AAEX;;;;;;GAMG;AACH,SAAS,eAAe;IACtB,OAAO;QACL,IAAI,2BAA2B,CAAC;YAC9B,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iCAAiC;SACzC,CAAC;QACF,IAAI,2BAA2B,CAAC;YAC9B,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,kBAAkB;SAC1B,CAAC;QACF,IAAI,2BAA2B,CAAC;YAC9B,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,2BAA2B,CAAC;YAC9B,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,YAAY;SACpB,CAAC;QACF,IAAI,2BAA2B,CAAC;YAC9B,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,eAAe;SACvB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IACjB,OAAO,IAAI,sCAAsC,CAAC;QAChD,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC,GAAG,CAAC;QACnB,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa;IACpB,OAAO,IAAI,sCAAsC,CAAC;QAChD,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAC1E,YAAY,EAAE,CAAC,GAAG,CAAC;QACnB,aAAa,EAAE,CAAC,GAAG,CAAC;QACpB,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mCAAmC;IACjD,MAAM,QAAQ,GAAG;QACf,IAAI,kCAAkC,CAAC;YACrC,EAAE,EAAE,oCAAoC,CAAC,UAAkD;YAC3F,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU,EAAE;SACnB,CAAC;QACF,IAAI,kCAAkC,CAAC;YACrC,EAAE,EAAE,oCAAoC,CAAC,iBAAyD;YAClG,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,aAAa,EAAE;SACtB,CAAC;QACF,IAAI,kCAAkC,CAAC;YACrC,EAAE,EAAE,oCAAoC,CAAC,eAAuD;YAChG,IAAI,EAAE,uBAAuB;YAC7B,eAAe,EAAE,eAAe,EAAE;SACnC,CAAC;QACF,IAAI,kCAAkC,CAAC;YACrC,EAAE,EAAE,oCAAoC,CAAC,sBAA8D;YACvG,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,UAAU,EAAE;YAClB,eAAe,EAAE,eAAe,EAAE;SACnC,CAAC;QACF,IAAI,kCAAkC,CAAC;YACrC,EAAE,EAAE,oCAAoC,CAAC,mCAA2E;YACpH,IAAI,EAAE,+CAA+C;YACrD,IAAI,EAAE,aAAa,EAAE;YACrB,eAAe,EAAE,eAAe,EAAE;SACnC,CAAC;KACH,CAAC;IAEF,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts
CHANGED
|
@@ -28,15 +28,30 @@ export declare class SimCloudFrontResponseHeadersPolicyCors {
|
|
|
28
28
|
private readonly originOverride;
|
|
29
29
|
constructor(properties: SimCloudFrontResponseHeadersPolicyCorsProperties);
|
|
30
30
|
/**
|
|
31
|
-
* Set this policy's CORS headers on a response, for the `Origin` header
|
|
32
|
-
* viewer request carried.
|
|
31
|
+
* Set this policy's CORS headers on a response, for the `Origin` header and
|
|
32
|
+
* the method a viewer request carried.
|
|
33
33
|
*
|
|
34
34
|
* `OriginOverride` decides the whole section rather than one header at a
|
|
35
35
|
* time, unlike a custom or security header: without it, an Origin response
|
|
36
36
|
* carrying any CORS header at all keeps every header this section would have
|
|
37
37
|
* set off the response, whether or not the policy names that header.
|
|
38
|
+
*
|
|
39
|
+
* The method defaults to `GET`, which is to say a simple request. Only a
|
|
40
|
+
* caller with an `OPTIONS` request in hand needs to say so.
|
|
41
|
+
*/
|
|
42
|
+
apply(headers: Headers, requestOrigin: string | null, requestMethod?: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Set the headers CloudFront documents against a preflight request alone.
|
|
45
|
+
*
|
|
46
|
+
* `AccessControlAllowMethods`, `AccessControlAllowHeaders` and
|
|
47
|
+
* `AccessControlMaxAgeSec` each answer the question a preflight asks, and a
|
|
48
|
+
* browser reads none of them off a simple request.
|
|
49
|
+
*
|
|
50
|
+
* An empty list names no method and no header. CloudFront leaves the header
|
|
51
|
+
* off there, the way it leaves off the expose list, and a header carrying an
|
|
52
|
+
* empty value would mean something else to a browser.
|
|
38
53
|
*/
|
|
39
|
-
|
|
54
|
+
private applyPreflight;
|
|
40
55
|
private resolveAllowOrigin;
|
|
41
56
|
private resolvedAllowMethods;
|
|
42
57
|
}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy-cors.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.ts"],"names":[],"mappings":"AA4BA,UAAU,gDAAgD;IACxD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sCAAsC;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC,YAAY,UAAU,EAAE,gDAAgD,EAQvE;IAED
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy-cors.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.ts"],"names":[],"mappings":"AA4BA,UAAU,gDAAgD;IACxD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sCAAsC;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC,YAAY,UAAU,EAAE,gDAAgD,EAQvE;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CACH,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,aAAa,SAAQ,GACpB,IAAI,CAwCN;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,oBAAoB;CAK7B"}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js
CHANGED
|
@@ -52,15 +52,18 @@ export class SimCloudFrontResponseHeadersPolicyCors {
|
|
|
52
52
|
this.originOverride = properties.originOverride;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
|
-
* Set this policy's CORS headers on a response, for the `Origin` header
|
|
56
|
-
* viewer request carried.
|
|
55
|
+
* Set this policy's CORS headers on a response, for the `Origin` header and
|
|
56
|
+
* the method a viewer request carried.
|
|
57
57
|
*
|
|
58
58
|
* `OriginOverride` decides the whole section rather than one header at a
|
|
59
59
|
* time, unlike a custom or security header: without it, an Origin response
|
|
60
60
|
* carrying any CORS header at all keeps every header this section would have
|
|
61
61
|
* set off the response, whether or not the policy names that header.
|
|
62
|
+
*
|
|
63
|
+
* The method defaults to `GET`, which is to say a simple request. Only a
|
|
64
|
+
* caller with an `OPTIONS` request in hand needs to say so.
|
|
62
65
|
*/
|
|
63
|
-
apply(headers, requestOrigin) {
|
|
66
|
+
apply(headers, requestOrigin, requestMethod = "GET") {
|
|
64
67
|
if (!this.originOverride &&
|
|
65
68
|
corsResponseHeaders.some((n) => headers.has(n))) {
|
|
66
69
|
return;
|
|
@@ -76,8 +79,6 @@ export class SimCloudFrontResponseHeadersPolicyCors {
|
|
|
76
79
|
if (allowOrigin !== "*") {
|
|
77
80
|
headers.append("Vary", "Origin");
|
|
78
81
|
}
|
|
79
|
-
headers.set("Access-Control-Allow-Methods", this.resolvedAllowMethods().join(","));
|
|
80
|
-
headers.set("Access-Control-Allow-Headers", this.allowHeaders.join(","));
|
|
81
82
|
// A false Access-Control-Allow-Credentials is not a header value the
|
|
82
83
|
// fetch spec recognises, so CloudFront leaves it off rather than sending
|
|
83
84
|
// a value meaning the same as absence.
|
|
@@ -87,6 +88,28 @@ export class SimCloudFrontResponseHeadersPolicyCors {
|
|
|
87
88
|
if (this.exposeHeaders.length > 0) {
|
|
88
89
|
headers.set("Access-Control-Expose-Headers", this.exposeHeaders.join(","));
|
|
89
90
|
}
|
|
91
|
+
if (requestMethod === "OPTIONS") {
|
|
92
|
+
this.applyPreflight(headers);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Set the headers CloudFront documents against a preflight request alone.
|
|
97
|
+
*
|
|
98
|
+
* `AccessControlAllowMethods`, `AccessControlAllowHeaders` and
|
|
99
|
+
* `AccessControlMaxAgeSec` each answer the question a preflight asks, and a
|
|
100
|
+
* browser reads none of them off a simple request.
|
|
101
|
+
*
|
|
102
|
+
* An empty list names no method and no header. CloudFront leaves the header
|
|
103
|
+
* off there, the way it leaves off the expose list, and a header carrying an
|
|
104
|
+
* empty value would mean something else to a browser.
|
|
105
|
+
*/
|
|
106
|
+
applyPreflight(headers) {
|
|
107
|
+
if (this.allowMethods.length > 0) {
|
|
108
|
+
headers.set("Access-Control-Allow-Methods", this.resolvedAllowMethods().join(","));
|
|
109
|
+
}
|
|
110
|
+
if (this.allowHeaders.length > 0) {
|
|
111
|
+
headers.set("Access-Control-Allow-Headers", this.allowHeaders.join(","));
|
|
112
|
+
}
|
|
90
113
|
if (this.maxAgeSec !== undefined) {
|
|
91
114
|
headers.set("Access-Control-Max-Age", String(this.maxAgeSec));
|
|
92
115
|
}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy-cors.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,uBAAuB,GAAG;IAC9B,KAAK;IACL,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;CACG,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG;IAC1B,6BAA6B;IAC7B,8BAA8B;IAC9B,8BAA8B;IAC9B,kCAAkC;IAClC,+BAA+B;IAC/B,wBAAwB;CAChB,CAAC;AAYX;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sCAAsC;IAChC,gBAAgB,CAAU;IAC1B,YAAY,CAAoB;IAChC,YAAY,CAAoB;IAChC,YAAY,CAAoB;IAChC,aAAa,CAAoB;IACjC,SAAS,CAAqB;IAC9B,cAAc,CAAU;IAEzC,YAAY,UAA4D;QACtE,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy-cors.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.ts"],"names":[],"mappings":"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"}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts
CHANGED
|
@@ -5,12 +5,18 @@ import type { SimCloudFrontResponseHeadersPolicy, SimCloudFrontResponseHeadersPo
|
|
|
5
5
|
* Policies are found by ID, which is what a cache Behavior's
|
|
6
6
|
* `responseHeadersPolicyId` names, and by name, which is what decides whether a
|
|
7
7
|
* new one may be stored.
|
|
8
|
+
*
|
|
9
|
+
* AWS's five managed policies are held apart from the ones a template creates.
|
|
10
|
+
* CloudFront keeps them in its own namespace, so a template may create a policy
|
|
11
|
+
* called `SecurityHeadersPolicy` of its own, and deleting the stack that
|
|
12
|
+
* created it leaves the managed one where it was.
|
|
8
13
|
*/
|
|
9
14
|
export declare class SimCloudFrontResponseHeadersPolicyRegistry {
|
|
10
15
|
private readonly policies;
|
|
16
|
+
private readonly managedPolicies;
|
|
11
17
|
/**
|
|
12
|
-
* Store a policy, refusing a name another policy
|
|
13
|
-
* does.
|
|
18
|
+
* Store a policy a template created, refusing a name another such policy
|
|
19
|
+
* already holds as CloudFront does.
|
|
14
20
|
*/
|
|
15
21
|
add(policy: SimCloudFrontResponseHeadersPolicy): void;
|
|
16
22
|
/**
|
|
@@ -18,11 +24,15 @@ export declare class SimCloudFrontResponseHeadersPolicyRegistry {
|
|
|
18
24
|
*/
|
|
19
25
|
remove(policyId: SimCloudFrontResponseHeadersPolicyId): void;
|
|
20
26
|
/**
|
|
21
|
-
* Get a policy by ID.
|
|
27
|
+
* Get a policy by ID, whether a template created it or AWS manages it.
|
|
22
28
|
*/
|
|
23
29
|
byId(policyId: SimCloudFrontResponseHeadersPolicyId | string): SimCloudFrontResponseHeadersPolicy | undefined;
|
|
24
30
|
/**
|
|
25
|
-
* Get a policy by name.
|
|
31
|
+
* Get a policy a template created, by name.
|
|
32
|
+
*
|
|
33
|
+
* A managed policy is left out. Its name belongs to CloudFront's own
|
|
34
|
+
* namespace, and this is what decides whether a template may store a policy
|
|
35
|
+
* under a name.
|
|
26
36
|
*/
|
|
27
37
|
byName(policyName: string): SimCloudFrontResponseHeadersPolicy | undefined;
|
|
28
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy-registry.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy-registry.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kCAAkC,EAClC,oCAAoC,EAErC,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,qBAAa,0CAA0C;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAC7E,OAAO,CAAC,QAAQ,CAAC,eAAe,CACQ;IAExC;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,kCAAkC,GAAG,IAAI,CAQpD;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,oCAAoC,GAAG,IAAI,CAE3D;IAED;;OAEG;IACH,IAAI,CACF,QAAQ,EAAE,oCAAoC,GAAG,MAAM,GACtD,kCAAkC,GAAG,SAAS,CAIhD;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,kCAAkC,GAAG,SAAS,CAEzE;CACF"}
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { SimCloudFrontResponseHeadersPolicyAlreadyExists } from "../error/sim-cloudfront.error.js";
|
|
2
|
+
import { simCfManagedResponseHeadersPolicies } from "./sim-cf-managed-response-headers-policies.js";
|
|
2
3
|
/**
|
|
3
4
|
* The response headers policies one simulated CloudFront holds.
|
|
4
5
|
*
|
|
5
6
|
* Policies are found by ID, which is what a cache Behavior's
|
|
6
7
|
* `responseHeadersPolicyId` names, and by name, which is what decides whether a
|
|
7
8
|
* new one may be stored.
|
|
9
|
+
*
|
|
10
|
+
* AWS's five managed policies are held apart from the ones a template creates.
|
|
11
|
+
* CloudFront keeps them in its own namespace, so a template may create a policy
|
|
12
|
+
* called `SecurityHeadersPolicy` of its own, and deleting the stack that
|
|
13
|
+
* created it leaves the managed one where it was.
|
|
8
14
|
*/
|
|
9
15
|
export class SimCloudFrontResponseHeadersPolicyRegistry {
|
|
10
16
|
policies = new Map();
|
|
17
|
+
managedPolicies = simCfManagedResponseHeadersPolicies();
|
|
11
18
|
/**
|
|
12
|
-
* Store a policy, refusing a name another policy
|
|
13
|
-
* does.
|
|
19
|
+
* Store a policy a template created, refusing a name another such policy
|
|
20
|
+
* already holds as CloudFront does.
|
|
14
21
|
*/
|
|
15
22
|
add(policy) {
|
|
16
23
|
if (this.byName(policy.name) !== undefined) {
|
|
@@ -25,13 +32,18 @@ export class SimCloudFrontResponseHeadersPolicyRegistry {
|
|
|
25
32
|
this.policies.delete(policyId);
|
|
26
33
|
}
|
|
27
34
|
/**
|
|
28
|
-
* Get a policy by ID.
|
|
35
|
+
* Get a policy by ID, whether a template created it or AWS manages it.
|
|
29
36
|
*/
|
|
30
37
|
byId(policyId) {
|
|
31
|
-
|
|
38
|
+
const id = policyId;
|
|
39
|
+
return this.policies.get(id) ?? this.managedPolicies.get(id);
|
|
32
40
|
}
|
|
33
41
|
/**
|
|
34
|
-
* Get a policy by name.
|
|
42
|
+
* Get a policy a template created, by name.
|
|
43
|
+
*
|
|
44
|
+
* A managed policy is left out. Its name belongs to CloudFront's own
|
|
45
|
+
* namespace, and this is what decides whether a template may store a policy
|
|
46
|
+
* under a name.
|
|
35
47
|
*/
|
|
36
48
|
byName(policyName) {
|
|
37
49
|
return this.policies.values().find((policy) => policy.name === policyName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy-registry.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+CAA+C,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy-registry.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+CAA+C,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AAOpG;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,0CAA0C;IACpC,QAAQ,GAA0C,IAAI,GAAG,EAAE,CAAC;IAC5D,eAAe,GAC9B,mCAAmC,EAAE,CAAC;IAExC;;;OAGG;IACH,GAAG,CAAC,MAA0C;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,+CAA+C,CACvD,0CAA0C,MAAM,CAAC,IAAI,iBAAiB,CACvE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAA8C;QACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAuD;QAEvD,MAAM,EAAE,GAAG,QAAgD,CAAC;QAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAkB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC7E,CAAC;CACF"}
|
|
@@ -31,12 +31,16 @@ export declare class SimCloudFrontResponseHeadersPolicy {
|
|
|
31
31
|
constructor(properties: SimCloudFrontResponseHeadersPolicyProperties);
|
|
32
32
|
/**
|
|
33
33
|
* Return the response this policy makes of one the Origin gave back, for
|
|
34
|
-
* the `Origin` header the viewer request carried.
|
|
34
|
+
* the `Origin` header and the method the viewer request carried.
|
|
35
35
|
*
|
|
36
36
|
* The body is passed straight through. Only the headers change, so a response
|
|
37
37
|
* whose body has already been read stays readable.
|
|
38
|
+
*
|
|
39
|
+
* The method reaches the CORS section alone, which answers a preflight with
|
|
40
|
+
* headers a simple request never sees. Every other section sets the same
|
|
41
|
+
* headers whatever the viewer asked for.
|
|
38
42
|
*/
|
|
39
|
-
apply(response: Response, requestOrigin?: string | null): Response;
|
|
43
|
+
apply(response: Response, requestOrigin?: string | null, requestMethod?: string): Response;
|
|
40
44
|
}
|
|
41
45
|
export type SimCloudFrontResponseHeadersPolicyMap = Map<SimCloudFrontResponseHeadersPolicyId, SimCloudFrontResponseHeadersPolicy>;
|
|
42
46
|
export {};
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAEvG,MAAM,MAAM,oCAAoC,GAAG,KAAK,CACtD,MAAM,EACN,sCAAsC,CACvC,CAAC;AAEF,UAAU,4CAA4C;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,oCAAoC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,sCAAsC,GAAG,SAAS,CAAC;CACpE;AAED;;;;;;;;GAQG;AACH,qBAAa,kCAAkC;IAC7C,SAAgB,EAAE,EAAE,oCAAoC,CAAC;IACzD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,aAAa,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtE,SAAgB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,SAAgB,eAAe,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxE,SAAgB,YAAY,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACtE,SAAgB,IAAI,EAAE,sCAAsC,GAAG,SAAS,CAAC;IAEzE,YAAY,UAAU,EAAE,4CAA4C,EASnE;IAED
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAEvG,MAAM,MAAM,oCAAoC,GAAG,KAAK,CACtD,MAAM,EACN,sCAAsC,CACvC,CAAC;AAEF,UAAU,4CAA4C;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,oCAAoC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,sCAAsC,GAAG,SAAS,CAAC;CACpE;AAED;;;;;;;;GAQG;AACH,qBAAa,kCAAkC;IAC7C,SAAgB,EAAE,EAAE,oCAAoC,CAAC;IACzD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,aAAa,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtE,SAAgB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,SAAgB,eAAe,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxE,SAAgB,YAAY,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACtE,SAAgB,IAAI,EAAE,sCAAsC,GAAG,SAAS,CAAC;IAEzE,YAAY,UAAU,EAAE,4CAA4C,EASnE;IAED;;;;;;;;;;OAUG;IACH,KAAK,CACH,QAAQ,EAAE,QAAQ,EAClB,aAAa,GAAE,MAAM,GAAG,IAAW,EACnC,aAAa,SAAQ,GACpB,QAAQ,CAuBV;CACF;AAED,MAAM,MAAM,qCAAqC,GAAG,GAAG,CACrD,oCAAoC,EACpC,kCAAkC,CACnC,CAAC"}
|
|
@@ -28,12 +28,16 @@ export class SimCloudFrontResponseHeadersPolicy {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Return the response this policy makes of one the Origin gave back, for
|
|
31
|
-
* the `Origin` header the viewer request carried.
|
|
31
|
+
* the `Origin` header and the method the viewer request carried.
|
|
32
32
|
*
|
|
33
33
|
* The body is passed straight through. Only the headers change, so a response
|
|
34
34
|
* whose body has already been read stays readable.
|
|
35
|
+
*
|
|
36
|
+
* The method reaches the CORS section alone, which answers a preflight with
|
|
37
|
+
* headers a simple request never sees. Every other section sets the same
|
|
38
|
+
* headers whatever the viewer asked for.
|
|
35
39
|
*/
|
|
36
|
-
apply(response, requestOrigin = null) {
|
|
40
|
+
apply(response, requestOrigin = null, requestMethod = "GET") {
|
|
37
41
|
const headers = new Headers(response.headers);
|
|
38
42
|
for (const headerName of this.headersToRemove) {
|
|
39
43
|
headers.delete(headerName);
|
|
@@ -45,7 +49,7 @@ export class SimCloudFrontResponseHeadersPolicy {
|
|
|
45
49
|
securityHeader.applyTo(headers);
|
|
46
50
|
}
|
|
47
51
|
this.serverTiming?.applyTo(headers);
|
|
48
|
-
this.cors?.apply(headers, requestOrigin);
|
|
52
|
+
this.cors?.apply(headers, requestOrigin, requestMethod);
|
|
49
53
|
return new Response(response.body, {
|
|
50
54
|
status: response.status,
|
|
51
55
|
statusText: response.statusText,
|
package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cf-response-headers-policy.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqBzC;;;;;;;;GAQG;AACH,MAAM,OAAO,kCAAkC;IAC7B,EAAE,CAAuC;IACzC,IAAI,CAAS;IACb,aAAa,CAAyC;IACtD,eAAe,CAAoB;IACnC,eAAe,CAAyC;IACxD,YAAY,CAA0C;IACtD,IAAI,CAAqD;IAEzE,YAAY,UAAwD;QAClE,IAAI,CAAC,EAAE;YACL,UAAU,CAAC,EAAE,IAAK,UAAU,EAA2C,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"sim-cf-response-headers-policy.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqBzC;;;;;;;;GAQG;AACH,MAAM,OAAO,kCAAkC;IAC7B,EAAE,CAAuC;IACzC,IAAI,CAAS;IACb,aAAa,CAAyC;IACtD,eAAe,CAAoB;IACnC,eAAe,CAAyC;IACxD,YAAY,CAA0C;IACtD,IAAI,CAAqD;IAEzE,YAAY,UAAwD;QAClE,IAAI,CAAC,EAAE;YACL,UAAU,CAAC,EAAE,IAAK,UAAU,EAA2C,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CACH,QAAkB,EAClB,aAAa,GAAkB,IAAI,EACnC,aAAa,GAAG,KAAK;QAErB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QAExD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimLogsDelivery } from "../../delivery/sim-logs-delivery.js";
|
|
4
|
+
import type { SimLogs } from "../../sim-logs.js";
|
|
5
|
+
interface SimCfnDeliveryCreatorProperties {
|
|
6
|
+
readonly logs: SimLogs;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated deliveries from AWS::Logs::Delivery Resources.
|
|
10
|
+
*
|
|
11
|
+
* A delivery is the join between a source and a destination, and both have to
|
|
12
|
+
* be deployed before it. A template gets that ordering from naming them
|
|
13
|
+
* through `Ref` and `Fn::GetAtt`.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimCfnDeliveryCreator {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(properties: SimCfnDeliveryCreatorProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Create a delivery from an AWS::Logs::Delivery Resource.
|
|
20
|
+
*/
|
|
21
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimLogsDelivery>;
|
|
22
|
+
/**
|
|
23
|
+
* Delete a delivery created from a CloudFormation Resource.
|
|
24
|
+
*/
|
|
25
|
+
delete(delivery: SimLogsDelivery): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=sim-cfn-delivery-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-delivery-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/logs/cfn/delivery/sim-cfn-delivery-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAejD,UAAU,+BAA+B;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;;IAGhC,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,eAAe,CAAC,CAsB1B;IAED;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCfnDeliveryInput } from "./sim-cfn-delivery-input.js";
|
|
3
|
+
import { SimCfnDeliveryProperties } from "./sim-cfn-delivery-properties.js";
|
|
4
|
+
import { deliveryUnsimulatedReasons } from "./sim-cfn-delivery-unsimulated-properties.js";
|
|
5
|
+
const resourceType = "AWS::Logs::Delivery";
|
|
6
|
+
const actedOnProperties = new Set([
|
|
7
|
+
"DeliverySourceName",
|
|
8
|
+
"DeliveryDestinationArn",
|
|
9
|
+
"RecordFields",
|
|
10
|
+
"FieldDelimiter",
|
|
11
|
+
"S3SuffixPath",
|
|
12
|
+
"S3EnableHiveCompatiblePath",
|
|
13
|
+
]);
|
|
14
|
+
/**
|
|
15
|
+
* Creates simulated deliveries from AWS::Logs::Delivery Resources.
|
|
16
|
+
*
|
|
17
|
+
* A delivery is the join between a source and a destination, and both have to
|
|
18
|
+
* be deployed before it. A template gets that ordering from naming them
|
|
19
|
+
* through `Ref` and `Fn::GetAtt`.
|
|
20
|
+
*/
|
|
21
|
+
export class SimCfnDeliveryCreator {
|
|
22
|
+
#logs;
|
|
23
|
+
constructor(properties) {
|
|
24
|
+
this.#logs = properties.logs;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a delivery from an AWS::Logs::Delivery Resource.
|
|
28
|
+
*/
|
|
29
|
+
async create(resource, properties) {
|
|
30
|
+
const reader = new SimCfnDeliveryProperties({
|
|
31
|
+
resource,
|
|
32
|
+
properties,
|
|
33
|
+
resourceType,
|
|
34
|
+
actedOnProperties,
|
|
35
|
+
unsimulatedReasons: deliveryUnsimulatedReasons,
|
|
36
|
+
});
|
|
37
|
+
reader.recordIgnoredProperties();
|
|
38
|
+
const created = await this.#logs.createDelivery({
|
|
39
|
+
input: simCfnDeliveryInput(reader),
|
|
40
|
+
});
|
|
41
|
+
const delivery = this.#logs.findDelivery(created.delivery?.id ?? "");
|
|
42
|
+
assertDefined(delivery, `sim CloudWatch Logs delivery for CloudFormation Resource ${resource.logicalId}`);
|
|
43
|
+
return delivery;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Delete a delivery created from a CloudFormation Resource.
|
|
47
|
+
*/
|
|
48
|
+
async delete(delivery) {
|
|
49
|
+
await this.#logs.deleteDelivery({ input: { id: delivery.id } });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-cfn-delivery-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-delivery-creator.js","sourceRoot":"","sources":["../../../../../src/service/logs/cfn/delivery/sim-cfn-delivery-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE1F,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,oBAAoB;IACpB,wBAAwB;IACxB,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,4BAA4B;CAC7B,CAAC,CAAC;AAMH;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACvB,KAAK,CAAU;IAExB,YAAY,UAA2C;QACrD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC;YAC1C,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,iBAAiB;YACjB,kBAAkB,EAAE,0BAA0B;SAC/C,CAAC,CAAC;QAEH,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAC9C,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC;SACnC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,aAAa,CACX,QAAQ,EACR,4DAA4D,QAAQ,CAAC,SAAS,EAAE,CACjF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimLogsDeliveryDestination } from "../../delivery/sim-logs-delivery-destination.js";
|
|
4
|
+
import type { SimLogs } from "../../sim-logs.js";
|
|
5
|
+
interface SimCfnDeliveryDestinationCreatorProperties {
|
|
6
|
+
readonly logs: SimLogs;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated delivery destinations from AWS::Logs::DeliveryDestination
|
|
10
|
+
* Resources.
|
|
11
|
+
*
|
|
12
|
+
* The output format is fixed once the destination is there, so a template that
|
|
13
|
+
* changes it replaces the Resource. Sim CloudFormation replaces a Resource
|
|
14
|
+
* whose template entry changed at all, which lands on the same behaviour
|
|
15
|
+
* without the destination having to say so.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimCfnDeliveryDestinationCreator {
|
|
18
|
+
#private;
|
|
19
|
+
constructor(properties: SimCfnDeliveryDestinationCreatorProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Create a delivery destination from a CloudFormation Resource.
|
|
22
|
+
*/
|
|
23
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimLogsDeliveryDestination>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a delivery destination created from a CloudFormation Resource.
|
|
26
|
+
*/
|
|
27
|
+
delete(destination: SimLogsDeliveryDestination): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=sim-cfn-delivery-destination-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-delivery-destination-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAWjD,UAAU,0CAA0C;IAClD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,gCAAgC;;IAG3C,YAAY,UAAU,EAAE,0CAA0C,EAEjE;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,0BAA0B,CAAC,CAgCrC;IAED;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAInE;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { SimCfnDeliveryProperties } from "./sim-cfn-delivery-properties.js";
|
|
3
|
+
import { deliveryDestinationUnsimulatedReasons } from "./sim-cfn-delivery-unsimulated-properties.js";
|
|
4
|
+
const resourceType = "AWS::Logs::DeliveryDestination";
|
|
5
|
+
const actedOnProperties = new Set([
|
|
6
|
+
"Name",
|
|
7
|
+
"DestinationResourceArn",
|
|
8
|
+
"OutputFormat",
|
|
9
|
+
]);
|
|
10
|
+
/**
|
|
11
|
+
* Creates simulated delivery destinations from AWS::Logs::DeliveryDestination
|
|
12
|
+
* Resources.
|
|
13
|
+
*
|
|
14
|
+
* The output format is fixed once the destination is there, so a template that
|
|
15
|
+
* changes it replaces the Resource. Sim CloudFormation replaces a Resource
|
|
16
|
+
* whose template entry changed at all, which lands on the same behaviour
|
|
17
|
+
* without the destination having to say so.
|
|
18
|
+
*/
|
|
19
|
+
export class SimCfnDeliveryDestinationCreator {
|
|
20
|
+
#logs;
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.#logs = properties.logs;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create a delivery destination from a CloudFormation Resource.
|
|
26
|
+
*/
|
|
27
|
+
async create(resource, properties) {
|
|
28
|
+
const reader = new SimCfnDeliveryProperties({
|
|
29
|
+
resource,
|
|
30
|
+
properties,
|
|
31
|
+
resourceType,
|
|
32
|
+
actedOnProperties,
|
|
33
|
+
unsimulatedReasons: deliveryDestinationUnsimulatedReasons,
|
|
34
|
+
});
|
|
35
|
+
const name = reader.requiredString("Name");
|
|
36
|
+
reader.recordIgnoredProperties();
|
|
37
|
+
await this.#logs.putDeliveryDestination({
|
|
38
|
+
input: {
|
|
39
|
+
name,
|
|
40
|
+
outputFormat: reader.optionalString("OutputFormat"),
|
|
41
|
+
deliveryDestinationConfiguration: {
|
|
42
|
+
destinationResourceArn: reader.requiredString("DestinationResourceArn"),
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const destination = this.#logs.findDeliveryDestination(name);
|
|
47
|
+
assertDefined(destination, `sim CloudWatch Logs delivery destination for CloudFormation Resource ${resource.logicalId}`);
|
|
48
|
+
return destination;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Delete a delivery destination created from a CloudFormation Resource.
|
|
52
|
+
*/
|
|
53
|
+
async delete(destination) {
|
|
54
|
+
await this.#logs.deleteDeliveryDestination({
|
|
55
|
+
input: { name: destination.name },
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sim-cfn-delivery-destination-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-delivery-destination-creator.js","sourceRoot":"","sources":["../../../../../src/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,8CAA8C,CAAC;AAErG,MAAM,YAAY,GAAG,gCAAgC,CAAC;AACtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM;IACN,wBAAwB;IACxB,cAAc;CACf,CAAC,CAAC;AAMH;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAgC;IAClC,KAAK,CAAU;IAExB,YAAY,UAAsD;QAChE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC;YAC1C,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,iBAAiB;YACjB,kBAAkB,EAAE,qCAAqC;SAC1D,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;YACtC,KAAK,EAAE;gBACL,IAAI;gBACJ,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC;gBACnD,gCAAgC,EAAE;oBAChC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAC3C,wBAAwB,CACzB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE7D,aAAa,CACX,WAAW,EACX,wEAAwE,QAAQ,CAAC,SAAS,EAAE,CAC7F,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,WAAuC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;YACzC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SimCreateDeliveryCommandInput } from "../../command/delivery/delivery.command.js";
|
|
2
|
+
import type { SimCfnDeliveryProperties } from "./sim-cfn-delivery-properties.js";
|
|
3
|
+
/**
|
|
4
|
+
* The CreateDelivery request an AWS::Logs::Delivery Resource asks for.
|
|
5
|
+
*
|
|
6
|
+
* The template carries the S3 layout as two flat properties, and the API takes
|
|
7
|
+
* them nested. Neither is passed on unless the template set one of them, so a
|
|
8
|
+
* delivery to a log group or a Firehose stream is created without the S3
|
|
9
|
+
* configuration the API would refuse.
|
|
10
|
+
*/
|
|
11
|
+
export declare function simCfnDeliveryInput(reader: SimCfnDeliveryProperties): SimCreateDeliveryCommandInput;
|
|
12
|
+
//# sourceMappingURL=sim-cfn-delivery-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-delivery-input.d.ts","sourceRoot":"","sources":["../../../../../src/service/logs/cfn/delivery/sim-cfn-delivery-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,wBAAwB,GAC/B,6BAA6B,CAiB/B"}
|