@liflig/cdk 3.25.1 → 3.26.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/assets/slack-error-log-handler-lambda/__pycache__/index.cpython-314.pyc +0 -0
- package/assets/slack-error-log-handler-lambda/__pycache__/test_handler.cpython-314-pytest-9.0.3.pyc +0 -0
- package/assets/slack-error-log-handler-lambda/uv.lock +9 -9
- package/lib/rds/database.d.ts +27 -0
- package/lib/rds/database.js +42 -1
- package/lib/rds/windows.d.ts +20 -0
- package/lib/rds/windows.js +109 -0
- package/package.json +14 -14
|
Binary file
|
package/assets/slack-error-log-handler-lambda/__pycache__/test_handler.cpython-314-pytest-9.0.3.pyc
CHANGED
|
Binary file
|
|
@@ -4,30 +4,30 @@ requires-python = ">=3.14"
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "boto3"
|
|
7
|
-
version = "1.42.
|
|
7
|
+
version = "1.42.92"
|
|
8
8
|
source = { registry = "https://pypi.org/simple" }
|
|
9
9
|
dependencies = [
|
|
10
10
|
{ name = "botocore" },
|
|
11
11
|
{ name = "jmespath" },
|
|
12
12
|
{ name = "s3transfer" },
|
|
13
13
|
]
|
|
14
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
14
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e7/3b/84cafa37e85a57618554bd2bc21bd569417097f45f18c23ef488e6c69683/boto3-1.42.92.tar.gz", hash = "sha256:55ec6ef6fc81f46d567a7d1d398d1e5c375d468905d0ccd9e1f767f0c77dbe9b", size = 113207, upload-time = "2026-04-20T19:38:17.293Z" }
|
|
15
15
|
wheels = [
|
|
16
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
16
|
+
{ url = "https://files.pythonhosted.org/packages/8f/8f/350ffd50aaa515429464deb1dc85893a21a64cb41892feb6b22ce87304ad/boto3-1.42.92-py3-none-any.whl", hash = "sha256:c90d9a170faa0585755fa103a3cd9595e1f53443864e902c180f3d8177589125", size = 140555, upload-time = "2026-04-20T19:38:14.323Z" },
|
|
17
17
|
]
|
|
18
18
|
|
|
19
19
|
[[package]]
|
|
20
20
|
name = "botocore"
|
|
21
|
-
version = "1.42.
|
|
21
|
+
version = "1.42.92"
|
|
22
22
|
source = { registry = "https://pypi.org/simple" }
|
|
23
23
|
dependencies = [
|
|
24
24
|
{ name = "jmespath" },
|
|
25
25
|
{ name = "python-dateutil" },
|
|
26
26
|
{ name = "urllib3" },
|
|
27
27
|
]
|
|
28
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
28
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d5/0a/6785ce224ba4483b3e1282d959e1dd2c2898823336f013464c43cb154036/botocore-1.42.92.tar.gz", hash = "sha256:f1193d3057a2d0267353d7ef4e136be37ea432336d097fcb1951fae566ca3a22", size = 15235239, upload-time = "2026-04-20T19:38:05.085Z" }
|
|
29
29
|
wheels = [
|
|
30
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
30
|
+
{ url = "https://files.pythonhosted.org/packages/32/b8/41d4d7ba75a4fb4f11362e96371a12695bc6ba0bb7cc680137db0213f97e/botocore-1.42.92-py3-none-any.whl", hash = "sha256:09ddefddbb1565ceef4b44b4b6e61b1ca5f12701d1494ecc85c1133d1b1e81fb", size = 14916275, upload-time = "2026-04-20T19:38:01.684Z" },
|
|
31
31
|
]
|
|
32
32
|
|
|
33
33
|
[[package]]
|
|
@@ -59,11 +59,11 @@ wheels = [
|
|
|
59
59
|
|
|
60
60
|
[[package]]
|
|
61
61
|
name = "packaging"
|
|
62
|
-
version = "26.
|
|
62
|
+
version = "26.1"
|
|
63
63
|
source = { registry = "https://pypi.org/simple" }
|
|
64
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
64
|
+
sdist = { url = "https://files.pythonhosted.org/packages/df/de/0d2b39fb4af88a0258f3bac87dfcbb48e73fbdea4a2ed0e2213f9a4c2f9a/packaging-26.1.tar.gz", hash = "sha256:f042152b681c4bfac5cae2742a55e103d27ab2ec0f3d88037136b6bfe7c9c5de", size = 215519, upload-time = "2026-04-14T21:12:49.362Z" }
|
|
65
65
|
wheels = [
|
|
66
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
66
|
+
{ url = "https://files.pythonhosted.org/packages/7a/c2/920ef838e2f0028c8262f16101ec09ebd5969864e5a64c4c05fad0617c56/packaging-26.1-py3-none-any.whl", hash = "sha256:5d9c0669c6285e491e0ced2eee587eaf67b670d94a19e94e3984a481aba6802f", size = 95831, upload-time = "2026-04-14T21:12:47.56Z" },
|
|
67
67
|
]
|
|
68
68
|
|
|
69
69
|
[[package]]
|
package/lib/rds/database.d.ts
CHANGED
|
@@ -120,6 +120,33 @@ export interface DatabaseProps extends cdk.StackProps {
|
|
|
120
120
|
* @default false
|
|
121
121
|
*/
|
|
122
122
|
usePublicSubnets?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Weekly maintenance window in UTC, format `ddd:hh:mm-ddd:hh:mm`.
|
|
125
|
+
* Minimum 30 minutes; must not overlap `preferredBackupWindow`.
|
|
126
|
+
*
|
|
127
|
+
* @default AWS-assigned
|
|
128
|
+
* @example "sun:03:00-sun:04:00"
|
|
129
|
+
*/
|
|
130
|
+
preferredMaintenanceWindow?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Daily backup window in UTC, format `hh:mm-hh:mm`.
|
|
133
|
+
* Minimum 30 minutes; must not overlap `preferredMaintenanceWindow`.
|
|
134
|
+
*
|
|
135
|
+
* @default AWS-assigned
|
|
136
|
+
* @example "01:00-02:00"
|
|
137
|
+
*/
|
|
138
|
+
preferredBackupWindow?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Whether AWS automatically applies minor engine version upgrades
|
|
141
|
+
* during the maintenance window.
|
|
142
|
+
*
|
|
143
|
+
* @default AWS default (true)
|
|
144
|
+
*/
|
|
145
|
+
autoMinorVersionUpgrade?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Escape hatch for RDS option combinations the construct doesn't expose
|
|
148
|
+
* directly. Overrides any value set via the typed props above.
|
|
149
|
+
*/
|
|
123
150
|
overrideDbOptions?: Partial<rds.DatabaseInstanceSourceProps>;
|
|
124
151
|
/**
|
|
125
152
|
* Configure database alarms.
|
package/lib/rds/database.js
CHANGED
|
@@ -3,6 +3,7 @@ import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
|
3
3
|
import * as rds from "aws-cdk-lib/aws-rds";
|
|
4
4
|
import * as constructs from "constructs";
|
|
5
5
|
import { DatabaseAlarms } from "../alarms";
|
|
6
|
+
import { overlaps, parseBackupWindow, parseMaintenanceWindow } from "./windows";
|
|
6
7
|
export class Database extends constructs.Construct {
|
|
7
8
|
secret;
|
|
8
9
|
connections;
|
|
@@ -16,9 +17,37 @@ export class Database extends constructs.Construct {
|
|
|
16
17
|
const secret = new rds.DatabaseSecret(this, "Secret", {
|
|
17
18
|
username: masterUsername,
|
|
18
19
|
});
|
|
20
|
+
const preferredMaintenanceWindow = props.overrideDbOptions?.preferredMaintenanceWindow ??
|
|
21
|
+
props.preferredMaintenanceWindow;
|
|
22
|
+
const preferredBackupWindow = props.overrideDbOptions?.preferredBackupWindow ??
|
|
23
|
+
props.preferredBackupWindow;
|
|
24
|
+
if (preferredMaintenanceWindow !== undefined &&
|
|
25
|
+
preferredBackupWindow !== undefined) {
|
|
26
|
+
const mw = parseMaintenanceWindow(preferredMaintenanceWindow);
|
|
27
|
+
const bw = parseBackupWindow(preferredBackupWindow);
|
|
28
|
+
if (overlaps(mw, bw)) {
|
|
29
|
+
throw new Error(`preferredBackupWindow "${preferredBackupWindow}" overlaps ` +
|
|
30
|
+
`preferredMaintenanceWindow "${preferredMaintenanceWindow}". ` +
|
|
31
|
+
"AWS requires these windows to be disjoint.");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (preferredMaintenanceWindow !== undefined) {
|
|
35
|
+
parseMaintenanceWindow(preferredMaintenanceWindow);
|
|
36
|
+
}
|
|
37
|
+
else if (preferredBackupWindow !== undefined) {
|
|
38
|
+
parseBackupWindow(preferredBackupWindow);
|
|
39
|
+
}
|
|
40
|
+
warnOnPinnedMinorWithAutoUpgrade(this, props.engine,
|
|
41
|
+
// AWS default is true.
|
|
42
|
+
props.overrideDbOptions?.autoMinorVersionUpgrade ??
|
|
43
|
+
props.autoMinorVersionUpgrade ??
|
|
44
|
+
true);
|
|
19
45
|
const options = {
|
|
20
46
|
engine: props.engine,
|
|
21
47
|
allowMajorVersionUpgrade: true,
|
|
48
|
+
autoMinorVersionUpgrade: props.autoMinorVersionUpgrade,
|
|
49
|
+
preferredMaintenanceWindow: props.preferredMaintenanceWindow,
|
|
50
|
+
preferredBackupWindow: props.preferredBackupWindow,
|
|
22
51
|
instanceIdentifier: props.instanceIdentifier,
|
|
23
52
|
instanceType: props.instanceType,
|
|
24
53
|
vpc: props.vpc,
|
|
@@ -98,4 +127,16 @@ export class Database extends constructs.Construct {
|
|
|
98
127
|
this.connections.allowDefaultPortFrom(source);
|
|
99
128
|
}
|
|
100
129
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmRzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUUxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBdUkxQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2hDLE1BQU0sQ0FBWTtJQUNsQixXQUFXLENBQWlCO0lBQzVCLGdCQUFnQixDQUF1QjtJQUN2QyxZQUFZLENBQWtCO0lBQzlCLGdCQUFnQixDQUFVO0lBRTFDLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLFFBQVEsQ0FBQTtRQUN2RCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQTtRQUVoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNwRCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sR0FBb0M7WUFDL0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFF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O1lBQ0osQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDakQsUUFBUSxDQUFDLHFCQUFxQixDQUFDO29CQUM3QixHQUFHLE1BQU0sQ0FBQyxrQkFBa0I7aUJBQzdCLENBQUMsQ0FBQTtZQUNKLENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2xELFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxNQUFNO29CQUMxQyxTQUFTLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixFQUFFLFNBQVM7b0JBQ2hELGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUI7b0JBQ2hFLE1BQU0sRUFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsTUFBTTtvQkFDMUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxhQUFhO29CQUN4RCx3QkFBd0IsRUFDdEIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLHdCQUF3QjtpQkFDdkQsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBMEI7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB0eXBlICogYXMgY2xvdWR3YXRjaCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIlxuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCJcbmltcG9ydCAqIGFzIHJkcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiXG5pbXBvcnQgdHlwZSAqIGFzIHNtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBEYXRhYmFzZUFsYXJtcyB9IGZyb20gXCIuLi9hbGFybXNcIlxuXG4vKipcbiAqIENvbmZpZ3VyZSBkYXRhYmFzZSBhbGFybXMuXG4gKlxuICogQWxhcm1zIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQgKHdoZW4geW91IHN1cHBseSBhbiBgYWxhcm1BY3Rpb25gIGFuZFxuICogYHdhcm5pbmdBY3Rpb25gKS4gVG8gZXhwbGljaXRseSBkaXNhYmxlIGF1dG9tYXRpYyBhbGFybXMgdXNlXG4gKiBgeyBlbmFibGVkOiBmYWxzZSB9YC5cbiAqL1xuZXhwb3J0IHR5cGUgRGF0YWJhc2VBbGFybXNDb25maWcgPVxuICB8IHsgZW5hYmxlZDogZmFsc2UgfVxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogV2hlbiBhbGFybXMgYXJlIGVuYWJsZWQsIGJvdGggYWN0aW9ucyBhcmUgcmVxdWlyZWQuXG4gICAgICAgKi9cbiAgICAgIGFsYXJtQWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgd2FybmluZ0FjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cblxuICAgICAgLyoqXG4gICAgICAgKiBDUFUgY3JlZGl0cyBhbGFybSBjb25maWdcbiAgICAgICAqL1xuICAgICAgY3B1Q3JlZGl0c0FsYXJtPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlZmF1bHQgdHJ1ZSBpZiBpbnN0YW5jZSB0eXBlIGlzIGJ1cnN0YWJsZVxuICAgICAgICAgKi9cbiAgICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgICAgLyoqIFdoZXRoZXIgdG8gYXR0YWNoIE9LIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0uIEBkZWZhdWx0IHRydWUgKi9cbiAgICAgICAgZW5hYmxlT2tBbGFybT86IGJvb2xlYW5cbiAgICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgICAgLyoqIEBkZWZhdWx0IDEwJSBvZiBtYXhpbXVtIGVhcm5lZCBjcmVkaXRzIGZvciBpbnN0YW5jZSB0eXBlICovXG4gICAgICAgIHRocmVzaG9sZD86IG51bWJlclxuICAgICAgICBhcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBTdG9yYWdlIHNwYWNlIGFsYXJtIG92ZXJyaWRlc1xuICAgICAgICovXG4gICAgICBzdG9yYWdlU3BhY2VBbGFybXM/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIGFsbCBzdG9yYWdlIHNwYWNlIGFsYXJtcyAoYm90aCBsb3cgYW5kIGNyaXRpY2FsbHkgbG93KS5cbiAgICAgICAgICogSW5kaXZpZHVhbCBhbGFybXMgY2FuIHN0aWxsIGJlIGRpc2FibGVkIGV2ZW4gd2hlbiB0aGlzIGlzIHRydWUuXG4gICAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIGxvd1N0b3JhZ2VTcGFjZUFsYXJtPzoge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhlIGxvdyBzdG9yYWdlIHNwYWNlIGFsYXJtLlxuICAgICAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBlbmFibGVkPzogYm9vbGVhblxuICAgICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgICAgLyoqIFdoZXRoZXIgdG8gYXR0YWNoIE9LIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0uIEBkZWZhdWx0IHRydWUgKi9cbiAgICAgICAgICBlbmFibGVPa0FsYXJtPzogYm9vbGVhblxuICAgICAgICAgIC8qKiBAZGVmYXVsdCAyNSUgb2YgYWxsb2NhdGVkIHN0b3JhZ2UgKi9cbiAgICAgICAgICB0aHJlc2hvbGQ/OiBjZGsuU2l6ZVxuICAgICAgICB9XG4gICAgICAgIGNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybT86IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBjcml0aWNhbGx5IGxvdyBzdG9yYWdlIHNwYWNlIGFsYXJtLlxuICAgICAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBlbmFibGVkPzogYm9vbGVhblxuICAgICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgICAgLyoqIFdoZXRoZXIgdG8gYXR0YWNoIE9LIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0uIEBkZWZhdWx0IHRydWUgKi9cbiAgICAgICAgICBlbmFibGVPa0FsYXJtPzogYm9vbGVhblxuICAgICAgICAgIC8qKiBAZGVmYXVsdCA1JSBvZiBhbGxvY2F0ZWQgc3RvcmFnZSAqL1xuICAgICAgICAgIHRocmVzaG9sZD86IGNkay5TaXplXG4gICAgICAgIH1cbiAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogQ1BVIHV0aWxpemF0aW9uIGFsYXJtIG92ZXJyaWRlcy5cbiAgICAgICAqL1xuICAgICAgY3B1VXRpbGl6YXRpb25BbGFybT86IHtcbiAgICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgICAgLyoqIFdoZXRoZXIgdG8gYXR0YWNoIE9LIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0uIEBkZWZhdWx0IHRydWUgKi9cbiAgICAgICAgZW5hYmxlT2tBbGFybT86IGJvb2xlYW5cbiAgICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgICAgLyoqIEBkZWZhdWx0IDgwICovXG4gICAgICAgIHRocmVzaG9sZD86IG51bWJlclxuICAgICAgICAvKiogQGRlZmF1bHQgNSAqL1xuICAgICAgICBldmFsdWF0aW9uUGVyaW9kcz86IG51bWJlclxuICAgICAgICAvKiogQGRlZmF1bHQgMiBtaW51dGVzICovXG4gICAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgICAgICBhcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICAgIH1cbiAgICB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgdnBjOiBlYzIuSVZwY1xuICBlbmdpbmU6IHJkcy5JSW5zdGFuY2VFbmdpbmVcbiAgLyoqXG4gICAqIEBkZWZhdWx0IG1hc3RlclxuICAgKi9cbiAgbWFzdGVyVXNlcm5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGFwcFxuICAgKi9cbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAyNVxuICAgKi9cbiAgYWxsb2NhdGVkU3RvcmFnZUdiPzogbnVtYmVyXG4gIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZVxuICBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaXNNdWx0aUF6PzogYm9vbGVhblxuICAvKipcbiAgICogTXVzdCBub3QgYmUgcmVtb3ZlZCBvbmNlIGl0IGhhcyBiZWVuIHNldCwgYXMgY2hhbmdpbmcgdGhpc1xuICAgKiByZXN1bHRzIGluIGEgbmV3IERCIGluc3RhbmNlIGJlaW5nIGNyZWF0ZWQuXG4gICAqXG4gICAqIEFsc28sIHJlbWVtYmVyIHRvIGdpdmUgZGF0YWJhc2UgYSBuZXcgbmFtZSB3aGVuIGNoYW5naW5nIHRoaXMgcHJvcCwgb3IgZWxzZVxuICAgKiB0aGUgbmV3IGluc3RhbmNlIG5hbWUgd2lsbCBjcmFzaCB3aXRoIHRoZSBleGlzdGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHNuYXBzaG90SWRlbnRpZmllcj86IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHVzZVB1YmxpY1N1Ym5ldHM/OiBib29sZWFuXG4gIG92ZXJyaWRlRGJPcHRpb25zPzogUGFydGlhbDxyZHMuRGF0YWJhc2VJbnN0YW5jZVNvdXJjZVByb3BzPlxuICAvKipcbiAgICogQ29uZmlndXJlIGRhdGFiYXNlIGFsYXJtcy5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBvbmUgb2YgdHdvIHNoYXBlczpcbiAgICogIC0gYHsgZW5hYmxlZDogZmFsc2UgfWAgdG8gZXhwbGljaXRseSBkaXNhYmxlIGF1dG9tYXRpYyBhbGFybXNcbiAgICogIC0gYHsgYWxhcm1BY3Rpb24sIHdhcm5pbmdBY3Rpb24gfWAgdG8gZW5hYmxlIGFsYXJtcyBhbmQgcHJvdmlkZSBib3RoIGNoYW5uZWxzXG4gICAqXG4gICAqIERlZmF1bHQ6IGVuYWJsZWQuXG4gICAqL1xuICBhbGFybXM6IERhdGFiYXNlQWxhcm1zQ29uZmlnXG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldDogc20uSVNlY3JldFxuICBwdWJsaWMgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9uc1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YWJhc2VJbnN0YW5jZTogcmRzLklEYXRhYmFzZUluc3RhbmNlXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGVcbiAgcHVibGljIHJlYWRvbmx5IGFsbG9jYXRlZFN0b3JhZ2U6IGNkay5TaXplXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IG1hc3RlclVzZXJuYW1lID0gcHJvcHMubWFzdGVyVXNlcm5hbWUgPz8gXCJtYXN0ZXJcIlxuICAgIGNvbnN0IGRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlTmFtZSA/PyBcImFwcFwiXG5cbiAgICBjb25zdCBzZWNyZXQgPSBuZXcgcmRzLkRhdGFiYXNlU2VjcmV0KHRoaXMsIFwiU2VjcmV0XCIsIHtcbiAgICAgIHVzZXJuYW1lOiBtYXN0ZXJVc2VybmFtZSxcbiAgICB9KVxuXG4gICAgY29uc3Qgb3B0aW9uczogcmRzLkRhdGFiYXNlSW5zdGFuY2VTb3VyY2VQcm9wcyA9IHtcbiAgICAgIGVuZ2luZTogcHJvcHMuZW5naW5lLFxuICAgICAgYWxsb3dNYWpvclZlcnNpb25VcGdyYWRlOiB0cnVlLFxuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5pbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgICBpbnN0YW5jZVR5cGU6IHByb3BzLmluc3RhbmNlVHlwZSxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMudXNlUHVibGljU3VibmV0c1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgbXVsdGlBejogcHJvcHMuaXNNdWx0aUF6ID8/IHRydWUsXG4gICAgICAvLyBXZSBkZWZhdWx0IHRvIDI1IEdpQiBzdG9yYWdlIGluc3RlYWQgb2YgMTAwIEdpQlxuICAgICAgLy8gaWYgd2UgZG8gbm90IHNwZWNpZnkuXG4gICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlR2IgPz8gMjUsXG4gICAgICAvLyBXZSBzcGVjaWZ5IG1heGltdW0gYmFja3VwIHJldGVudGlvbi5cbiAgICAgIGJhY2t1cFJldGVudGlvbjogY2RrLkR1cmF0aW9uLmRheXMoMzUpLFxuICAgICAgLi4ucHJvcHMub3ZlcnJpZGVEYk9wdGlvbnMsXG4gICAgfVxuICAgIHRoaXMuYWxsb2NhdGVkU3RvcmFnZSA9IGNkay5TaXplLmdpYmlieXRlcyhvcHRpb25zLmFsbG9jYXRlZFN0b3JhZ2UhKVxuICAgIHRoaXMuaW5zdGFuY2VUeXBlID0gb3B0aW9ucy5pbnN0YW5jZVR5cGUhXG5cbiAgICBjb25zdCBkYiA9IHByb3BzLnNuYXBzaG90SWRlbnRpZmllclxuICAgICAgPyBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2VGcm9tU25hcHNob3QodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBzbmFwc2hvdElkZW50aWZpZXI6IHByb3BzLnNuYXBzaG90SWRlbnRpZmllcixcbiAgICAgICAgICBjcmVkZW50aWFsczogcmRzLlNuYXBzaG90Q3JlZGVudGlhbHMuZnJvbVNlY3JldChzZWNyZXQpLFxuICAgICAgICB9KVxuICAgICAgOiBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBkYXRhYmFzZU5hbWUsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IHJkcy5DcmVkZW50aWFscy5mcm9tU2VjcmV0KHNlY3JldCksXG4gICAgICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgICAgfSlcblxuICAgIHRoaXMuZGF0YWJhc2VJbnN0YW5jZSA9IGRiXG5cbiAgICB0aGlzLnNlY3JldCA9IGRiLnNlY3JldCFcbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gZGIuY29ubmVjdGlvbnNcblxuICAgIC8vIE92ZXJyaWRlIGluIGNhc2Ugd2UgaGF2ZSBwbGFjZWQgaXQgaW4gYSBwdWJsaWMgc3VibmV0LlxuICAgIC8vIEl0IHdvdWxkIGRlZmF1bHQgdG8gYmVpbmcgcHVibGljIGFjY2Vzc2libGUgd2hpY2ggd2UgZG8gbm90IHdhbnQuXG4gICAgOyhkYi5ub2RlLmRlZmF1bHRDaGlsZCBhcyByZHMuQ2ZuREJJbnN0YW5jZSkucHVibGljbHlBY2Nlc3NpYmxlID0gZmFsc2VcblxuICAgIGlmIChcImFsYXJtQWN0aW9uXCIgaW4gcHJvcHMuYWxhcm1zKSB7XG4gICAgICBjb25zdCBhbGFybXMgPSBwcm9wcy5hbGFybXNcblxuICAgICAgY29uc3QgZGJBbGFybXMgPSBuZXcgRGF0YWJhc2VBbGFybXModGhpcywgXCJBbGFybXNcIiwge1xuICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUsXG4gICAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IGNkay5TaXplLmdpYmlieXRlcyhvcHRpb25zLmFsbG9jYXRlZFN0b3JhZ2UhKSxcbiAgICAgICAgYWxhcm1BY3Rpb246IGFsYXJtcy5hbGFybUFjdGlvbixcbiAgICAgICAgd2FybmluZ0FjdGlvbjogYWxhcm1zLndhcm5pbmdBY3Rpb24sXG4gICAgICB9KVxuXG4gICAgICAvLyBEZWZhdWx0IG1hcHBpbmc6XG4gICAgICAvLyAtIGxvdyBDUFUgY3JlZGl0cyAtPiBhbGFybVxuICAgICAgLy8gLSBjcml0aWNhbGx5IGxvdyBzdG9yYWdlIC0+IGFsYXJtXG4gICAgICAvLyAtIGxvdyBzdG9yYWdlIC0+IHdhcm5pbmdcbiAgICAgIC8vIC0gaGlnaCBDUFUgdXRpbGl6YXRpb24gLT4gd2FybmluZ1xuICAgICAgLy8gT25seSBjcmVhdGUgdGhlIENQVSBjcmVkaXRzIGFsYXJtIGlmIHRoZSBpbnN0YW5jZSB0eXBlIGlzIGJ1cnN0YWJsZS5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5pbnN0YW5jZVR5cGUuaXNCdXJzdGFibGUoKSAmJlxuICAgICAgICBhbGFybXMuY3B1Q3JlZGl0c0FsYXJtPy5lbmFibGVkICE9PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIGRiQWxhcm1zLmFkZENwdUNyZWRpdHNBbGFybSh7XG4gICAgICAgICAgYWN0aW9uOiBhbGFybXMuY3B1Q3JlZGl0c0FsYXJtPy5hY3Rpb24sXG4gICAgICAgICAgdGhyZXNob2xkOiBhbGFybXMuY3B1Q3JlZGl0c0FsYXJtPy50aHJlc2hvbGQsXG4gICAgICAgICAgZW5hYmxlT2tBbGFybTogYWxhcm1zLmNwdUNyZWRpdHNBbGFybT8uZW5hYmxlT2tBbGFybSxcbiAgICAgICAgICBhcHBlbmRUb0FsYXJtRGVzY3JpcHRpb246XG4gICAgICAgICAgICBhbGFybXMuY3B1Q3JlZGl0c0FsYXJtPy5hcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24sXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChhbGFybXMuc3RvcmFnZVNwYWNlQWxhcm1zPy5lbmFibGVkICE9PSBmYWxzZSkge1xuICAgICAgICBkYkFsYXJtcy5hZGRTdG9yYWdlU3BhY2VBbGFybXMoe1xuICAgICAgICAgIC4uLmFsYXJtcy5zdG9yYWdlU3BhY2VBbGFybXMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uZW5hYmxlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgZGJBbGFybXMuYWRkQ3B1VXRpbGl6YXRpb25BbGFybSh7XG4gICAgICAgICAgYWN0aW9uOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uYWN0aW9uLFxuICAgICAgICAgIHRocmVzaG9sZDogYWxhcm1zLmNwdVV0aWxpemF0aW9uQWxhcm0/LnRocmVzaG9sZCxcbiAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogYWxhcm1zLmNwdVV0aWxpemF0aW9uQWxhcm0/LmV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgIHBlcmlvZDogYWxhcm1zLmNwdVV0aWxpemF0aW9uQWxhcm0/LnBlcmlvZCxcbiAgICAgICAgICBlbmFibGVPa0FsYXJtOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uZW5hYmxlT2tBbGFybSxcbiAgICAgICAgICBhcHBlbmRUb0FsYXJtRGVzY3JpcHRpb246XG4gICAgICAgICAgICBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhbGxvd0Nvbm5lY3Rpb25Gcm9tKHNvdXJjZTogZWMyLklTZWN1cml0eUdyb3VwKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5hbGxvd0RlZmF1bHRQb3J0RnJvbShzb3VyY2UpXG4gIH1cbn1cbiJdfQ==
|
|
130
|
+
function warnOnPinnedMinorWithAutoUpgrade(scope, engine, autoMinorVersionUpgrade) {
|
|
131
|
+
if (!autoMinorVersionUpgrade)
|
|
132
|
+
return;
|
|
133
|
+
const version = engine.engineVersion;
|
|
134
|
+
if (!version)
|
|
135
|
+
return;
|
|
136
|
+
if (version.fullVersion === version.majorVersion)
|
|
137
|
+
return;
|
|
138
|
+
cdk.Annotations.of(scope).addWarning(`Engine version "${version.fullVersion}" pins a specific minor, but autoMinorVersionUpgrade is true. ` +
|
|
139
|
+
"AWS may upgrade past this pin during the maintenance window. " +
|
|
140
|
+
"Either use a major-only version (e.g. PostgresEngineVersion.VER_17) or set autoMinorVersionUpgrade to false.");
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmRzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUUxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFrSy9FLE1BQU0sT0FBTyxRQUFTLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFDaEMsTUFBTSxDQUFZO0lBQ2xCLFdBQVcsQ0FBaUI7SUFDNUIsZ0JBQWdCLENBQXVCO0lBQ3ZDLFlBQVksQ0FBa0I7SUFDOUIsZ0JBQWdCLENBQVU7SUFFMUMsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFBO1FBQ3ZELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFBO1FBRWhELE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3BELFFBQVEsRUFBRSxjQUFjO1NBQ3pCLENBQUMsQ0FBQTtRQUVGLE1BQU0sMEJBQTBCLEdBQzlCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7WUFDbkQsS0FBSyxDQUFDLDBCQUEwQixDQUFBO1FBQ2xDLE1BQU0scUJBQXFCLEdBQ3pCLEtBQUssQ0FBQyxpQkFBaUIs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LE9BQU8sQ0FBQyxZQUFZO1FBQUUsT0FBTTtJQUN4RCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQ2xDLG1CQUFtQixPQUFPLENBQUMsV0FBVyxnRUFBZ0U7UUFDcEcsK0RBQStEO1FBQy9ELDhHQUE4RyxDQUNqSCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHR5cGUgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIlxuaW1wb3J0ICogYXMgcmRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCJcbmltcG9ydCB0eXBlICogYXMgc20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7IERhdGFiYXNlQWxhcm1zIH0gZnJvbSBcIi4uL2FsYXJtc1wiXG5pbXBvcnQgeyBvdmVybGFwcywgcGFyc2VCYWNrdXBXaW5kb3csIHBhcnNlTWFpbnRlbmFuY2VXaW5kb3cgfSBmcm9tIFwiLi93aW5kb3dzXCJcblxuLyoqXG4gKiBDb25maWd1cmUgZGF0YWJhc2UgYWxhcm1zLlxuICpcbiAqIEFsYXJtcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0ICh3aGVuIHlvdSBzdXBwbHkgYW4gYGFsYXJtQWN0aW9uYCBhbmRcbiAqIGB3YXJuaW5nQWN0aW9uYCkuIFRvIGV4cGxpY2l0bHkgZGlzYWJsZSBhdXRvbWF0aWMgYWxhcm1zIHVzZVxuICogYHsgZW5hYmxlZDogZmFsc2UgfWAuXG4gKi9cbmV4cG9ydCB0eXBlIERhdGFiYXNlQWxhcm1zQ29uZmlnID1cbiAgfCB7IGVuYWJsZWQ6IGZhbHNlIH1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZW4gYWxhcm1zIGFyZSBlbmFibGVkLCBib3RoIGFjdGlvbnMgYXJlIHJlcXVpcmVkLlxuICAgICAgICovXG4gICAgICBhbGFybUFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIHdhcm5pbmdBY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG5cbiAgICAgIC8qKlxuICAgICAgICogQ1BVIGNyZWRpdHMgYWxhcm0gY29uZmlnXG4gICAgICAgKi9cbiAgICAgIGNwdUNyZWRpdHNBbGFybT86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZWZhdWx0IHRydWUgaWYgaW5zdGFuY2UgdHlwZSBpcyBidXJzdGFibGVcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgIGVuYWJsZU9rQWxhcm0/OiBib29sZWFuXG4gICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgIC8qKiBAZGVmYXVsdCAxMCUgb2YgbWF4aW11bSBlYXJuZWQgY3JlZGl0cyBmb3IgaW5zdGFuY2UgdHlwZSAqL1xuICAgICAgICB0aHJlc2hvbGQ/OiBudW1iZXJcbiAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogU3RvcmFnZSBzcGFjZSBhbGFybSBvdmVycmlkZXNcbiAgICAgICAqL1xuICAgICAgc3RvcmFnZVNwYWNlQWxhcm1zPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSBhbGwgc3RvcmFnZSBzcGFjZSBhbGFybXMgKGJvdGggbG93IGFuZCBjcml0aWNhbGx5IGxvdykuXG4gICAgICAgICAqIEluZGl2aWR1YWwgYWxhcm1zIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBldmVuIHdoZW4gdGhpcyBpcyB0cnVlLlxuICAgICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgICAqL1xuICAgICAgICBlbmFibGVkPzogYm9vbGVhblxuICAgICAgICBsb3dTdG9yYWdlU3BhY2VBbGFybT86IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBsb3cgc3RvcmFnZSBzcGFjZSBhbGFybS5cbiAgICAgICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgICAgICovXG4gICAgICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgICAgZW5hYmxlT2tBbGFybT86IGJvb2xlYW5cbiAgICAgICAgICAvKiogQGRlZmF1bHQgMjUlIG9mIGFsbG9jYXRlZCBzdG9yYWdlICovXG4gICAgICAgICAgdGhyZXNob2xkPzogY2RrLlNpemVcbiAgICAgICAgfVxuICAgICAgICBjcml0aWNhbGx5TG93U3RvcmFnZVNwYWNlQWxhcm0/OiB7XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgY3JpdGljYWxseSBsb3cgc3RvcmFnZSBzcGFjZSBhbGFybS5cbiAgICAgICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgICAgICovXG4gICAgICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgICAgZW5hYmxlT2tBbGFybT86IGJvb2xlYW5cbiAgICAgICAgICAvKiogQGRlZmF1bHQgNSUgb2YgYWxsb2NhdGVkIHN0b3JhZ2UgKi9cbiAgICAgICAgICB0aHJlc2hvbGQ/OiBjZGsuU2l6ZVxuICAgICAgICB9XG4gICAgICAgIGFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIENQVSB1dGlsaXphdGlvbiBhbGFybSBvdmVycmlkZXMuXG4gICAgICAgKi9cbiAgICAgIGNwdVV0aWxpemF0aW9uQWxhcm0/OiB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgIGVuYWJsZU9rQWxhcm0/OiBib29sZWFuXG4gICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgIC8qKiBAZGVmYXVsdCA4MCAqL1xuICAgICAgICB0aHJlc2hvbGQ/OiBudW1iZXJcbiAgICAgICAgLyoqIEBkZWZhdWx0IDUgKi9cbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgICAgLyoqIEBkZWZhdWx0IDIgbWludXRlcyAqL1xuICAgICAgICBwZXJpb2Q/OiBjZGsuRHVyYXRpb25cbiAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMgZXh0ZW5kcyBjZGsuU3RhY2tQcm9wcyB7XG4gIHZwYzogZWMyLklWcGNcbiAgZW5naW5lOiByZHMuSUluc3RhbmNlRW5naW5lXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBtYXN0ZXJcbiAgICovXG4gIG1hc3RlclVzZXJuYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBhcHBcbiAgICovXG4gIGRhdGFiYXNlTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgMjVcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2VHYj86IG51bWJlclxuICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGVcbiAgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGlzTXVsdGlBej86IGJvb2xlYW5cbiAgLyoqXG4gICAqIE11c3Qgbm90IGJlIHJlbW92ZWQgb25jZSBpdCBoYXMgYmVlbiBzZXQsIGFzIGNoYW5naW5nIHRoaXNcbiAgICogcmVzdWx0cyBpbiBhIG5ldyBEQiBpbnN0YW5jZSBiZWluZyBjcmVhdGVkLlxuICAgKlxuICAgKiBBbHNvLCByZW1lbWJlciB0byBnaXZlIGRhdGFiYXNlIGEgbmV3IG5hbWUgd2hlbiBjaGFuZ2luZyB0aGlzIHByb3AsIG9yIGVsc2VcbiAgICogdGhlIG5ldyBpbnN0YW5jZSBuYW1lIHdpbGwgY3Jhc2ggd2l0aCB0aGUgZXhpc3RpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICB1c2VQdWJsaWNTdWJuZXRzPzogYm9vbGVhblxuICAvKipcbiAgICogV2Vla2x5IG1haW50ZW5hbmNlIHdpbmRvdyBpbiBVVEMsIGZvcm1hdCBgZGRkOmhoOm1tLWRkZDpoaDptbWAuXG4gICAqIE1pbmltdW0gMzAgbWludXRlczsgbXVzdCBub3Qgb3ZlcmxhcCBgcHJlZmVycmVkQmFja3VwV2luZG93YC5cbiAgICpcbiAgICogQGRlZmF1bHQgQVdTLWFzc2lnbmVkXG4gICAqIEBleGFtcGxlIFwic3VuOjAzOjAwLXN1bjowNDowMFwiXG4gICAqL1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZ1xuICAvKipcbiAgICogRGFpbHkgYmFja3VwIHdpbmRvdyBpbiBVVEMsIGZvcm1hdCBgaGg6bW0taGg6bW1gLlxuICAgKiBNaW5pbXVtIDMwIG1pbnV0ZXM7IG11c3Qgbm90IG92ZXJsYXAgYHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93YC5cbiAgICpcbiAgICogQGRlZmF1bHQgQVdTLWFzc2lnbmVkXG4gICAqIEBleGFtcGxlIFwiMDE6MDAtMDI6MDBcIlxuICAgKi9cbiAgcHJlZmVycmVkQmFja3VwV2luZG93Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBXaGV0aGVyIEFXUyBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgbWlub3IgZW5naW5lIHZlcnNpb24gdXBncmFkZXNcbiAgICogZHVyaW5nIHRoZSBtYWludGVuYW5jZSB3aW5kb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IEFXUyBkZWZhdWx0ICh0cnVlKVxuICAgKi9cbiAgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBFc2NhcGUgaGF0Y2ggZm9yIFJEUyBvcHRpb24gY29tYmluYXRpb25zIHRoZSBjb25zdHJ1Y3QgZG9lc24ndCBleHBvc2VcbiAgICogZGlyZWN0bHkuIE92ZXJyaWRlcyBhbnkgdmFsdWUgc2V0IHZpYSB0aGUgdHlwZWQgcHJvcHMgYWJvdmUuXG4gICAqL1xuICBvdmVycmlkZURiT3B0aW9ucz86IFBhcnRpYWw8cmRzLkRhdGFiYXNlSW5zdGFuY2VTb3VyY2VQcm9wcz5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBkYXRhYmFzZSBhbGFybXMuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgb25lIG9mIHR3byBzaGFwZXM6XG4gICAqICAtIGB7IGVuYWJsZWQ6IGZhbHNlIH1gIHRvIGV4cGxpY2l0bHkgZGlzYWJsZSBhdXRvbWF0aWMgYWxhcm1zXG4gICAqICAtIGB7IGFsYXJtQWN0aW9uLCB3YXJuaW5nQWN0aW9uIH1gIHRvIGVuYWJsZSBhbGFybXMgYW5kIHByb3ZpZGUgYm90aCBjaGFubmVsc1xuICAgKlxuICAgKiBEZWZhdWx0OiBlbmFibGVkLlxuICAgKi9cbiAgYWxhcm1zOiBEYXRhYmFzZUFsYXJtc0NvbmZpZ1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IHNtLklTZWNyZXRcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnNcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlSW5zdGFuY2U6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZVxuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlXG4gIHB1YmxpYyByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBtYXN0ZXJVc2VybmFtZSA9IHByb3BzLm1hc3RlclVzZXJuYW1lID8/IFwibWFzdGVyXCJcbiAgICBjb25zdCBkYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWUgPz8gXCJhcHBcIlxuXG4gICAgY29uc3Qgc2VjcmV0ID0gbmV3IHJkcy5EYXRhYmFzZVNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICB1c2VybmFtZTogbWFzdGVyVXNlcm5hbWUsXG4gICAgfSlcblxuICAgIGNvbnN0IHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93ID1cbiAgICAgIHByb3BzLm92ZXJyaWRlRGJPcHRpb25zPy5wcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyA/P1xuICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3dcbiAgICBjb25zdCBwcmVmZXJyZWRCYWNrdXBXaW5kb3cgPVxuICAgICAgcHJvcHMub3ZlcnJpZGVEYk9wdGlvbnM/LnByZWZlcnJlZEJhY2t1cFdpbmRvdyA/P1xuICAgICAgcHJvcHMucHJlZmVycmVkQmFja3VwV2luZG93XG5cbiAgICBpZiAoXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcmVmZXJyZWRCYWNrdXBXaW5kb3cgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3QgbXcgPSBwYXJzZU1haW50ZW5hbmNlV2luZG93KHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93KVxuICAgICAgY29uc3QgYncgPSBwYXJzZUJhY2t1cFdpbmRvdyhwcmVmZXJyZWRCYWNrdXBXaW5kb3cpXG4gICAgICBpZiAob3ZlcmxhcHMobXcsIGJ3KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHByZWZlcnJlZEJhY2t1cFdpbmRvdyBcIiR7cHJlZmVycmVkQmFja3VwV2luZG93fVwiIG92ZXJsYXBzIGAgK1xuICAgICAgICAgICAgYHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IFwiJHtwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvd31cIi4gYCArXG4gICAgICAgICAgICBcIkFXUyByZXF1aXJlcyB0aGVzZSB3aW5kb3dzIHRvIGJlIGRpc2pvaW50LlwiLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJzZU1haW50ZW5hbmNlV2luZG93KHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93KVxuICAgIH0gZWxzZSBpZiAocHJlZmVycmVkQmFja3VwV2luZG93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcnNlQmFja3VwV2luZG93KHByZWZlcnJlZEJhY2t1cFdpbmRvdylcbiAgICB9XG5cbiAgICB3YXJuT25QaW5uZWRNaW5vcldpdGhBdXRvVXBncmFkZShcbiAgICAgIHRoaXMsXG4gICAgICBwcm9wcy5lbmdpbmUsXG4gICAgICAvLyBBV1MgZGVmYXVsdCBpcyB0cnVlLlxuICAgICAgcHJvcHMub3ZlcnJpZGVEYk9wdGlvbnM/LmF1dG9NaW5vclZlcnNpb25VcGdyYWRlID8/XG4gICAgICAgIHByb3BzLmF1dG9NaW5vclZlcnNpb25VcGdyYWRlID8/XG4gICAgICAgIHRydWUsXG4gICAgKVxuXG4gICAgY29uc3Qgb3B0aW9uczogcmRzLkRhdGFiYXNlSW5zdGFuY2VTb3VyY2VQcm9wcyA9IHtcbiAgICAgIGVuZ2luZTogcHJvcHMuZW5naW5lLFxuICAgICAgYWxsb3dNYWpvclZlcnNpb25VcGdyYWRlOiB0cnVlLFxuICAgICAgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU6IHByb3BzLmF1dG9NaW5vclZlcnNpb25VcGdyYWRlLFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6IHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93LFxuICAgICAgcHJlZmVycmVkQmFja3VwV2luZG93OiBwcm9wcy5wcmVmZXJyZWRCYWNrdXBXaW5kb3csXG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy51c2VQdWJsaWNTdWJuZXRzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBtdWx0aUF6OiBwcm9wcy5pc011bHRpQXogPz8gdHJ1ZSxcbiAgICAgIC8vIFdlIGRlZmF1bHQgdG8gMjUgR2lCIHN0b3JhZ2UgaW5zdGVhZCBvZiAxMDAgR2lCXG4gICAgICAvLyBpZiB3ZSBkbyBub3Qgc3BlY2lmeS5cbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2VHYiA/PyAyNSxcbiAgICAgIC8vIFdlIHNwZWNpZnkgbWF4aW11bSBiYWNrdXAgcmV0ZW50aW9uLlxuICAgICAgYmFja3VwUmV0ZW50aW9uOiBjZGsuRHVyYXRpb24uZGF5cygzNSksXG4gICAgICAuLi5wcm9wcy5vdmVycmlkZURiT3B0aW9ucyxcbiAgICB9XG4gICAgdGhpcy5hbGxvY2F0ZWRTdG9yYWdlID0gY2RrLlNpemUuZ2liaWJ5dGVzKG9wdGlvbnMuYWxsb2NhdGVkU3RvcmFnZSEpXG4gICAgdGhpcy5pbnN0YW5jZVR5cGUgPSBvcHRpb25zLmluc3RhbmNlVHlwZSFcblxuICAgIGNvbnN0IGRiID0gcHJvcHMuc25hcHNob3RJZGVudGlmaWVyXG4gICAgICA/IG5ldyByZHMuRGF0YWJhc2VJbnN0YW5jZUZyb21TbmFwc2hvdCh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIHNuYXBzaG90SWRlbnRpZmllcjogcHJvcHMuc25hcHNob3RJZGVudGlmaWVyLFxuICAgICAgICAgIGNyZWRlbnRpYWxzOiByZHMuU25hcHNob3RDcmVkZW50aWFscy5mcm9tU2VjcmV0KHNlY3JldCksXG4gICAgICAgIH0pXG4gICAgICA6IG5ldyByZHMuRGF0YWJhc2VJbnN0YW5jZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIGRhdGFiYXNlTmFtZSxcbiAgICAgICAgICBjcmVkZW50aWFsczogcmRzLkNyZWRlbnRpYWxzLmZyb21TZWNyZXQoc2VjcmV0KSxcbiAgICAgICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICB9KVxuXG4gICAgdGhpcy5kYXRhYmFzZUluc3RhbmNlID0gZGJcblxuICAgIHRoaXMuc2VjcmV0ID0gZGIuc2VjcmV0IVxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBkYi5jb25uZWN0aW9uc1xuXG4gICAgLy8gT3ZlcnJpZGUgaW4gY2FzZSB3ZSBoYXZlIHBsYWNlZCBpdCBpbiBhIHB1YmxpYyBzdWJuZXQuXG4gICAgLy8gSXQgd291bGQgZGVmYXVsdCB0byBiZWluZyBwdWJsaWMgYWNjZXNzaWJsZSB3aGljaCB3ZSBkbyBub3Qgd2FudC5cbiAgICA7KGRiLm5vZGUuZGVmYXVsdENoaWxkIGFzIHJkcy5DZm5EQkluc3RhbmNlKS5wdWJsaWNseUFjY2Vzc2libGUgPSBmYWxzZVxuXG4gICAgaWYgKFwiYWxhcm1BY3Rpb25cIiBpbiBwcm9wcy5hbGFybXMpIHtcbiAgICAgIGNvbnN0IGFsYXJtcyA9IHByb3BzLmFsYXJtc1xuXG4gICAgICBjb25zdCBkYkFsYXJtcyA9IG5ldyBEYXRhYmFzZUFsYXJtcyh0aGlzLCBcIkFsYXJtc1wiLCB7XG4gICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgICBpbnN0YW5jZVR5cGU6IHByb3BzLmluc3RhbmNlVHlwZSxcbiAgICAgICAgYWxsb2NhdGVkU3RvcmFnZTogY2RrLlNpemUuZ2liaWJ5dGVzKG9wdGlvbnMuYWxsb2NhdGVkU3RvcmFnZSEpLFxuICAgICAgICBhbGFybUFjdGlvbjogYWxhcm1zLmFsYXJtQWN0aW9uLFxuICAgICAgICB3YXJuaW5nQWN0aW9uOiBhbGFybXMud2FybmluZ0FjdGlvbixcbiAgICAgIH0pXG5cbiAgICAgIC8vIERlZmF1bHQgbWFwcGluZzpcbiAgICAgIC8vIC0gbG93IENQVSBjcmVkaXRzIC0+IGFsYXJtXG4gICAgICAvLyAtIGNyaXRpY2FsbHkgbG93IHN0b3JhZ2UgLT4gYWxhcm1cbiAgICAgIC8vIC0gbG93IHN0b3JhZ2UgLT4gd2FybmluZ1xuICAgICAgLy8gLSBoaWdoIENQVSB1dGlsaXphdGlvbiAtPiB3YXJuaW5nXG4gICAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgQ1BVIGNyZWRpdHMgYWxhcm0gaWYgdGhlIGluc3RhbmNlIHR5cGUgaXMgYnVyc3RhYmxlLlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmluc3RhbmNlVHlwZS5pc0J1cnN0YWJsZSgpICYmXG4gICAgICAgIGFsYXJtcy5jcHVDcmVkaXRzQWxhcm0/LmVuYWJsZWQgIT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgZGJBbGFybXMuYWRkQ3B1Q3JlZGl0c0FsYXJtKHtcbiAgICAgICAgICBhY3Rpb246IGFsYXJtcy5jcHVDcmVkaXRzQWxhcm0/LmFjdGlvbixcbiAgICAgICAgICB0aHJlc2hvbGQ6IGFsYXJtcy5jcHVDcmVkaXRzQWxhcm0/LnRocmVzaG9sZCxcbiAgICAgICAgICBlbmFibGVPa0FsYXJtOiBhbGFybXMuY3B1Q3JlZGl0c0FsYXJtPy5lbmFibGVPa0FsYXJtLFxuICAgICAgICAgIGFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIGFsYXJtcy5jcHVDcmVkaXRzQWxhcm0/LmFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGFsYXJtcy5zdG9yYWdlU3BhY2VBbGFybXM/LmVuYWJsZWQgIT09IGZhbHNlKSB7XG4gICAgICAgIGRiQWxhcm1zLmFkZFN0b3JhZ2VTcGFjZUFsYXJtcyh7XG4gICAgICAgICAgLi4uYWxhcm1zLnN0b3JhZ2VTcGFjZUFsYXJtcyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5lbmFibGVkICE9PSBmYWxzZSkge1xuICAgICAgICBkYkFsYXJtcy5hZGRDcHVVdGlsaXphdGlvbkFsYXJtKHtcbiAgICAgICAgICBhY3Rpb246IGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5hY3Rpb24sXG4gICAgICAgICAgdGhyZXNob2xkOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8udGhyZXNob2xkLFxuICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uZXZhbHVhdGlvblBlcmlvZHMsXG4gICAgICAgICAgcGVyaW9kOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8ucGVyaW9kLFxuICAgICAgICAgIGVuYWJsZU9rQWxhcm06IGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5lbmFibGVPa0FsYXJtLFxuICAgICAgICAgIGFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5hcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFsbG93Q29ubmVjdGlvbkZyb20oc291cmNlOiBlYzIuSVNlY3VyaXR5R3JvdXApOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25zLmFsbG93RGVmYXVsdFBvcnRGcm9tKHNvdXJjZSlcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuT25QaW5uZWRNaW5vcldpdGhBdXRvVXBncmFkZShcbiAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICBlbmdpbmU6IHJkcy5JSW5zdGFuY2VFbmdpbmUsXG4gIGF1dG9NaW5vclZlcnNpb25VcGdyYWRlOiBib29sZWFuLFxuKTogdm9pZCB7XG4gIGlmICghYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUpIHJldHVyblxuICBjb25zdCB2ZXJzaW9uID0gZW5naW5lLmVuZ2luZVZlcnNpb25cbiAgaWYgKCF2ZXJzaW9uKSByZXR1cm5cbiAgaWYgKHZlcnNpb24uZnVsbFZlcnNpb24gPT09IHZlcnNpb24ubWFqb3JWZXJzaW9uKSByZXR1cm5cbiAgY2RrLkFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRXYXJuaW5nKFxuICAgIGBFbmdpbmUgdmVyc2lvbiBcIiR7dmVyc2lvbi5mdWxsVmVyc2lvbn1cIiBwaW5zIGEgc3BlY2lmaWMgbWlub3IsIGJ1dCBhdXRvTWlub3JWZXJzaW9uVXBncmFkZSBpcyB0cnVlLiBgICtcbiAgICAgIFwiQVdTIG1heSB1cGdyYWRlIHBhc3QgdGhpcyBwaW4gZHVyaW5nIHRoZSBtYWludGVuYW5jZSB3aW5kb3cuIFwiICtcbiAgICAgIFwiRWl0aGVyIHVzZSBhIG1ham9yLW9ubHkgdmVyc2lvbiAoZS5nLiBQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE3KSBvciBzZXQgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUgdG8gZmFsc2UuXCIsXG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ParsedMaintenanceWindow {
|
|
2
|
+
readonly raw: string;
|
|
3
|
+
readonly startMinuteOfWeek: number;
|
|
4
|
+
readonly endMinuteOfWeek: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ParsedBackupWindow {
|
|
7
|
+
readonly raw: string;
|
|
8
|
+
readonly startMinuteOfDay: number;
|
|
9
|
+
readonly endMinuteOfDay: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function parseMaintenanceWindow(raw: string): ParsedMaintenanceWindow;
|
|
12
|
+
export declare function parseBackupWindow(raw: string): ParsedBackupWindow;
|
|
13
|
+
/**
|
|
14
|
+
* Checks whether the backup and maintenance windows intersect.
|
|
15
|
+
*
|
|
16
|
+
* Only considers forward-ordered windows (where end > start). For ambiguous
|
|
17
|
+
* inputs where end <= start, we defer to AWS's own validation at deploy time
|
|
18
|
+
* rather than guess whether a wraparound was intended.
|
|
19
|
+
*/
|
|
20
|
+
export declare function overlaps(mw: ParsedMaintenanceWindow, bw: ParsedBackupWindow): boolean;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const DAY_NAMES = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
|
|
2
|
+
const MIN_WINDOW_MINUTES = 30;
|
|
3
|
+
const MAINTENANCE_WINDOW_EXAMPLE = "sun:03:00-sun:04:00";
|
|
4
|
+
const BACKUP_WINDOW_EXAMPLE = "01:00-02:00";
|
|
5
|
+
// Case-insensitive: AWS accepts "Thu:03:00-Thu:04:00" and "thu:03:00-thu:04:00".
|
|
6
|
+
const MAINTENANCE_WINDOW_REGEX = /^(mon|tue|wed|thu|fri|sat|sun):(\d{2}):(\d{2})-(mon|tue|wed|thu|fri|sat|sun):(\d{2}):(\d{2})$/i;
|
|
7
|
+
const BACKUP_WINDOW_REGEX = /^(\d{2}):(\d{2})-(\d{2}):(\d{2})$/;
|
|
8
|
+
export function parseMaintenanceWindow(raw) {
|
|
9
|
+
const match = MAINTENANCE_WINDOW_REGEX.exec(raw);
|
|
10
|
+
if (!match) {
|
|
11
|
+
throw new Error(`Invalid preferredMaintenanceWindow "${raw}". ` +
|
|
12
|
+
`Expected format ddd:hh:mm-ddd:hh:mm (UTC), e.g. "${MAINTENANCE_WINDOW_EXAMPLE}". ` +
|
|
13
|
+
`Valid day abbreviations: ${DAY_NAMES.join(", ")}.`);
|
|
14
|
+
}
|
|
15
|
+
const [, startDay, startHourRaw, startMinuteRaw, endDay, endHourRaw, endMinuteRaw,] = match;
|
|
16
|
+
const startHour = Number(startHourRaw);
|
|
17
|
+
const startMinute = Number(startMinuteRaw);
|
|
18
|
+
const endHour = Number(endHourRaw);
|
|
19
|
+
const endMinute = Number(endMinuteRaw);
|
|
20
|
+
assertHour(startHour, "preferredMaintenanceWindow", raw);
|
|
21
|
+
assertMinute(startMinute, "preferredMaintenanceWindow", raw);
|
|
22
|
+
assertHour(endHour, "preferredMaintenanceWindow", raw);
|
|
23
|
+
assertMinute(endMinute, "preferredMaintenanceWindow", raw);
|
|
24
|
+
const startMinuteOfWeek = dayIndex(startDay.toLowerCase()) * 24 * 60 +
|
|
25
|
+
startHour * 60 +
|
|
26
|
+
startMinute;
|
|
27
|
+
const endMinuteOfWeek = dayIndex(endDay.toLowerCase()) * 24 * 60 +
|
|
28
|
+
endHour * 60 +
|
|
29
|
+
endMinute;
|
|
30
|
+
if (startMinuteOfWeek === endMinuteOfWeek) {
|
|
31
|
+
throw new Error(`Invalid preferredMaintenanceWindow "${raw}": ` +
|
|
32
|
+
`start and end are equal. Window must be at least ${MIN_WINDOW_MINUTES} minutes. ` +
|
|
33
|
+
`Example: "${MAINTENANCE_WINDOW_EXAMPLE}".`);
|
|
34
|
+
}
|
|
35
|
+
if (endMinuteOfWeek > startMinuteOfWeek &&
|
|
36
|
+
endMinuteOfWeek - startMinuteOfWeek < MIN_WINDOW_MINUTES) {
|
|
37
|
+
throw new Error(`Invalid preferredMaintenanceWindow "${raw}": ` +
|
|
38
|
+
`window is ${endMinuteOfWeek - startMinuteOfWeek} minutes, minimum is ${MIN_WINDOW_MINUTES}. ` +
|
|
39
|
+
`Example: "${MAINTENANCE_WINDOW_EXAMPLE}".`);
|
|
40
|
+
}
|
|
41
|
+
return { raw, startMinuteOfWeek, endMinuteOfWeek };
|
|
42
|
+
}
|
|
43
|
+
export function parseBackupWindow(raw) {
|
|
44
|
+
const match = BACKUP_WINDOW_REGEX.exec(raw);
|
|
45
|
+
if (!match) {
|
|
46
|
+
throw new Error(`Invalid preferredBackupWindow "${raw}". ` +
|
|
47
|
+
`Expected format hh:mm-hh:mm (UTC), e.g. "${BACKUP_WINDOW_EXAMPLE}".`);
|
|
48
|
+
}
|
|
49
|
+
const [, startHourRaw, startMinuteRaw, endHourRaw, endMinuteRaw] = match;
|
|
50
|
+
const startHour = Number(startHourRaw);
|
|
51
|
+
const startMinute = Number(startMinuteRaw);
|
|
52
|
+
const endHour = Number(endHourRaw);
|
|
53
|
+
const endMinute = Number(endMinuteRaw);
|
|
54
|
+
assertHour(startHour, "preferredBackupWindow", raw);
|
|
55
|
+
assertMinute(startMinute, "preferredBackupWindow", raw);
|
|
56
|
+
assertHour(endHour, "preferredBackupWindow", raw);
|
|
57
|
+
assertMinute(endMinute, "preferredBackupWindow", raw);
|
|
58
|
+
const startMinuteOfDay = startHour * 60 + startMinute;
|
|
59
|
+
const endMinuteOfDay = endHour * 60 + endMinute;
|
|
60
|
+
if (startMinuteOfDay === endMinuteOfDay) {
|
|
61
|
+
throw new Error(`Invalid preferredBackupWindow "${raw}": ` +
|
|
62
|
+
`start and end are equal. Window must be at least ${MIN_WINDOW_MINUTES} minutes. ` +
|
|
63
|
+
`Example: "${BACKUP_WINDOW_EXAMPLE}".`);
|
|
64
|
+
}
|
|
65
|
+
if (endMinuteOfDay > startMinuteOfDay &&
|
|
66
|
+
endMinuteOfDay - startMinuteOfDay < MIN_WINDOW_MINUTES) {
|
|
67
|
+
throw new Error(`Invalid preferredBackupWindow "${raw}": ` +
|
|
68
|
+
`window is ${endMinuteOfDay - startMinuteOfDay} minutes, minimum is ${MIN_WINDOW_MINUTES}. ` +
|
|
69
|
+
`Example: "${BACKUP_WINDOW_EXAMPLE}".`);
|
|
70
|
+
}
|
|
71
|
+
return { raw, startMinuteOfDay, endMinuteOfDay };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Checks whether the backup and maintenance windows intersect.
|
|
75
|
+
*
|
|
76
|
+
* Only considers forward-ordered windows (where end > start). For ambiguous
|
|
77
|
+
* inputs where end <= start, we defer to AWS's own validation at deploy time
|
|
78
|
+
* rather than guess whether a wraparound was intended.
|
|
79
|
+
*/
|
|
80
|
+
export function overlaps(mw, bw) {
|
|
81
|
+
if (mw.endMinuteOfWeek <= mw.startMinuteOfWeek)
|
|
82
|
+
return false;
|
|
83
|
+
if (bw.endMinuteOfDay <= bw.startMinuteOfDay)
|
|
84
|
+
return false;
|
|
85
|
+
const minutesPerDay = 24 * 60;
|
|
86
|
+
for (let day = 0; day < 7; day++) {
|
|
87
|
+
const dayBackupStart = day * minutesPerDay + bw.startMinuteOfDay;
|
|
88
|
+
const dayBackupEnd = day * minutesPerDay + bw.endMinuteOfDay;
|
|
89
|
+
if (dayBackupStart < mw.endMinuteOfWeek &&
|
|
90
|
+
dayBackupEnd > mw.startMinuteOfWeek) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
function dayIndex(day) {
|
|
97
|
+
return DAY_NAMES.indexOf(day);
|
|
98
|
+
}
|
|
99
|
+
function assertHour(hour, propName, raw) {
|
|
100
|
+
if (hour > 23) {
|
|
101
|
+
throw new Error(`Invalid ${propName} "${raw}": hour must be 0-23 (got ${hour}).`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function assertMinute(minute, propName, raw) {
|
|
105
|
+
if (minute > 59) {
|
|
106
|
+
throw new Error(`Invalid ${propName} "${raw}": minute must be 0-59 (got ${minute}).`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZHMvd2luZG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFBO0FBRzVFLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0FBRTdCLE1BQU0sMEJBQTBCLEdBQUcscUJBQXFCLENBQUE7QUFDeEQsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUE7QUFFM0MsaUZBQWlGO0FBQ2pGLE1BQU0sd0JBQXdCLEdBQzVCLGdHQUFnRyxDQUFBO0FBRWxHLE1BQU0sbUJBQW1CLEdBQUcsbUNBQW1DLENBQUE7QUFjL0QsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQVc7SUFDaEQsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUNBQXVDLEdBQUcsS0FBSztZQUM3QyxvREFBb0QsMEJBQTBCLEtBQUs7WUFDbkYsNEJBQTRCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLENBQ0osQUFESyxFQUVMLFFBQVEsRUFDUixZQUFZLEVBQ1osY0FBYyxFQUNkLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNiLEdBQUcsS0FBSyxDQUFBO0lBQ1QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEMsTUFB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QUMsR0FBWTtJQUM1QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDL0IsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLEdBQVc7SUFDN0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLFdBQVcsUUFBUSxLQUFLLEdBQUcsNkJBQTZCLElBQUksSUFBSSxDQUNqRSxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxHQUFXO0lBQ2pFLElBQUksTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsV0FBVyxRQUFRLEtBQUssR0FBRywrQkFBK0IsTUFBTSxJQUFJLENBQ3JFLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IERBWV9OQU1FUyA9IFtcIm1vblwiLCBcInR1ZVwiLCBcIndlZFwiLCBcInRodVwiLCBcImZyaVwiLCBcInNhdFwiLCBcInN1blwiXSBhcyBjb25zdFxudHlwZSBEYXlOYW1lID0gKHR5cGVvZiBEQVlfTkFNRVMpW251bWJlcl1cblxuY29uc3QgTUlOX1dJTkRPV19NSU5VVEVTID0gMzBcblxuY29uc3QgTUFJTlRFTkFOQ0VfV0lORE9XX0VYQU1QTEUgPSBcInN1bjowMzowMC1zdW46MDQ6MDBcIlxuY29uc3QgQkFDS1VQX1dJTkRPV19FWEFNUExFID0gXCIwMTowMC0wMjowMFwiXG5cbi8vIENhc2UtaW5zZW5zaXRpdmU6IEFXUyBhY2NlcHRzIFwiVGh1OjAzOjAwLVRodTowNDowMFwiIGFuZCBcInRodTowMzowMC10aHU6MDQ6MDBcIi5cbmNvbnN0IE1BSU5URU5BTkNFX1dJTkRPV19SRUdFWCA9XG4gIC9eKG1vbnx0dWV8d2VkfHRodXxmcml8c2F0fHN1bik6KFxcZHsyfSk6KFxcZHsyfSktKG1vbnx0dWV8d2VkfHRodXxmcml8c2F0fHN1bik6KFxcZHsyfSk6KFxcZHsyfSkkL2lcblxuY29uc3QgQkFDS1VQX1dJTkRPV19SRUdFWCA9IC9eKFxcZHsyfSk6KFxcZHsyfSktKFxcZHsyfSk6KFxcZHsyfSkkL1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZE1haW50ZW5hbmNlV2luZG93IHtcbiAgcmVhZG9ubHkgcmF3OiBzdHJpbmdcbiAgcmVhZG9ubHkgc3RhcnRNaW51dGVPZldlZWs6IG51bWJlclxuICByZWFkb25seSBlbmRNaW51dGVPZldlZWs6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEJhY2t1cFdpbmRvdyB7XG4gIHJlYWRvbmx5IHJhdzogc3RyaW5nXG4gIHJlYWRvbmx5IHN0YXJ0TWludXRlT2ZEYXk6IG51bWJlclxuICByZWFkb25seSBlbmRNaW51dGVPZkRheTogbnVtYmVyXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1haW50ZW5hbmNlV2luZG93KHJhdzogc3RyaW5nKTogUGFyc2VkTWFpbnRlbmFuY2VXaW5kb3cge1xuICBjb25zdCBtYXRjaCA9IE1BSU5URU5BTkNFX1dJTkRPV19SRUdFWC5leGVjKHJhdylcbiAgaWYgKCFtYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IFwiJHtyYXd9XCIuIGAgK1xuICAgICAgICBgRXhwZWN0ZWQgZm9ybWF0IGRkZDpoaDptbS1kZGQ6aGg6bW0gKFVUQyksIGUuZy4gXCIke01BSU5URU5BTkNFX1dJTkRPV19FWEFNUExFfVwiLiBgICtcbiAgICAgICAgYFZhbGlkIGRheSBhYmJyZXZpYXRpb25zOiAke0RBWV9OQU1FUy5qb2luKFwiLCBcIil9LmAsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgW1xuICAgICxcbiAgICBzdGFydERheSxcbiAgICBzdGFydEhvdXJSYXcsXG4gICAgc3RhcnRNaW51dGVSYXcsXG4gICAgZW5kRGF5LFxuICAgIGVuZEhvdXJSYXcsXG4gICAgZW5kTWludXRlUmF3LFxuICBdID0gbWF0Y2hcbiAgY29uc3Qgc3RhcnRIb3VyID0gTnVtYmVyKHN0YXJ0SG91clJhdylcbiAgY29uc3Qgc3RhcnRNaW51dGUgPSBOdW1iZXIoc3RhcnRNaW51dGVSYXcpXG4gIGNvbnN0IGVuZEhvdXIgPSBOdW1iZXIoZW5kSG91clJhdylcbiAgY29uc3QgZW5kTWludXRlID0gTnVtYmVyKGVuZE1pbnV0ZVJhdylcblxuICBhc3NlcnRIb3VyKHN0YXJ0SG91ciwgXCJwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvd1wiLCByYXcpXG4gIGFzc2VydE1pbnV0ZShzdGFydE1pbnV0ZSwgXCJwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvd1wiLCByYXcpXG4gIGFzc2VydEhvdXIoZW5kSG91ciwgXCJwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvd1wiLCByYXcpXG4gIGFzc2VydE1pbnV0ZShlbmRNaW51dGUsIFwicHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3dcIiwgcmF3KVxuXG4gIGNvbnN0IHN0YXJ0TWludXRlT2ZXZWVrID1cbiAgICBkYXlJbmRleChzdGFydERheS50b0xvd2VyQ2FzZSgpIGFzIERheU5hbWUpICogMjQgKiA2MCArXG4gICAgc3RhcnRIb3VyICogNjAgK1xuICAgIHN0YXJ0TWludXRlXG4gIGNvbnN0IGVuZE1pbnV0ZU9mV2VlayA9XG4gICAgZGF5SW5kZXgoZW5kRGF5LnRvTG93ZXJDYXNlKCkgYXMgRGF5TmFtZSkgKiAyNCAqIDYwICtcbiAgICBlbmRIb3VyICogNjAgK1xuICAgIGVuZE1pbnV0ZVxuXG4gIGlmIChzdGFydE1pbnV0ZU9mV2VlayA9PT0gZW5kTWludXRlT2ZXZWVrKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgXCIke3Jhd31cIjogYCArXG4gICAgICAgIGBzdGFydCBhbmQgZW5kIGFyZSBlcXVhbC4gV2luZG93IG11c3QgYmUgYXQgbGVhc3QgJHtNSU5fV0lORE9XX01JTlVURVN9IG1pbnV0ZXMuIGAgK1xuICAgICAgICBgRXhhbXBsZTogXCIke01BSU5URU5BTkNFX1dJTkRPV19FWEFNUExFfVwiLmAsXG4gICAgKVxuICB9XG5cbiAgaWYgKFxuICAgIGVuZE1pbnV0ZU9mV2VlayA+IHN0YXJ0TWludXRlT2ZXZWVrICYmXG4gICAgZW5kTWludXRlT2ZXZWVrIC0gc3RhcnRNaW51dGVPZldlZWsgPCBNSU5fV0lORE9XX01JTlVURVNcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgXCIke3Jhd31cIjogYCArXG4gICAgICAgIGB3aW5kb3cgaXMgJHtlbmRNaW51dGVPZldlZWsgLSBzdGFydE1pbnV0ZU9mV2Vla30gbWludXRlcywgbWluaW11bSBpcyAke01JTl9XSU5ET1dfTUlOVVRFU30uIGAgK1xuICAgICAgICBgRXhhbXBsZTogXCIke01BSU5URU5BTkNFX1dJTkRPV19FWEFNUExFfVwiLmAsXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIHsgcmF3LCBzdGFydE1pbnV0ZU9mV2VlaywgZW5kTWludXRlT2ZXZWVrIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFja3VwV2luZG93KHJhdzogc3RyaW5nKTogUGFyc2VkQmFja3VwV2luZG93IHtcbiAgY29uc3QgbWF0Y2ggPSBCQUNLVVBfV0lORE9XX1JFR0VYLmV4ZWMocmF3KVxuICBpZiAoIW1hdGNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgcHJlZmVycmVkQmFja3VwV2luZG93IFwiJHtyYXd9XCIuIGAgK1xuICAgICAgICBgRXhwZWN0ZWQgZm9ybWF0IGhoOm1tLWhoOm1tIChVVEMpLCBlLmcuIFwiJHtCQUNLVVBfV0lORE9XX0VYQU1QTEV9XCIuYCxcbiAgICApXG4gIH1cblxuICBjb25zdCBbLCBzdGFydEhvdXJSYXcsIHN0YXJ0TWludXRlUmF3LCBlbmRIb3VyUmF3LCBlbmRNaW51dGVSYXddID0gbWF0Y2hcbiAgY29uc3Qgc3RhcnRIb3VyID0gTnVtYmVyKHN0YXJ0SG91clJhdylcbiAgY29uc3Qgc3RhcnRNaW51dGUgPSBOdW1iZXIoc3RhcnRNaW51dGVSYXcpXG4gIGNvbnN0IGVuZEhvdXIgPSBOdW1iZXIoZW5kSG91clJhdylcbiAgY29uc3QgZW5kTWludXRlID0gTnVtYmVyKGVuZE1pbnV0ZVJhdylcblxuICBhc3NlcnRIb3VyKHN0YXJ0SG91ciwgXCJwcmVmZXJyZWRCYWNrdXBXaW5kb3dcIiwgcmF3KVxuICBhc3NlcnRNaW51dGUoc3RhcnRNaW51dGUsIFwicHJlZmVycmVkQmFja3VwV2luZG93XCIsIHJhdylcbiAgYXNzZXJ0SG91cihlbmRIb3VyLCBcInByZWZlcnJlZEJhY2t1cFdpbmRvd1wiLCByYXcpXG4gIGFzc2VydE1pbnV0ZShlbmRNaW51dGUsIFwicHJlZmVycmVkQmFja3VwV2luZG93XCIsIHJhdylcblxuICBjb25zdCBzdGFydE1pbnV0ZU9mRGF5ID0gc3RhcnRIb3VyICogNjAgKyBzdGFydE1pbnV0ZVxuICBjb25zdCBlbmRNaW51dGVPZkRheSA9IGVuZEhvdXIgKiA2MCArIGVuZE1pbnV0ZVxuXG4gIGlmIChzdGFydE1pbnV0ZU9mRGF5ID09PSBlbmRNaW51dGVPZkRheSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHByZWZlcnJlZEJhY2t1cFdpbmRvdyBcIiR7cmF3fVwiOiBgICtcbiAgICAgICAgYHN0YXJ0IGFuZCBlbmQgYXJlIGVxdWFsLiBXaW5kb3cgbXVzdCBiZSBhdCBsZWFzdCAke01JTl9XSU5ET1dfTUlOVVRFU30gbWludXRlcy4gYCArXG4gICAgICAgIGBFeGFtcGxlOiBcIiR7QkFDS1VQX1dJTkRPV19FWEFNUExFfVwiLmAsXG4gICAgKVxuICB9XG5cbiAgaWYgKFxuICAgIGVuZE1pbnV0ZU9mRGF5ID4gc3RhcnRNaW51dGVPZkRheSAmJlxuICAgIGVuZE1pbnV0ZU9mRGF5IC0gc3RhcnRNaW51dGVPZkRheSA8IE1JTl9XSU5ET1dfTUlOVVRFU1xuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW52YWxpZCBwcmVmZXJyZWRCYWNrdXBXaW5kb3cgXCIke3Jhd31cIjogYCArXG4gICAgICAgIGB3aW5kb3cgaXMgJHtlbmRNaW51dGVPZkRheSAtIHN0YXJ0TWludXRlT2ZEYXl9IG1pbnV0ZXMsIG1pbmltdW0gaXMgJHtNSU5fV0lORE9XX01JTlVURVN9LiBgICtcbiAgICAgICAgYEV4YW1wbGU6IFwiJHtCQUNLVVBfV0lORE9XX0VYQU1QTEV9XCIuYCxcbiAgICApXG4gIH1cblxuICByZXR1cm4geyByYXcsIHN0YXJ0TWludXRlT2ZEYXksIGVuZE1pbnV0ZU9mRGF5IH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgYmFja3VwIGFuZCBtYWludGVuYW5jZSB3aW5kb3dzIGludGVyc2VjdC5cbiAqXG4gKiBPbmx5IGNvbnNpZGVycyBmb3J3YXJkLW9yZGVyZWQgd2luZG93cyAod2hlcmUgZW5kID4gc3RhcnQpLiBGb3IgYW1iaWd1b3VzXG4gKiBpbnB1dHMgd2hlcmUgZW5kIDw9IHN0YXJ0LCB3ZSBkZWZlciB0byBBV1MncyBvd24gdmFsaWRhdGlvbiBhdCBkZXBsb3kgdGltZVxuICogcmF0aGVyIHRoYW4gZ3Vlc3Mgd2hldGhlciBhIHdyYXBhcm91bmQgd2FzIGludGVuZGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb3ZlcmxhcHMoXG4gIG13OiBQYXJzZWRNYWludGVuYW5jZVdpbmRvdyxcbiAgYnc6IFBhcnNlZEJhY2t1cFdpbmRvdyxcbik6IGJvb2xlYW4ge1xuICBpZiAobXcuZW5kTWludXRlT2ZXZWVrIDw9IG13LnN0YXJ0TWludXRlT2ZXZWVrKSByZXR1cm4gZmFsc2VcbiAgaWYgKGJ3LmVuZE1pbnV0ZU9mRGF5IDw9IGJ3LnN0YXJ0TWludXRlT2ZEYXkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IG1pbnV0ZXNQZXJEYXkgPSAyNCAqIDYwXG4gIGZvciAobGV0IGRheSA9IDA7IGRheSA8IDc7IGRheSsrKSB7XG4gICAgY29uc3QgZGF5QmFja3VwU3RhcnQgPSBkYXkgKiBtaW51dGVzUGVyRGF5ICsgYncuc3RhcnRNaW51dGVPZkRheVxuICAgIGNvbnN0IGRheUJhY2t1cEVuZCA9IGRheSAqIG1pbnV0ZXNQZXJEYXkgKyBidy5lbmRNaW51dGVPZkRheVxuICAgIGlmIChcbiAgICAgIGRheUJhY2t1cFN0YXJ0IDwgbXcuZW5kTWludXRlT2ZXZWVrICYmXG4gICAgICBkYXlCYWNrdXBFbmQgPiBtdy5zdGFydE1pbnV0ZU9mV2Vla1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGRheUluZGV4KGRheTogRGF5TmFtZSk6IG51bWJlciB7XG4gIHJldHVybiBEQVlfTkFNRVMuaW5kZXhPZihkYXkpXG59XG5cbmZ1bmN0aW9uIGFzc2VydEhvdXIoaG91cjogbnVtYmVyLCBwcm9wTmFtZTogc3RyaW5nLCByYXc6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoaG91ciA+IDIzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgJHtwcm9wTmFtZX0gXCIke3Jhd31cIjogaG91ciBtdXN0IGJlIDAtMjMgKGdvdCAke2hvdXJ9KS5gLFxuICAgIClcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRNaW51dGUobWludXRlOiBudW1iZXIsIHByb3BOYW1lOiBzdHJpbmcsIHJhdzogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChtaW51dGUgPiA1OSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbnZhbGlkICR7cHJvcE5hbWV9IFwiJHtyYXd9XCI6IG1pbnV0ZSBtdXN0IGJlIDAtNTkgKGdvdCAke21pbnV0ZX0pLmAsXG4gICAgKVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.0",
|
|
4
4
|
"description": "CDK library for Liflig",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@aws-cdk/assert": "2.68.0",
|
|
43
|
-
"@aws-sdk/client-cloudwatch-logs": "3.
|
|
44
|
-
"@aws-sdk/client-codebuild": "3.
|
|
45
|
-
"@aws-sdk/client-codepipeline": "3.
|
|
46
|
-
"@aws-sdk/client-ecs": "3.
|
|
47
|
-
"@aws-sdk/client-s3": "3.
|
|
48
|
-
"@aws-sdk/client-secrets-manager": "3.
|
|
49
|
-
"@aws-sdk/client-ses": "3.
|
|
50
|
-
"@aws-sdk/client-sesv2": "3.
|
|
51
|
-
"@aws-sdk/client-sfn": "3.
|
|
52
|
-
"@aws-sdk/client-ssm": "3.
|
|
53
|
-
"@aws-sdk/lib-storage": "3.
|
|
43
|
+
"@aws-sdk/client-cloudwatch-logs": "3.1032.0",
|
|
44
|
+
"@aws-sdk/client-codebuild": "3.1032.0",
|
|
45
|
+
"@aws-sdk/client-codepipeline": "3.1032.0",
|
|
46
|
+
"@aws-sdk/client-ecs": "3.1032.0",
|
|
47
|
+
"@aws-sdk/client-s3": "3.1032.0",
|
|
48
|
+
"@aws-sdk/client-secrets-manager": "3.1032.0",
|
|
49
|
+
"@aws-sdk/client-ses": "3.1032.0",
|
|
50
|
+
"@aws-sdk/client-sesv2": "3.1032.0",
|
|
51
|
+
"@aws-sdk/client-sfn": "3.1032.0",
|
|
52
|
+
"@aws-sdk/client-ssm": "3.1032.0",
|
|
53
|
+
"@aws-sdk/lib-storage": "3.1032.0",
|
|
54
54
|
"@biomejs/biome": "2.4.12",
|
|
55
55
|
"@commitlint/cli": "20.5.0",
|
|
56
56
|
"@commitlint/config-conventional": "20.5.0",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"jest": "30.3.0",
|
|
65
65
|
"jest-cdk-snapshot": "2.3.6",
|
|
66
66
|
"lefthook": "2.1.6",
|
|
67
|
-
"npm-check-updates": "
|
|
67
|
+
"npm-check-updates": "21.0.2",
|
|
68
68
|
"semantic-release": "25.0.3",
|
|
69
69
|
"ts-jest": "29.4.9",
|
|
70
70
|
"tsx": "4.21.0",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"typescript": "5.9.3"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@capraconsulting/webapp-deploy-lambda": "2.5.
|
|
75
|
+
"@capraconsulting/webapp-deploy-lambda": "2.5.88",
|
|
76
76
|
"aws-jwt-verify": "5.1.1"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|