@rio-cloud/cdk-v2-constructs 2.5.3 → 2.5.6
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/.jsii +97 -11
- package/CHANGELOG.md +6 -0
- package/lib/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.d.ts +14 -4
- package/lib/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.js +72 -24
- package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.d.ts +4 -0
- package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.js +25 -12
- package/package.json +1 -1
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -3044,7 +3044,7 @@
|
|
|
3044
3044
|
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
3045
3045
|
"base": "constructs.Construct",
|
|
3046
3046
|
"docs": {
|
|
3047
|
-
"remarks": "The construct creates
|
|
3047
|
+
"remarks": "The construct creates monitoring for AWS Backup jobs.",
|
|
3048
3048
|
"stability": "stable",
|
|
3049
3049
|
"summary": "This is a beta construct and is likely to have breaking changes."
|
|
3050
3050
|
},
|
|
@@ -3055,7 +3055,7 @@
|
|
|
3055
3055
|
},
|
|
3056
3056
|
"locationInModule": {
|
|
3057
3057
|
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3058
|
-
"line":
|
|
3058
|
+
"line": 16
|
|
3059
3059
|
},
|
|
3060
3060
|
"parameters": [
|
|
3061
3061
|
{
|
|
@@ -3069,17 +3069,101 @@
|
|
|
3069
3069
|
"type": {
|
|
3070
3070
|
"primitive": "string"
|
|
3071
3071
|
}
|
|
3072
|
+
},
|
|
3073
|
+
{
|
|
3074
|
+
"name": "props",
|
|
3075
|
+
"type": {
|
|
3076
|
+
"fqn": "@rio-cloud/cdk-v2-constructs.AwsBackupMonitoringProps"
|
|
3077
|
+
}
|
|
3072
3078
|
}
|
|
3073
3079
|
]
|
|
3074
3080
|
},
|
|
3075
3081
|
"kind": "class",
|
|
3076
3082
|
"locationInModule": {
|
|
3077
3083
|
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3078
|
-
"line":
|
|
3084
|
+
"line": 15
|
|
3079
3085
|
},
|
|
3080
3086
|
"name": "AwsBackupMonitoring",
|
|
3081
3087
|
"symbolId": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring:AwsBackupMonitoring"
|
|
3082
3088
|
},
|
|
3089
|
+
"@rio-cloud/cdk-v2-constructs.AwsBackupMonitoringProps": {
|
|
3090
|
+
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
3091
|
+
"datatype": true,
|
|
3092
|
+
"docs": {
|
|
3093
|
+
"stability": "stable"
|
|
3094
|
+
},
|
|
3095
|
+
"fqn": "@rio-cloud/cdk-v2-constructs.AwsBackupMonitoringProps",
|
|
3096
|
+
"kind": "interface",
|
|
3097
|
+
"locationInModule": {
|
|
3098
|
+
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3099
|
+
"line": 7
|
|
3100
|
+
},
|
|
3101
|
+
"name": "AwsBackupMonitoringProps",
|
|
3102
|
+
"properties": [
|
|
3103
|
+
{
|
|
3104
|
+
"abstract": true,
|
|
3105
|
+
"docs": {
|
|
3106
|
+
"stability": "stable"
|
|
3107
|
+
},
|
|
3108
|
+
"immutable": true,
|
|
3109
|
+
"locationInModule": {
|
|
3110
|
+
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3111
|
+
"line": 8
|
|
3112
|
+
},
|
|
3113
|
+
"name": "serviceName",
|
|
3114
|
+
"type": {
|
|
3115
|
+
"primitive": "string"
|
|
3116
|
+
}
|
|
3117
|
+
}
|
|
3118
|
+
],
|
|
3119
|
+
"symbolId": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring:AwsBackupMonitoringProps"
|
|
3120
|
+
},
|
|
3121
|
+
"@rio-cloud/cdk-v2-constructs.AwsBackupOverallMonitoring": {
|
|
3122
|
+
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
3123
|
+
"base": "constructs.Construct",
|
|
3124
|
+
"docs": {
|
|
3125
|
+
"remarks": "The construct creates monitoring for all AWS Backup jobs.",
|
|
3126
|
+
"stability": "stable",
|
|
3127
|
+
"summary": "This is a beta construct and is likely to have breaking changes."
|
|
3128
|
+
},
|
|
3129
|
+
"fqn": "@rio-cloud/cdk-v2-constructs.AwsBackupOverallMonitoring",
|
|
3130
|
+
"initializer": {
|
|
3131
|
+
"docs": {
|
|
3132
|
+
"stability": "stable"
|
|
3133
|
+
},
|
|
3134
|
+
"locationInModule": {
|
|
3135
|
+
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3136
|
+
"line": 56
|
|
3137
|
+
},
|
|
3138
|
+
"parameters": [
|
|
3139
|
+
{
|
|
3140
|
+
"name": "scope",
|
|
3141
|
+
"type": {
|
|
3142
|
+
"fqn": "constructs.Construct"
|
|
3143
|
+
}
|
|
3144
|
+
},
|
|
3145
|
+
{
|
|
3146
|
+
"name": "id",
|
|
3147
|
+
"type": {
|
|
3148
|
+
"primitive": "string"
|
|
3149
|
+
}
|
|
3150
|
+
},
|
|
3151
|
+
{
|
|
3152
|
+
"name": "props",
|
|
3153
|
+
"type": {
|
|
3154
|
+
"fqn": "@rio-cloud/cdk-v2-constructs.AwsBackupMonitoringProps"
|
|
3155
|
+
}
|
|
3156
|
+
}
|
|
3157
|
+
]
|
|
3158
|
+
},
|
|
3159
|
+
"kind": "class",
|
|
3160
|
+
"locationInModule": {
|
|
3161
|
+
"filename": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.ts",
|
|
3162
|
+
"line": 55
|
|
3163
|
+
},
|
|
3164
|
+
"name": "AwsBackupOverallMonitoring",
|
|
3165
|
+
"symbolId": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring:AwsBackupOverallMonitoring"
|
|
3166
|
+
},
|
|
3083
3167
|
"@rio-cloud/cdk-v2-constructs.Claidometer": {
|
|
3084
3168
|
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
3085
3169
|
"base": "constructs.Construct",
|
|
@@ -4096,7 +4180,9 @@
|
|
|
4096
4180
|
"assembly": "@rio-cloud/cdk-v2-constructs",
|
|
4097
4181
|
"base": "constructs.Construct",
|
|
4098
4182
|
"docs": {
|
|
4099
|
-
"
|
|
4183
|
+
"remarks": "The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources",
|
|
4184
|
+
"stability": "stable",
|
|
4185
|
+
"summary": "This is a beta construct and is likely to have breaking changes."
|
|
4100
4186
|
},
|
|
4101
4187
|
"fqn": "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring",
|
|
4102
4188
|
"initializer": {
|
|
@@ -4105,7 +4191,7 @@
|
|
|
4105
4191
|
},
|
|
4106
4192
|
"locationInModule": {
|
|
4107
4193
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4108
|
-
"line":
|
|
4194
|
+
"line": 37
|
|
4109
4195
|
},
|
|
4110
4196
|
"parameters": [
|
|
4111
4197
|
{
|
|
@@ -4131,7 +4217,7 @@
|
|
|
4131
4217
|
"kind": "class",
|
|
4132
4218
|
"locationInModule": {
|
|
4133
4219
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4134
|
-
"line":
|
|
4220
|
+
"line": 36
|
|
4135
4221
|
},
|
|
4136
4222
|
"name": "DatadogUsageMonitoring",
|
|
4137
4223
|
"symbolId": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring:DatadogUsageMonitoring"
|
|
@@ -4146,7 +4232,7 @@
|
|
|
4146
4232
|
"kind": "interface",
|
|
4147
4233
|
"locationInModule": {
|
|
4148
4234
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4149
|
-
"line":
|
|
4235
|
+
"line": 26
|
|
4150
4236
|
},
|
|
4151
4237
|
"name": "DatadogUsageMonitoringProps",
|
|
4152
4238
|
"properties": [
|
|
@@ -4158,7 +4244,7 @@
|
|
|
4158
4244
|
"immutable": true,
|
|
4159
4245
|
"locationInModule": {
|
|
4160
4246
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4161
|
-
"line":
|
|
4247
|
+
"line": 28
|
|
4162
4248
|
},
|
|
4163
4249
|
"name": "alertType",
|
|
4164
4250
|
"type": {
|
|
@@ -4173,7 +4259,7 @@
|
|
|
4173
4259
|
"immutable": true,
|
|
4174
4260
|
"locationInModule": {
|
|
4175
4261
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4176
|
-
"line":
|
|
4262
|
+
"line": 29
|
|
4177
4263
|
},
|
|
4178
4264
|
"name": "organization",
|
|
4179
4265
|
"type": {
|
|
@@ -4188,7 +4274,7 @@
|
|
|
4188
4274
|
"immutable": true,
|
|
4189
4275
|
"locationInModule": {
|
|
4190
4276
|
"filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
|
|
4191
|
-
"line":
|
|
4277
|
+
"line": 27
|
|
4192
4278
|
},
|
|
4193
4279
|
"name": "serviceName",
|
|
4194
4280
|
"type": {
|
|
@@ -8361,5 +8447,5 @@
|
|
|
8361
8447
|
}
|
|
8362
8448
|
},
|
|
8363
8449
|
"version": "0.0.0",
|
|
8364
|
-
"fingerprint": "
|
|
8450
|
+
"fingerprint": "OIkW1e+znFP7aRfsj3BMjhlsdgTx8lf1pc1HNxRZeq8="
|
|
8365
8451
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.5.6](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.5.5&sourceBranch=refs%2Ftags%2Fv2.5.6) (2022-08-02)
|
|
6
|
+
|
|
7
|
+
### [2.5.5](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.5.4&sourceBranch=refs%2Ftags%2Fv2.5.5) (2022-07-29)
|
|
8
|
+
|
|
9
|
+
### [2.5.4](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.5.3&sourceBranch=refs%2Ftags%2Fv2.5.4) (2022-07-28)
|
|
10
|
+
|
|
5
11
|
### [2.5.3](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.5.2&sourceBranch=refs%2Ftags%2Fv2.5.3) (2022-07-28)
|
|
6
12
|
|
|
7
13
|
### [2.5.2](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.5.1&sourceBranch=refs%2Ftags%2Fv2.5.2) (2022-07-28)
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as constructs from 'constructs';
|
|
2
|
+
export interface AwsBackupMonitoringProps {
|
|
3
|
+
readonly serviceName: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* This is a beta construct and is likely to have breaking changes.
|
|
7
|
+
* The construct creates monitoring for AWS Backup jobs.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AwsBackupMonitoring extends constructs.Construct {
|
|
10
|
+
constructor(scope: constructs.Construct, id: string, props: AwsBackupMonitoringProps);
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* This is a beta construct and is likely to have breaking changes.
|
|
4
|
-
* The construct creates
|
|
14
|
+
* The construct creates monitoring for all AWS Backup jobs.
|
|
5
15
|
*/
|
|
6
|
-
export declare class
|
|
7
|
-
constructor(scope: Construct, id: string);
|
|
16
|
+
export declare class AwsBackupOverallMonitoring extends constructs.Construct {
|
|
17
|
+
constructor(scope: constructs.Construct, id: string, props: AwsBackupMonitoringProps);
|
|
8
18
|
}
|
|
@@ -1,48 +1,96 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
2
|
+
var _a, _b;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AwsBackupMonitoring = void 0;
|
|
4
|
+
exports.AwsBackupOverallMonitoring = exports.AwsBackupMonitoring = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const path = require("path");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
8
|
+
const ssm = require("aws-cdk-lib/aws-ssm");
|
|
9
|
+
const constructs = require("constructs");
|
|
9
10
|
const rio_claidometer_1 = require("../../../rio-claidometer");
|
|
10
11
|
/**
|
|
11
12
|
* This is a beta construct and is likely to have breaking changes.
|
|
12
|
-
* The construct creates
|
|
13
|
+
* The construct creates monitoring for AWS Backup jobs.
|
|
13
14
|
*/
|
|
14
|
-
class AwsBackupMonitoring extends
|
|
15
|
-
constructor(scope, id) {
|
|
15
|
+
class AwsBackupMonitoring extends constructs.Construct {
|
|
16
|
+
constructor(scope, id, props) {
|
|
16
17
|
super(scope, id);
|
|
17
|
-
const teamName =
|
|
18
|
-
|
|
18
|
+
const teamName = ssm.StringParameter.fromStringParameterName(this, 'TeamName', '/config/team/name').stringValue;
|
|
19
|
+
const commonTags = [
|
|
20
|
+
`service:${props.serviceName}`,
|
|
21
|
+
`team:${teamName}`,
|
|
22
|
+
];
|
|
23
|
+
new cdk.CfnResource(this, 'BackupMonitoringCopyJobs', {
|
|
19
24
|
type: 'Datadog::Monitors::Monitor',
|
|
20
25
|
properties: {
|
|
21
|
-
Name:
|
|
26
|
+
Name: 'AWS Backup Copy Job to central account failed',
|
|
22
27
|
Type: 'query alert',
|
|
23
|
-
Query: `sum(last_1d):sum:aws.backup.number_of_copy_jobs_failed{account_id:${
|
|
24
|
-
Message: `AWS Backup Copy job to central backup account has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Copy Jobs`,
|
|
28
|
+
Query: `sum(last_1d):sum:aws.backup.number_of_copy_jobs_failed{account_id:${cdk.Stack.of(this).account}}.as_count() > 0`,
|
|
29
|
+
Message: `[P4] AWS Backup Copy job to central backup account has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Copy Jobs`,
|
|
30
|
+
Tags: commonTags,
|
|
25
31
|
},
|
|
26
32
|
});
|
|
27
|
-
new
|
|
33
|
+
new cdk.CfnResource(this, 'BackupMonitoringJob', {
|
|
28
34
|
type: 'Datadog::Monitors::Monitor',
|
|
29
35
|
properties: {
|
|
30
|
-
Name:
|
|
36
|
+
Name: 'AWS Backup Job Monitor',
|
|
31
37
|
Type: 'query alert',
|
|
32
|
-
Query: `sum(last_1d):sum:aws.backup.number_of_backup_jobs_failed{account_id:${
|
|
33
|
-
Message: `AWS Backup job has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Backup Jobs`,
|
|
38
|
+
Query: `sum(last_1d):sum:aws.backup.number_of_backup_jobs_failed{account_id:${cdk.Stack.of(this).account}}.as_count() > 0`,
|
|
39
|
+
Message: `[P4] AWS Backup job has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Backup Jobs`,
|
|
40
|
+
Tags: commonTags,
|
|
34
41
|
},
|
|
35
42
|
});
|
|
36
|
-
|
|
37
|
-
new rio_claidometer_1.Claidometer(this, 'Claidometer', {
|
|
38
|
-
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
39
|
-
packageName,
|
|
40
|
-
feature,
|
|
41
|
-
version: '0.0.4',
|
|
42
|
-
});
|
|
43
|
+
addClaidometer(this);
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
exports.AwsBackupMonitoring = AwsBackupMonitoring;
|
|
46
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
47
48
|
AwsBackupMonitoring[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.AwsBackupMonitoring", version: "0.0.0" };
|
|
48
|
-
|
|
49
|
+
/**
|
|
50
|
+
* This is a beta construct and is likely to have breaking changes.
|
|
51
|
+
* The construct creates monitoring for all AWS Backup jobs.
|
|
52
|
+
*/
|
|
53
|
+
class AwsBackupOverallMonitoring extends constructs.Construct {
|
|
54
|
+
constructor(scope, id, props) {
|
|
55
|
+
super(scope, id);
|
|
56
|
+
const teamName = ssm.StringParameter.fromStringParameterName(this, 'TeamName', '/config/team/name').stringValue;
|
|
57
|
+
const commonTags = [
|
|
58
|
+
`service:${props.serviceName}`,
|
|
59
|
+
`team:${teamName}`,
|
|
60
|
+
];
|
|
61
|
+
new cdk.CfnResource(this, 'OverallBackupMonitoringCopyJobs', {
|
|
62
|
+
type: 'Datadog::Monitors::Monitor',
|
|
63
|
+
properties: {
|
|
64
|
+
Name: 'AWS Backup overall Copy Job to central account failed',
|
|
65
|
+
Type: 'query alert',
|
|
66
|
+
Query: 'sum(last_1d):sum:aws.backup.number_of_copy_jobs_failed{*} by {account_name}.as_count() > 0',
|
|
67
|
+
Message: `[P4] AWS Backup Copy job to central backup account has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Copy Jobs`,
|
|
68
|
+
Tags: commonTags,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
new cdk.CfnResource(this, 'OverallBackupMonitoringJob', {
|
|
72
|
+
type: 'Datadog::Monitors::Monitor',
|
|
73
|
+
properties: {
|
|
74
|
+
Name: 'AWS Backup overall Job error',
|
|
75
|
+
Type: 'query alert',
|
|
76
|
+
Query: 'sum(last_1d):sum:aws.backup.number_of_backup_jobs_failed{*} by {account_name}.as_count() > 0',
|
|
77
|
+
Message: `[P4] AWS Backup job has failed @opsgenie-${teamName}.\nCheck the job under AWS Backup -> Jobs -> Backup Jobs`,
|
|
78
|
+
Tags: commonTags,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
addClaidometer(this);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.AwsBackupOverallMonitoring = AwsBackupOverallMonitoring;
|
|
85
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
86
|
+
AwsBackupOverallMonitoring[_b] = { fqn: "@rio-cloud/cdk-v2-constructs.AwsBackupOverallMonitoring", version: "0.0.0" };
|
|
87
|
+
function addClaidometer(scope) {
|
|
88
|
+
const [feature, packageName] = __dirname.split(path.sep).reverse();
|
|
89
|
+
new rio_claidometer_1.Claidometer(scope, 'Claidometer', {
|
|
90
|
+
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
91
|
+
packageName,
|
|
92
|
+
feature,
|
|
93
|
+
version: '0.0.3',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJhY2t1cC1tb25pdG9yaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9hd3MtYmFja3VwLW1vbml0b3JpbmcvYXdzLWJhY2t1cC1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQywyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLDhEQUEyRTtBQU0zRTs7O0dBR0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQzNELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEgsTUFBTSxVQUFVLEdBQUc7WUFDakIsV0FBVyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzlCLFFBQVEsUUFBUSxFQUFFO1NBQ25CLENBQUM7UUFFRixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3BELElBQUksRUFBRSw0QkFBNEI7WUFDbEMsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSwrQ0FBK0M7Z0JBQ3JELElBQUksRUFBRSxhQUFhO2dCQUNuQixLQUFLLEVBQUUscUVBQXFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sa0JBQWtCO2dCQUN4SCxPQUFPLEVBQUUsMkVBQTJFLFFBQVEsd0RBQXdEO2dCQUNwSixJQUFJLEVBQUUsVUFBVTthQUNqQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDL0MsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEtBQUssRUFBRSx1RUFBdUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxrQkFBa0I7Z0JBQzFILE9BQU8sRUFBRSw0Q0FBNEMsUUFBUSwwREFBMEQ7Z0JBQ3ZILElBQUksRUFBRSxVQUFVO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O0FBakNILGtEQWtDQzs7O0FBRUQ7OztHQUdHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxVQUFVLENBQUMsU0FBUztJQUNsRSxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ2xGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2hILE1BQU0sVUFBVSxHQUFHO1lBQ2pCLFdBQVcsS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUM5QixRQUFRLFFBQVEsRUFBRTtTQUNuQixDQUFDO1FBRUYsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxpQ0FBaUMsRUFBRTtZQUMzRCxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsdURBQXVEO2dCQUM3RCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsS0FBSyxFQUFFLDRGQUE0RjtnQkFDbkcsT0FBTyxFQUFFLDJFQUEyRSxRQUFRLHdEQUF3RDtnQkFDcEosSUFBSSxFQUFFLFVBQVU7YUFDakI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ3RELElBQUksRUFBRSw0QkFBNEI7WUFDbEMsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLElBQUksRUFBRSxhQUFhO2dCQUNuQixLQUFLLEVBQUUsOEZBQThGO2dCQUNyRyxPQUFPLEVBQUUsNENBQTRDLFFBQVEsMERBQTBEO2dCQUN2SCxJQUFJLEVBQUUsVUFBVTthQUNqQjtTQUNGLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDOztBQWpDSCxnRUFrQ0M7OztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQTJCO0lBQ2pELE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkUsSUFBSSw2QkFBVyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7UUFDcEMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtRQUM1QyxXQUFXO1FBQ1gsT0FBTztRQUNQLE9BQU8sRUFBRSxPQUFPO0tBQ2pCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBBd3NCYWNrdXBNb25pdG9yaW5nUHJvcHMge1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgYSBiZXRhIGNvbnN0cnVjdCBhbmQgaXMgbGlrZWx5IHRvIGhhdmUgYnJlYWtpbmcgY2hhbmdlcy5cbiAqIFRoZSBjb25zdHJ1Y3QgY3JlYXRlcyBtb25pdG9yaW5nIGZvciBBV1MgQmFja3VwIGpvYnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NCYWNrdXBNb25pdG9yaW5nIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NCYWNrdXBNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IGNvbW1vblRhZ3MgPSBbXG4gICAgICBgc2VydmljZToke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICBgdGVhbToke3RlYW1OYW1lfWAsXG4gICAgXTtcblxuICAgIG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ0JhY2t1cE1vbml0b3JpbmdDb3B5Sm9icycsIHtcbiAgICAgIHR5cGU6ICdEYXRhZG9nOjpNb25pdG9yczo6TW9uaXRvcicsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIE5hbWU6ICdBV1MgQmFja3VwIENvcHkgSm9iIHRvIGNlbnRyYWwgYWNjb3VudCBmYWlsZWQnLFxuICAgICAgICBUeXBlOiAncXVlcnkgYWxlcnQnLFxuICAgICAgICBRdWVyeTogYHN1bShsYXN0XzFkKTpzdW06YXdzLmJhY2t1cC5udW1iZXJfb2ZfY29weV9qb2JzX2ZhaWxlZHthY2NvdW50X2lkOiR7Y2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnR9fS5hc19jb3VudCgpID4gMGAsXG4gICAgICAgIE1lc3NhZ2U6IGBbUDRdIEFXUyBCYWNrdXAgQ29weSBqb2IgdG8gY2VudHJhbCBiYWNrdXAgYWNjb3VudCBoYXMgZmFpbGVkIEBvcHNnZW5pZS0ke3RlYW1OYW1lfS5cXG5DaGVjayB0aGUgam9iIHVuZGVyIEFXUyBCYWNrdXAgLT4gSm9icyAtPiBDb3B5IEpvYnNgLFxuICAgICAgICBUYWdzOiBjb21tb25UYWdzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ0JhY2t1cE1vbml0b3JpbmdKb2InLCB7XG4gICAgICB0eXBlOiAnRGF0YWRvZzo6TW9uaXRvcnM6Ok1vbml0b3InLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBOYW1lOiAnQVdTIEJhY2t1cCBKb2IgTW9uaXRvcicsXG4gICAgICAgIFR5cGU6ICdxdWVyeSBhbGVydCcsXG4gICAgICAgIFF1ZXJ5OiBgc3VtKGxhc3RfMWQpOnN1bTphd3MuYmFja3VwLm51bWJlcl9vZl9iYWNrdXBfam9ic19mYWlsZWR7YWNjb3VudF9pZDoke2Nkay5TdGFjay5vZih0aGlzKS5hY2NvdW50fX0uYXNfY291bnQoKSA+IDBgLFxuICAgICAgICBNZXNzYWdlOiBgW1A0XSBBV1MgQmFja3VwIGpvYiBoYXMgZmFpbGVkIEBvcHNnZW5pZS0ke3RlYW1OYW1lfS5cXG5DaGVjayB0aGUgam9iIHVuZGVyIEFXUyBCYWNrdXAgLT4gSm9icyAtPiBCYWNrdXAgSm9ic2AsXG4gICAgICAgIFRhZ3M6IGNvbW1vblRhZ3MsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgYWRkQ2xhaWRvbWV0ZXIodGhpcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgYmV0YSBjb25zdHJ1Y3QgYW5kIGlzIGxpa2VseSB0byBoYXZlIGJyZWFraW5nIGNoYW5nZXMuXG4gKiBUaGUgY29uc3RydWN0IGNyZWF0ZXMgbW9uaXRvcmluZyBmb3IgYWxsIEFXUyBCYWNrdXAgam9icy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF3c0JhY2t1cE92ZXJhbGxNb25pdG9yaW5nIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NCYWNrdXBNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IGNvbW1vblRhZ3MgPSBbXG4gICAgICBgc2VydmljZToke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICBgdGVhbToke3RlYW1OYW1lfWAsXG4gICAgXTtcblxuICAgIG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ092ZXJhbGxCYWNrdXBNb25pdG9yaW5nQ29weUpvYnMnLCB7XG4gICAgICB0eXBlOiAnRGF0YWRvZzo6TW9uaXRvcnM6Ok1vbml0b3InLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBOYW1lOiAnQVdTIEJhY2t1cCBvdmVyYWxsIENvcHkgSm9iIHRvIGNlbnRyYWwgYWNjb3VudCBmYWlsZWQnLFxuICAgICAgICBUeXBlOiAncXVlcnkgYWxlcnQnLFxuICAgICAgICBRdWVyeTogJ3N1bShsYXN0XzFkKTpzdW06YXdzLmJhY2t1cC5udW1iZXJfb2ZfY29weV9qb2JzX2ZhaWxlZHsqfSBieSB7YWNjb3VudF9uYW1lfS5hc19jb3VudCgpID4gMCcsXG4gICAgICAgIE1lc3NhZ2U6IGBbUDRdIEFXUyBCYWNrdXAgQ29weSBqb2IgdG8gY2VudHJhbCBiYWNrdXAgYWNjb3VudCBoYXMgZmFpbGVkIEBvcHNnZW5pZS0ke3RlYW1OYW1lfS5cXG5DaGVjayB0aGUgam9iIHVuZGVyIEFXUyBCYWNrdXAgLT4gSm9icyAtPiBDb3B5IEpvYnNgLFxuICAgICAgICBUYWdzOiBjb21tb25UYWdzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ092ZXJhbGxCYWNrdXBNb25pdG9yaW5nSm9iJywge1xuICAgICAgdHlwZTogJ0RhdGFkb2c6Ok1vbml0b3JzOjpNb25pdG9yJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgTmFtZTogJ0FXUyBCYWNrdXAgb3ZlcmFsbCBKb2IgZXJyb3InLFxuICAgICAgICBUeXBlOiAncXVlcnkgYWxlcnQnLFxuICAgICAgICBRdWVyeTogJ3N1bShsYXN0XzFkKTpzdW06YXdzLmJhY2t1cC5udW1iZXJfb2ZfYmFja3VwX2pvYnNfZmFpbGVkeyp9IGJ5IHthY2NvdW50X25hbWV9LmFzX2NvdW50KCkgPiAwJyxcbiAgICAgICAgTWVzc2FnZTogYFtQNF0gQVdTIEJhY2t1cCBqb2IgaGFzIGZhaWxlZCBAb3BzZ2VuaWUtJHt0ZWFtTmFtZX0uXFxuQ2hlY2sgdGhlIGpvYiB1bmRlciBBV1MgQmFja3VwIC0+IEpvYnMgLT4gQmFja3VwIEpvYnNgLFxuICAgICAgICBUYWdzOiBjb21tb25UYWdzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGFkZENsYWlkb21ldGVyKHRoaXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFkZENsYWlkb21ldGVyKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkge1xuICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gIG5ldyBDbGFpZG9tZXRlcihzY29wZSwgJ0NsYWlkb21ldGVyJywge1xuICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgIHBhY2thZ2VOYW1lLFxuICAgIGZlYXR1cmUsXG4gICAgdmVyc2lvbjogJzAuMC4zJyxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -6,6 +6,10 @@ export interface DatadogUsageMonitoringProps {
|
|
|
6
6
|
readonly alertType: DatadogAlertType;
|
|
7
7
|
readonly organization: DatadogOrganization;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* This is a beta construct and is likely to have breaking changes.
|
|
11
|
+
* The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
|
|
12
|
+
*/
|
|
9
13
|
export declare class DatadogUsageMonitoring extends constructs.Construct {
|
|
10
14
|
constructor(scope: constructs.Construct, id: string, props: DatadogUsageMonitoringProps);
|
|
11
15
|
private createAnomalyMonitorForSpikes;
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.DatadogUsageMonitoring = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const path = require("path");
|
|
7
|
+
const ssm = require("aws-cdk-lib/aws-ssm");
|
|
7
8
|
const constructs = require("constructs");
|
|
8
9
|
const datadogMonitor_1 = require("../../../datadog/datadogMonitor");
|
|
9
10
|
const rio_claidometer_1 = require("../../../rio-claidometer");
|
|
@@ -17,9 +18,14 @@ function getOrganizationUrlPrefix(organization) {
|
|
|
17
18
|
return 'rio-landingzone';
|
|
18
19
|
}
|
|
19
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* This is a beta construct and is likely to have breaking changes.
|
|
23
|
+
* The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
|
|
24
|
+
*/
|
|
20
25
|
class DatadogUsageMonitoring extends constructs.Construct {
|
|
21
26
|
constructor(scope, id, props) {
|
|
22
27
|
super(scope, id);
|
|
28
|
+
const teamName = ssm.StringParameter.fromStringParameterName(this, 'TeamName', '/config/team/name').stringValue;
|
|
23
29
|
const infrastructureUsageSpikeMonitors = [
|
|
24
30
|
{
|
|
25
31
|
humanReadableName: 'infrastructure hosts',
|
|
@@ -110,17 +116,11 @@ class DatadogUsageMonitoring extends constructs.Construct {
|
|
|
110
116
|
},
|
|
111
117
|
];
|
|
112
118
|
for (const usageSpikeMonitor of [].concat(infrastructureUsageSpikeMonitors, logManagementUsageSpikeMonitors, apmUsageSpikeMonitors, serverlessUsageSpikeMonitors, syntheticUsageSpikeMonitors)) {
|
|
113
|
-
this.createAnomalyMonitorForSpikes(props.serviceName, props.alertType, usageSpikeMonitor);
|
|
119
|
+
this.createAnomalyMonitorForSpikes(props.serviceName, teamName, props.alertType, usageSpikeMonitor);
|
|
114
120
|
}
|
|
115
|
-
|
|
116
|
-
new rio_claidometer_1.Claidometer(this, 'Claidometer', {
|
|
117
|
-
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
118
|
-
packageName,
|
|
119
|
-
feature,
|
|
120
|
-
version: '0.0.4',
|
|
121
|
-
});
|
|
121
|
+
addClaidometer(this);
|
|
122
122
|
}
|
|
123
|
-
createAnomalyMonitorForSpikes(serviceName, alertType, usageSpikeMonitor) {
|
|
123
|
+
createAnomalyMonitorForSpikes(serviceName, teamName, alertType, usageSpikeMonitor) {
|
|
124
124
|
var _b;
|
|
125
125
|
return new datadogMonitor_1.DatadogMonitor(this, usageSpikeMonitor.humanReadableName, {
|
|
126
126
|
serviceName,
|
|
@@ -129,15 +129,19 @@ class DatadogUsageMonitoring extends constructs.Construct {
|
|
|
129
129
|
name: `${usageSpikeMonitor.humanReadableName} spike`,
|
|
130
130
|
type: 'query alert',
|
|
131
131
|
query: `avg(last_12h):anomalies(${usageSpikeMonitor.query}, 'agile', 3, direction='above', interval=120, alert_window='last_30m', seasonality='weekly', timezone='europe/berlin', count_default_zero='true') >= 1`,
|
|
132
|
-
message:
|
|
132
|
+
message: `[P4] ${usageSpikeMonitor.humanReadableName} are getting out-of-control. ${(_b = usageSpikeMonitor.additionalMessage) !== null && _b !== void 0 ? _b : ''}`,
|
|
133
133
|
options: {
|
|
134
134
|
include_tags: false,
|
|
135
135
|
notify_no_data: false,
|
|
136
136
|
threshold_windows: {
|
|
137
|
-
trigger_window: '
|
|
137
|
+
trigger_window: 'last_30m',
|
|
138
138
|
recovery_window: 'last_15m',
|
|
139
139
|
},
|
|
140
140
|
},
|
|
141
|
+
tags: [
|
|
142
|
+
`service:${serviceName}`,
|
|
143
|
+
`team:${teamName}`,
|
|
144
|
+
],
|
|
141
145
|
},
|
|
142
146
|
});
|
|
143
147
|
}
|
|
@@ -145,4 +149,13 @@ class DatadogUsageMonitoring extends constructs.Construct {
|
|
|
145
149
|
exports.DatadogUsageMonitoring = DatadogUsageMonitoring;
|
|
146
150
|
_a = JSII_RTTI_SYMBOL_1;
|
|
147
151
|
DatadogUsageMonitoring[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring", version: "0.0.0" };
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUN6QyxvRUFBbUY7QUFDbkYsOERBQTJFO0FBSTNFLFNBQVMsd0JBQXdCLENBQUMsWUFBaUM7SUFDakUsUUFBUSxZQUFZLEVBQUU7UUFDcEIsS0FBSyxJQUFJO1lBQ1AsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksQ0FBQztRQUN0QixLQUFLLGNBQWM7WUFDakIsT0FBTyxpQkFBaUIsQ0FBQztLQUM1QjtBQUNILENBQUM7QUFjRCxNQUFhLHNCQUF1QixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQzlELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBa0M7UUFDckYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGdDQUFnQyxHQUF3QjtZQUM1RDtnQkFDRSxpQkFBaUIsRUFBRSxzQkFBc0I7Z0JBQ3pDLEtBQUssRUFBRSxzQ0FBc0M7YUFDOUM7WUFDRDtnQkFDRSxpQkFBaUIsRUFBRSxvREFBb0Q7Z0JBQ3ZFLEtBQUssRUFBRSwwREFBMEQ7YUFDbEU7WUFDRCxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsMENBQTBDLEVBQUU7WUFDekYsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7WUFDMUY7Z0JBQ0UsaUJBQWlCLEVBQUUsZ0JBQWdCO2dCQUNuQyxLQUFLLEVBQUUsK0NBQStDO2FBQ3ZEO1lBQ0Q7Z0JBQ0UsaUJBQWlCLEVBQUUsOENBQThDO2dCQUNqRSxL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WUFDbkMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtZQUM1QyxXQUFXO1lBQ1gsT0FBTztZQUNQLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw2QkFBNkIsQ0FDbkMsV0FBbUIsRUFDbkIsU0FBMkIsRUFDM0IsaUJBQW9DOztRQUVwQyxPQUFPLElBQUksK0JBQWMsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7WUFDbkUsV0FBVztZQUNYLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLFFBQVE7Z0JBQ3BELElBQUksRUFBRSxhQUFhO2dCQUNuQixLQUFLLEVBQUUsMkJBQTJCLGlCQUFpQixDQUFDLEtBQUsseUpBQXlKO2dCQUNsTixPQUFPLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxpQkFBaUIsZ0NBQzdDLE1BQUEsaUJBQWlCLENBQUMsaUJBQWlCLG1DQUFJLEVBQ3pDLEVBQUU7Z0JBQ0YsT0FBTyxFQUFFO29CQUNQLFlBQVksRUFBRSxLQUFLO29CQUNuQixjQUFjLEVBQUUsS0FBSztvQkFDckIsaUJBQWlCLEVBQUU7d0JBQ2pCLGNBQWMsRUFBRSxVQUFVO3dCQUMxQixlQUFlLEVBQUUsVUFBVTtxQkFDNUI7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEpILHdEQXVKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ0FsZXJ0VHlwZSwgRGF0YWRvZ01vbml0b3IgfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9nL2RhdGFkb2dNb25pdG9yJztcbmltcG9ydCB7IENsYWlkb21ldGVyLCBDbGFpZG9tZXRlclByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9yaW8tY2xhaWRvbWV0ZXInO1xuXG5leHBvcnQgdHlwZSBEYXRhZG9nT3JnYW5pemF0aW9uID0gJ0VVJyB8ICdMQVRBTScgfCAnTGFuZGluZyBab25lJztcblxuZnVuY3Rpb24gZ2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbik6IHN0cmluZyB7XG4gIHN3aXRjaCAob3JnYW5pemF0aW9uKSB7XG4gICAgY2FzZSAnRVUnOlxuICAgICAgcmV0dXJuICdhcHAnO1xuICAgIGNhc2UgJ0xBVEFNJzpcbiAgICAgIHJldHVybiAncmlvLWJyYXppbCc7XG4gICAgY2FzZSAnTGFuZGluZyBab25lJzpcbiAgICAgIHJldHVybiAncmlvLWxhbmRpbmd6b25lJztcbiAgfVxufVxuXG5pbnRlcmZhY2UgVXNhZ2VTcGlrZU1vbml0b3Ige1xuICBodW1hblJlYWRhYmxlTmFtZTogc3RyaW5nO1xuICBxdWVyeTogc3RyaW5nO1xuICBhZGRpdGlvbmFsTWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nUHJvcHMge1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhbGVydFR5cGU6IERhdGFkb2dBbGVydFR5cGU7XG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFkb2dVc2FnZU1vbml0b3JpbmcgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dVc2FnZU1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBpbmZyYXN0cnVjdHVyZVVzYWdlU3Bpa2VNb25pdG9yczogVXNhZ2VTcGlrZU1vbml0b3JbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdpbmZyYXN0cnVjdHVyZSBob3N0cycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmhvc3Rzeyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImluZnJhc3RydWN0dXJlIGhvc3RzIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmhvc3Rzeyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgfSxcbiAgICAgIHsgaHVtYW5SZWFkYWJsZU5hbWU6ICdGYXJnYXRlIHRhc2tzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5hcG0uZmFyZ2F0ZV90YXNrX2luc3RhbmNleyp9JyB9LFxuICAgICAgeyBodW1hblJlYWRhYmxlTmFtZTogJ3Byb2ZpbGVkIEZhcmdhdGUgdGFza3MnLCBxdWVyeTogJ3N1bTpkYXRhZG9nLnByb2ZpbGluZy5mYXJnYXRleyp9JyB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2N1c3RvbSBtZXRyaWNzJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubWV0cmljcy5jdXN0b217Kn0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6IFwiY3VzdG9tIG1ldHJpY3MgZm9yICd7e2NoaWxkX29yZ19uYW1lLm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubWV0cmljcy5jdXN0b217Kn0gYnkge2NoaWxkX29yZ19uYW1lfScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBhZGRpdGlvbmFsTWVzc2FnZUxvZ01hbmFnZW1lbnRGb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzID0gYFRha2UgYSBsb29rIGF0IGh0dHBzOi8vJHtnZXRPcmdhbml6YXRpb25VcmxQcmVmaXgoXG4gICAgICBwcm9wcy5vcmdhbml6YXRpb24sXG4gICAgKX0uZGF0YWRvZ2hxLmV1L2Rhc2gvaW50ZWdyYXRpb24vNDY1L2xvZy1tYW5hZ2VtZW50LWVzdGltYXRlZC11c2FnZSBmb3IgbW9yZSBkZXRhaWxzLmA7XG4gICAgY29uc3QgYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yTG9nSW5kZXhTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ2NS9sb2ctbWFuYWdlbWVudC1lc3RpbWF0ZWQtdXNhZ2U/dHBsX3Zhcl9kYXRhZG9nX2luZGV4PXt7ZGF0YWRvZ19pbmRleC5uYW1lfX0gZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGxvZ01hbmFnZW1lbnRVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnbG9nIGluZ2VzdGlvbicsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfYnl0ZXN7Kn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUxvZ01hbmFnZW1lbnRGb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6IFwibG9nIGluZ2VzdGlvbiBmb3IgJ3t7ZGF0YWRvZ19pbmRleC5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfYnl0ZXN7Kn0gYnkge2RhdGFkb2dfaW5kZXh9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yTG9nSW5kZXhTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnbG9nIGluZGV4aW5nJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZX0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUxvZ01hbmFnZW1lbnRGb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6IFwibG9nIGluZGV4aW5nIGZvciAne3tkYXRhZG9nX2luZGV4Lm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZX0gYnkge2RhdGFkb2dfaW5kZXh9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yTG9nSW5kZXhTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ4OS9hcG0tdHJhY2VzLWVzdGltYXRlZC11c2FnZSBmb3IgbW9yZSBkZXRhaWxzLmA7XG4gICAgY29uc3QgYWRkaXRpb25hbE1lc3NhZ2VBcG1Gb3JFbnZTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ4OS9hcG0tdHJhY2VzLWVzdGltYXRlZC11c2FnZT90cGxfdmFyX2Vudj17e2Vudi5uYW1lfX0gZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFwbVVzYWdlU3Bpa2VNb25pdG9yczogVXNhZ2VTcGlrZU1vbml0b3JbXSA9IFtcbiAgICAgIHsgaHVtYW5SZWFkYWJsZU5hbWU6ICdBUE0gaG9zdHMnLCBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG1faG9zdHN7Kn0nIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcIkFQTSBob3N0cyBmb3IgJ3t7Y2hpbGRfb3JnX25hbWUubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG1faG9zdHN7Kn0gYnkge2NoaWxkX29yZ19uYW1lfScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ3NwYW4gaW5nZXN0aW9uJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtLmluZ2VzdGVkX2J5dGVzeyp9LmFzX2NvdW50KCknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6IFwic3BhbiBpbmdlc3Rpb24gZm9yICd7e2Vudi5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmFwbS5pbmdlc3RlZF9ieXRlc3sqfSBieSB7ZW52fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ3NwYW4gaW5kZXhpbmcnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5kZXhlZF9zcGFuc3sqfS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNwYW4gaW5kZXhpbmcgZm9yICd7e2Vudi5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmFwbS5pbmRleGVkX3NwYW5zeyp9IGJ5IHtlbnZ9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VBcG1Gb3JFbnZTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHN5bnRoZXRpY1VzYWdlU3Bpa2VNb25pdG9yczogVXNhZ2VTcGlrZU1vbml0b3JbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdTeW50aGV0aWMgQVBJIHRlc3RzJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2Uuc3ludGhldGljcy5hcGlfdGVzdF9ydW5zeyp9LmFzX2NvdW50KCknLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qgc2VydmVybGVzc1VzYWdlU3Bpa2VNb25pdG9yczogVXNhZ2VTcGlrZU1vbml0b3JbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzZXJ2ZXJsZXNzIGZ1bmN0aW9ucycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnNlcnZlcmxlc3MuYXdzX2xhbWJkYV9mdW5jdGlvbnN7Kn0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6IFwic2VydmVybGVzcyBmdW5jdGlvbnMgZm9yICd7e2NoaWxkX29yZ19uYW1lLm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2Uuc2VydmVybGVzcy5hd3NfbGFtYmRhX2Z1bmN0aW9uc3sqfSBieSB7Y2hpbGRfb3JnX25hbWV9JyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGZvciAoY29uc3QgdXNhZ2VTcGlrZU1vbml0b3Igb2YgKFtdIGFzIFVzYWdlU3Bpa2VNb25pdG9yW10pLmNvbmNhdChcbiAgICAgIGluZnJhc3RydWN0dXJlVXNhZ2VTcGlrZU1vbml0b3JzLFxuICAgICAgbG9nTWFuYWdlbWVudFVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIGFwbVVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgICBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgKSkge1xuICAgICAgdGhpcy5jcmVhdGVBbm9tYWx5TW9uaXRvckZvclNwaWtlcyhwcm9wcy5zZXJ2aWNlTmFtZSwgcHJvcHMuYWxlcnRUeXBlLCB1c2FnZVNwaWtlTW9uaXRvcik7XG4gICAgfVxuXG4gICAgY29uc3QgW2ZlYXR1cmUsIHBhY2thZ2VOYW1lXSA9IF9fZGlybmFtZS5zcGxpdChwYXRoLnNlcCkucmV2ZXJzZSgpO1xuICAgIG5ldyBDbGFpZG9tZXRlcih0aGlzLCAnQ2xhaWRvbWV0ZXInLCB7XG4gICAgICBwcm9kdWN0OiBDbGFpZG9tZXRlclByb2R1Y3QuQ0RLX0NPTlRSSUJVVElPTixcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZmVhdHVyZSxcbiAgICAgIHZlcnNpb246ICcwLjAuNCcsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFub21hbHlNb25pdG9yRm9yU3Bpa2VzKFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgYWxlcnRUeXBlOiBEYXRhZG9nQWxlcnRUeXBlLFxuICAgIHVzYWdlU3Bpa2VNb25pdG9yOiBVc2FnZVNwaWtlTW9uaXRvcixcbiAgKTogRGF0YWRvZ01vbml0b3Ige1xuICAgIHJldHVybiBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgdXNhZ2VTcGlrZU1vbml0b3IuaHVtYW5SZWFkYWJsZU5hbWUsIHtcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW2FsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6IGAke3VzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lfSBzcGlrZWAsXG4gICAgICAgIHR5cGU6ICdxdWVyeSBhbGVydCcsXG4gICAgICAgIHF1ZXJ5OiBgYXZnKGxhc3RfMTJoKTphbm9tYWxpZXMoJHt1c2FnZVNwaWtlTW9uaXRvci5xdWVyeX0sICdhZ2lsZScsIDMsIGRpcmVjdGlvbj0nYWJvdmUnLCBpbnRlcnZhbD0xMjAsIGFsZXJ0X3dpbmRvdz0nbGFzdF8zMG0nLCBzZWFzb25hbGl0eT0nd2Vla2x5JywgdGltZXpvbmU9J2V1cm9wZS9iZXJsaW4nLCBjb3VudF9kZWZhdWx0X3plcm89J3RydWUnKSA+PSAxYCxcbiAgICAgICAgbWVzc2FnZTogYCR7dXNhZ2VTcGlrZU1vbml0b3IuaHVtYW5SZWFkYWJsZU5hbWV9IGFyZSBnZXR0aW5nIG91dC1vZi1jb250cm9sLiAke1xuICAgICAgICAgIHVzYWdlU3Bpa2VNb25pdG9yLmFkZGl0aW9uYWxNZXNzYWdlID8/ICcnXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogZmFsc2UsXG4gICAgICAgICAgdGhyZXNob2xkX3dpbmRvd3M6IHtcbiAgICAgICAgICAgIHRyaWdnZXJfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgICAgcmVjb3Zlcnlfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
152
|
+
function addClaidometer(scope) {
|
|
153
|
+
const [feature, packageName] = __dirname.split(path.sep).reverse();
|
|
154
|
+
new rio_claidometer_1.Claidometer(scope, 'Claidometer', {
|
|
155
|
+
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
156
|
+
packageName,
|
|
157
|
+
feature,
|
|
158
|
+
version: '0.0.7',
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFDekMsb0VBQW1GO0FBQ25GLDhEQUEyRTtBQUkzRSxTQUFTLHdCQUF3QixDQUFDLFlBQWlDO0lBQ2pFLFFBQVEsWUFBWSxFQUFFO1FBQ3BCLEtBQUssSUFBSTtZQUNQLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8saUJBQWlCLENBQUM7S0FDNUI7QUFDSCxDQUFDO0FBY0Q7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxVQUFVLENBQUMsU0FBUztJQUM5RCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBRWhILE1BQU0sZ0NBQWdDLEdBQXdCO1lBQzVEO2dCQUNFLGlCQUFpQixFQUFFLHNCQUFzQjtnQkFDekMsS0FBSyxFQUFFLHNDQUFzQzthQUM5QztZQUNEO2dCQUNFLGlCQUFpQixFQUFFLG9EQUFvRDtnQkFDdkUsS0FBSyxFQUFFLDBEQUEwRDthQUNsRTtZQUNELEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRTtZQUN6RixFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixF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RUFBRSxPQUFPO0tBQ2pCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERhdGFkb2dBbGVydFR5cGUsIERhdGFkb2dNb25pdG9yIH0gZnJvbSAnLi4vLi4vLi4vZGF0YWRvZy9kYXRhZG9nTW9uaXRvcic7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0IHR5cGUgRGF0YWRvZ09yZ2FuaXphdGlvbiA9ICdFVScgfCAnTEFUQU0nIHwgJ0xhbmRpbmcgWm9uZSc7XG5cbmZ1bmN0aW9uIGdldE9yZ2FuaXphdGlvblVybFByZWZpeChvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24pOiBzdHJpbmcge1xuICBzd2l0Y2ggKG9yZ2FuaXphdGlvbikge1xuICAgIGNhc2UgJ0VVJzpcbiAgICAgIHJldHVybiAnYXBwJztcbiAgICBjYXNlICdMQVRBTSc6XG4gICAgICByZXR1cm4gJ3Jpby1icmF6aWwnO1xuICAgIGNhc2UgJ0xhbmRpbmcgWm9uZSc6XG4gICAgICByZXR1cm4gJ3Jpby1sYW5kaW5nem9uZSc7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFVzYWdlU3Bpa2VNb25pdG9yIHtcbiAgaHVtYW5SZWFkYWJsZU5hbWU6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgYWRkaXRpb25hbE1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ1VzYWdlTW9uaXRvcmluZ1Byb3BzIHtcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYWxlcnRUeXBlOiBEYXRhZG9nQWxlcnRUeXBlO1xuICByZWFkb25seSBvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb247XG59XG5cbi8qKlxuICogVGhpcyBpcyBhIGJldGEgY29uc3RydWN0IGFuZCBpcyBsaWtlbHkgdG8gaGF2ZSBicmVha2luZyBjaGFuZ2VzLlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgKGJhc2VkIG9uIGFub21hbHkgZGV0ZWN0aW9uKSBmb3IgdGhlIHVzYWdlIG9mIHRoZSBtb3N0IHJlbGV2YW50IERhdGFkb2cgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuXG4gICAgY29uc3QgaW5mcmFzdHJ1Y3R1cmVVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnaW5mcmFzdHJ1Y3R1cmUgaG9zdHMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJpbmZyYXN0cnVjdHVyZSBob3N0cyBmb3IgJ3t7Y2hpbGRfb3JnX25hbWUubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfSBieSB7Y2hpbGRfb3JnX25hbWV9JyxcbiAgICAgIH0sXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnRmFyZ2F0ZSB0YXNrcycsIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuYXBtLmZhcmdhdGVfdGFza19pbnN0YW5jZXsqfScgfSxcbiAgICAgIHsgaHVtYW5SZWFkYWJsZU5hbWU6ICdwcm9maWxlZCBGYXJnYXRlIHRhc2tzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5wcm9maWxpbmcuZmFyZ2F0ZXsqfScgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdjdXN0b20gbWV0cmljcycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImN1c3RvbSBtZXRyaWNzIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ2NS9sb2ctbWFuYWdlbWVudC1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80NjUvbG9nLW1hbmFnZW1lbnQtZXN0aW1hdGVkLXVzYWdlP3RwbF92YXJfZGF0YWRvZ19pbmRleD17e2RhdGFkb2dfaW5kZXgubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBsb2dNYW5hZ2VtZW50VXNhZ2VTcGlrZU1vbml0b3JzOiBVc2FnZVNwaWtlTW9uaXRvcltdID0gW1xuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmdlc3Rpb24nLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmdlc3Rpb24gZm9yICd7e2RhdGFkb2dfaW5kZXgubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmRleGluZycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmRleGluZyBmb3IgJ3t7ZGF0YWRvZ19pbmRleC5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2U/dHBsX3Zhcl9lbnY9e3tlbnYubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBhcG1Vc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnQVBNIGhvc3RzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9JyB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJBUE0gaG9zdHMgZm9yICd7e2NoaWxkX29yZ19uYW1lLm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VBcG1Gb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZ2VzdGlvbicsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmFwbS5pbmdlc3RlZF9ieXRlc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNwYW4gaW5nZXN0aW9uIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5nZXN0ZWRfYnl0ZXN7Kn0gYnkge2Vudn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckVudlNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZGV4aW5nJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtLmluZGV4ZWRfc3BhbnN7Kn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJzcGFuIGluZGV4aW5nIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5kZXhlZF9zcGFuc3sqfSBieSB7ZW52fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnU3ludGhldGljIEFQSSB0ZXN0cycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnN5bnRoZXRpY3MuYXBpX3Rlc3RfcnVuc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnc2VydmVybGVzcyBmdW5jdGlvbnMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5zZXJ2ZXJsZXNzLmF3c19sYW1iZGFfZnVuY3Rpb25zeyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNlcnZlcmxlc3MgZnVuY3Rpb25zIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnNlcnZlcmxlc3MuYXdzX2xhbWJkYV9mdW5jdGlvbnN7Kn0gYnkge2NoaWxkX29yZ19uYW1lfScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IHVzYWdlU3Bpa2VNb25pdG9yIG9mIChbXSBhcyBVc2FnZVNwaWtlTW9uaXRvcltdKS5jb25jYXQoXG4gICAgICBpbmZyYXN0cnVjdHVyZVVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIGxvZ01hbmFnZW1lbnRVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgICBhcG1Vc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgICBzZXJ2ZXJsZXNzVXNhZ2VTcGlrZU1vbml0b3JzLFxuICAgICAgc3ludGhldGljVXNhZ2VTcGlrZU1vbml0b3JzLFxuICAgICkpIHtcbiAgICAgIHRoaXMuY3JlYXRlQW5vbWFseU1vbml0b3JGb3JTcGlrZXMocHJvcHMuc2VydmljZU5hbWUsIHRlYW1OYW1lLCBwcm9wcy5hbGVydFR5cGUsIHVzYWdlU3Bpa2VNb25pdG9yKTtcbiAgICB9XG5cbiAgICBhZGRDbGFpZG9tZXRlcih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQW5vbWFseU1vbml0b3JGb3JTcGlrZXMoXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICB0ZWFtTmFtZTogc3RyaW5nLFxuICAgIGFsZXJ0VHlwZTogRGF0YWRvZ0FsZXJ0VHlwZSxcbiAgICB1c2FnZVNwaWtlTW9uaXRvcjogVXNhZ2VTcGlrZU1vbml0b3IsXG4gICk6IERhdGFkb2dNb25pdG9yIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsIHVzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lLCB7XG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFthbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiBgJHt1c2FnZVNwaWtlTW9uaXRvci5odW1hblJlYWRhYmxlTmFtZX0gc3Bpa2VgLFxuICAgICAgICB0eXBlOiAncXVlcnkgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGF2ZyhsYXN0XzEyaCk6YW5vbWFsaWVzKCR7dXNhZ2VTcGlrZU1vbml0b3IucXVlcnl9LCAnYWdpbGUnLCAzLCBkaXJlY3Rpb249J2Fib3ZlJywgaW50ZXJ2YWw9MTIwLCBhbGVydF93aW5kb3c9J2xhc3RfMzBtJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJywgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJykgPj0gMWAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDRdICR7dXNhZ2VTcGlrZU1vbml0b3IuaHVtYW5SZWFkYWJsZU5hbWV9IGFyZSBnZXR0aW5nIG91dC1vZi1jb250cm9sLiAke1xuICAgICAgICAgIHVzYWdlU3Bpa2VNb25pdG9yLmFkZGl0aW9uYWxNZXNzYWdlID8/ICcnXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogZmFsc2UsXG4gICAgICAgICAgdGhyZXNob2xkX3dpbmRvd3M6IHtcbiAgICAgICAgICAgIHRyaWdnZXJfd2luZG93OiAnbGFzdF8zMG0nLFxuICAgICAgICAgICAgcmVjb3Zlcnlfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICBgc2VydmljZToke3NlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgYHRlYW06JHt0ZWFtTmFtZX1gLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRDbGFpZG9tZXRlcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QpIHtcbiAgY29uc3QgW2ZlYXR1cmUsIHBhY2thZ2VOYW1lXSA9IF9fZGlybmFtZS5zcGxpdChwYXRoLnNlcCkucmV2ZXJzZSgpO1xuICBuZXcgQ2xhaWRvbWV0ZXIoc2NvcGUsICdDbGFpZG9tZXRlcicsIHtcbiAgICBwcm9kdWN0OiBDbGFpZG9tZXRlclByb2R1Y3QuQ0RLX0NPTlRSSUJVVElPTixcbiAgICBwYWNrYWdlTmFtZSxcbiAgICBmZWF0dXJlLFxuICAgIHZlcnNpb246ICcwLjAuNycsXG4gIH0pO1xufVxuIl19
|
package/package.json
CHANGED
package/version.json
CHANGED