checkly 7.0.1-prerelease-e306e6f → 7.1.0-prerelease-36f4883
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -4
- package/dist/ai-context/checkly.rules.md +44 -0
- package/dist/ai-context/context.js +5 -0
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/skills/monitoring/SKILL.md +45 -1
- package/dist/commands/import/plan.js +2 -1
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/pw-test.d.ts +2 -1
- package/dist/commands/pw-test.js +11 -6
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +3 -2
- package/dist/constants.js.map +1 -1
- package/dist/constructs/alert-channel.d.ts +9 -2
- package/dist/constructs/alert-channel.js +10 -0
- package/dist/constructs/alert-channel.js.map +1 -1
- package/dist/constructs/api-assertion.d.ts +3 -3
- package/dist/constructs/check-codegen.d.ts +2 -0
- package/dist/constructs/check-codegen.js +8 -0
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/check-group-ref.d.ts +5 -1
- package/dist/constructs/check-group-ref.js +7 -0
- package/dist/constructs/check-group-ref.js.map +1 -1
- package/dist/constructs/check-group-v1.d.ts +3 -0
- package/dist/constructs/check-group-v1.js +7 -4
- package/dist/constructs/check-group-v1.js.map +1 -1
- package/dist/constructs/construct.js +6 -2
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dns-assertion.d.ts +1 -1
- package/dist/constructs/heartbeat-monitor.js +2 -5
- package/dist/constructs/heartbeat-monitor.js.map +1 -1
- package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
- package/dist/constructs/icmp-assertion-codegen.js +22 -0
- package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
- package/dist/constructs/icmp-assertion.d.ts +56 -0
- package/dist/constructs/icmp-assertion.js +61 -0
- package/dist/constructs/icmp-assertion.js.map +1 -0
- package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
- package/dist/constructs/icmp-monitor-codegen.js +38 -0
- package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
- package/dist/constructs/icmp-monitor.d.ts +82 -0
- package/dist/constructs/icmp-monitor.js +47 -0
- package/dist/constructs/icmp-monitor.js.map +1 -0
- package/dist/constructs/icmp-request-codegen.d.ts +4 -0
- package/dist/constructs/icmp-request-codegen.js +28 -0
- package/dist/constructs/icmp-request-codegen.js.map +1 -0
- package/dist/constructs/icmp-request.d.ts +37 -0
- package/dist/constructs/icmp-request.js +3 -0
- package/dist/constructs/icmp-request.js.map +1 -0
- package/dist/constructs/incidentio-alert-channel.js +1 -1
- package/dist/constructs/index.d.ts +3 -0
- package/dist/constructs/index.js +3 -0
- package/dist/constructs/index.js.map +1 -1
- package/dist/constructs/internal/assertion-codegen.d.ts +4 -1
- package/dist/constructs/internal/assertion-codegen.js +5 -2
- package/dist/constructs/internal/assertion-codegen.js.map +1 -1
- package/dist/constructs/internal/assertion.d.ts +3 -2
- package/dist/constructs/internal/assertion.js +4 -2
- package/dist/constructs/internal/assertion.js.map +1 -1
- package/dist/constructs/internal/common-diagnostics.d.ts +2 -0
- package/dist/constructs/internal/common-diagnostics.js +28 -1
- package/dist/constructs/internal/common-diagnostics.js.map +1 -1
- package/dist/constructs/msteams-alert-channel.js +48 -3
- package/dist/constructs/msteams-alert-channel.js.map +1 -1
- package/dist/constructs/multi-step-check.js +2 -2
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/private-location.d.ts +7 -1
- package/dist/constructs/private-location.js +10 -0
- package/dist/constructs/private-location.js.map +1 -1
- package/dist/constructs/project.js +0 -3
- package/dist/constructs/project.js.map +1 -1
- package/dist/constructs/status-page-service.d.ts +8 -1
- package/dist/constructs/status-page-service.js +10 -0
- package/dist/constructs/status-page-service.js.map +1 -1
- package/dist/constructs/tcp-monitor.d.ts +1 -1
- package/dist/constructs/telegram-alert-channel.js +8 -1
- package/dist/constructs/telegram-alert-channel.js.map +1 -1
- package/dist/constructs/url-assertion.d.ts +1 -1
- package/dist/reporters/util.js +67 -0
- package/dist/reporters/util.js.map +1 -1
- package/dist/rest/api.js +1 -1
- package/dist/rest/api.js.map +1 -1
- package/dist/services/check-parser/faux-package.d.ts +1 -0
- package/dist/services/check-parser/faux-package.js +5 -4
- package/dist/services/check-parser/faux-package.js.map +1 -1
- package/dist/services/check-parser/package-files/resolver.js +58 -23
- package/dist/services/check-parser/package-files/resolver.js.map +1 -1
- package/dist/services/check-parser/package-files/workspace.js +4 -5
- package/dist/services/check-parser/package-files/workspace.js.map +1 -1
- package/dist/services/check-parser/parser.d.ts +8 -8
- package/dist/services/check-parser/parser.js +114 -80
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/project-parser.js.map +1 -1
- package/dist/testing/fixture-sandbox.js +7 -2
- package/dist/testing/fixture-sandbox.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +8 -1
- package/package.json +2 -2
|
@@ -43,7 +43,7 @@ export declare class AssertionBuilder {
|
|
|
43
43
|
* Creates an assertion builder for HTTP status codes.
|
|
44
44
|
* @returns A numeric assertion builder for status codes
|
|
45
45
|
*/
|
|
46
|
-
static statusCode(): NumericAssertionBuilder<ApiAssertionSource>;
|
|
46
|
+
static statusCode(): NumericAssertionBuilder<ApiAssertionSource, string>;
|
|
47
47
|
/**
|
|
48
48
|
* Creates an assertion builder for JSON response body.
|
|
49
49
|
* @param property Optional JSON path to specific property (e.g., '$.user.name')
|
|
@@ -67,8 +67,8 @@ export declare class AssertionBuilder {
|
|
|
67
67
|
* Creates an assertion builder for response time.
|
|
68
68
|
* @returns A numeric assertion builder for response time in milliseconds
|
|
69
69
|
*/
|
|
70
|
-
static responseTime(): NumericAssertionBuilder<ApiAssertionSource>;
|
|
70
|
+
static responseTime(): NumericAssertionBuilder<ApiAssertionSource, string>;
|
|
71
71
|
/** @deprecated Use {@link responseTime()} instead */
|
|
72
|
-
static responseTme(): NumericAssertionBuilder<ApiAssertionSource>;
|
|
72
|
+
static responseTme(): NumericAssertionBuilder<ApiAssertionSource, string>;
|
|
73
73
|
}
|
|
74
74
|
export {};
|
|
@@ -12,6 +12,7 @@ import { RetryStrategyResource } from './retry-strategy-codegen';
|
|
|
12
12
|
import { TcpMonitorCodegen } from './tcp-monitor-codegen';
|
|
13
13
|
import { UrlMonitorCodegen } from './url-monitor-codegen';
|
|
14
14
|
import { DnsMonitorCodegen } from './dns-monitor-codegen';
|
|
15
|
+
import { IcmpMonitorCodegen } from './icmp-monitor-codegen';
|
|
15
16
|
export interface CheckResource {
|
|
16
17
|
id: string;
|
|
17
18
|
checkType: string;
|
|
@@ -44,6 +45,7 @@ export declare class CheckCodegen extends Codegen<CheckResource> {
|
|
|
44
45
|
tcpMonitorCodegen: TcpMonitorCodegen;
|
|
45
46
|
urlMonitorCodegen: UrlMonitorCodegen;
|
|
46
47
|
dnsMonitorCodegen: DnsMonitorCodegen;
|
|
48
|
+
icmpMonitorCodegen: IcmpMonitorCodegen;
|
|
47
49
|
constructor(program: Program);
|
|
48
50
|
describe(resource: CheckResource): string;
|
|
49
51
|
gencode(logicalId: string, resource: CheckResource, context: Context): void;
|
|
@@ -16,6 +16,7 @@ const url_monitor_codegen_1 = require("./url-monitor-codegen");
|
|
|
16
16
|
const private_location_codegen_1 = require("./private-location-codegen");
|
|
17
17
|
const alert_channel_codegen_1 = require("./alert-channel-codegen");
|
|
18
18
|
const dns_monitor_codegen_1 = require("./dns-monitor-codegen");
|
|
19
|
+
const icmp_monitor_codegen_1 = require("./icmp-monitor-codegen");
|
|
19
20
|
function buildCheckProps(program, genfile, builder, resource, context) {
|
|
20
21
|
builder.string('name', resource.name, { order: -1000 });
|
|
21
22
|
if (resource.activated !== undefined) {
|
|
@@ -171,6 +172,7 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
171
172
|
tcpMonitorCodegen;
|
|
172
173
|
urlMonitorCodegen;
|
|
173
174
|
dnsMonitorCodegen;
|
|
175
|
+
icmpMonitorCodegen;
|
|
174
176
|
constructor(program) {
|
|
175
177
|
super(program);
|
|
176
178
|
this.apiCheckCodegen = new api_check_codegen_1.ApiCheckCodegen(program);
|
|
@@ -181,6 +183,7 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
181
183
|
this.tcpMonitorCodegen = new tcp_monitor_codegen_1.TcpMonitorCodegen(program);
|
|
182
184
|
this.urlMonitorCodegen = new url_monitor_codegen_1.UrlMonitorCodegen(program);
|
|
183
185
|
this.dnsMonitorCodegen = new dns_monitor_codegen_1.DnsMonitorCodegen(program);
|
|
186
|
+
this.icmpMonitorCodegen = new icmp_monitor_codegen_1.IcmpMonitorCodegen(program);
|
|
184
187
|
}
|
|
185
188
|
describe(resource) {
|
|
186
189
|
const { checkType } = resource;
|
|
@@ -199,6 +202,8 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
199
202
|
return this.urlMonitorCodegen.describe(resource);
|
|
200
203
|
case 'DNS':
|
|
201
204
|
return this.dnsMonitorCodegen.describe(resource);
|
|
205
|
+
case 'ICMP':
|
|
206
|
+
return this.icmpMonitorCodegen.describe(resource);
|
|
202
207
|
default:
|
|
203
208
|
throw new Error(`Unable to describe unsupported check type '${checkType}'.`);
|
|
204
209
|
}
|
|
@@ -227,6 +232,9 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
227
232
|
case 'DNS':
|
|
228
233
|
this.dnsMonitorCodegen.gencode(logicalId, resource, context);
|
|
229
234
|
return;
|
|
235
|
+
case 'ICMP':
|
|
236
|
+
this.icmpMonitorCodegen.gencode(logicalId, resource, context);
|
|
237
|
+
return;
|
|
230
238
|
default:
|
|
231
239
|
throw new Error(`Unable to generate code for unsupported check type '${checkType}'.`);
|
|
232
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-codegen.js","sourceRoot":"","sources":["../../src/constructs/check-codegen.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AAErD,uFAAoG;AACpG,2DAAuE;AACvE,mEAAmF;AACnF,+DAAmF;AAEnF,2DAA0E;AAC1E,2EAA+F;AAC/F,qEAA+D;AAC/D,yEAA0F;AAC1F,qEAAuF;AACvF,+DAA6E;AAC7E,+DAA6E;AAC7E,yEAA0E;AAC1E,mEAAoE;AACpE,+DAA6E;
|
|
1
|
+
{"version":3,"file":"check-codegen.js","sourceRoot":"","sources":["../../src/constructs/check-codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { CheckConfigDefaults } from '../services/checkly-config-loader';
|
|
2
2
|
import { Construct } from './construct';
|
|
3
|
+
import { Diagnostics } from './diagnostics';
|
|
3
4
|
/**
|
|
4
5
|
* Creates a reference to an existing Check Group (both v1 and v2).
|
|
5
6
|
*
|
|
6
7
|
* References link existing resources to a project without managing them.
|
|
8
|
+
*
|
|
9
|
+
* Use {@link CheckGroupV2.fromId()} instead of instantiating this class directly.
|
|
7
10
|
*/
|
|
8
11
|
export declare class CheckGroupRef extends Construct {
|
|
9
|
-
constructor(logicalId: string, physicalId:
|
|
12
|
+
constructor(logicalId: string, physicalId: number);
|
|
10
13
|
describe(): string;
|
|
14
|
+
validate(diagnostics: Diagnostics): Promise<void>;
|
|
11
15
|
getCheckDefaults(): CheckConfigDefaults;
|
|
12
16
|
getBrowserCheckDefaults(): CheckConfigDefaults;
|
|
13
17
|
getMultiStepCheckDefaults(): CheckConfigDefaults;
|
|
@@ -3,11 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CheckGroupRef = void 0;
|
|
4
4
|
const check_group_v1_1 = require("./check-group-v1");
|
|
5
5
|
const construct_1 = require("./construct");
|
|
6
|
+
const common_diagnostics_1 = require("./internal/common-diagnostics");
|
|
6
7
|
const project_1 = require("./project");
|
|
7
8
|
/**
|
|
8
9
|
* Creates a reference to an existing Check Group (both v1 and v2).
|
|
9
10
|
*
|
|
10
11
|
* References link existing resources to a project without managing them.
|
|
12
|
+
*
|
|
13
|
+
* Use {@link CheckGroupV2.fromId()} instead of instantiating this class directly.
|
|
11
14
|
*/
|
|
12
15
|
class CheckGroupRef extends construct_1.Construct {
|
|
13
16
|
constructor(logicalId, physicalId) {
|
|
@@ -17,6 +20,10 @@ class CheckGroupRef extends construct_1.Construct {
|
|
|
17
20
|
describe() {
|
|
18
21
|
return `CheckGroupRef:${this.logicalId}`;
|
|
19
22
|
}
|
|
23
|
+
async validate(diagnostics) {
|
|
24
|
+
await super.validate(diagnostics);
|
|
25
|
+
await (0, common_diagnostics_1.validatePhysicalIdIsNumeric)(diagnostics, 'CheckGroupV2', this.physicalId);
|
|
26
|
+
}
|
|
20
27
|
getCheckDefaults() {
|
|
21
28
|
// The only value CheckGroup.getCheckDefaults() returns is frequency,
|
|
22
29
|
// which exists purely for convenience, and only at CLI-level. It never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-group-ref.js","sourceRoot":"","sources":["../../src/constructs/check-group-ref.ts"],"names":[],"mappings":";;;AACA,qDAA+C;AAC/C,2CAAuC;
|
|
1
|
+
{"version":3,"file":"check-group-ref.js","sourceRoot":"","sources":["../../src/constructs/check-group-ref.ts"],"names":[],"mappings":";;;AACA,qDAA+C;AAC/C,2CAAuC;AAEvC,sEAA2E;AAC3E,uCAAmC;AAEnC;;;;;;GAMG;AACH,MAAa,aAAc,SAAQ,qBAAS;IAC1C,YAAa,SAAiB,EAAE,UAAkB;QAChD,KAAK,CAAC,6BAAY,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QAC/D,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,IAAA,gDAA2B,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACjF,CAAC;IAEM,gBAAgB;QACrB,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,4DAA4D;QAC5D,OAAO,EAAE,CAAA;IACX,CAAC;IAEM,uBAAuB;QAC5B,iEAAiE;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAEM,yBAAyB;QAC9B,iEAAiE;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAxCD,sCAwCC"}
|
|
@@ -270,6 +270,9 @@ export declare class CheckGroupV1 extends Construct {
|
|
|
270
270
|
protected onBeforeValidate(diagnostics: Diagnostics): Promise<void>;
|
|
271
271
|
protected validateDoubleCheck(diagnostics: Diagnostics): Promise<void>;
|
|
272
272
|
validate(diagnostics: Diagnostics): Promise<void>;
|
|
273
|
+
/**
|
|
274
|
+
* @param id - The numeric ID of the existing check group
|
|
275
|
+
*/
|
|
273
276
|
static fromId(id: number): CheckGroupRef;
|
|
274
277
|
private __addChecks;
|
|
275
278
|
private __addSubscriptions;
|
|
@@ -7,7 +7,7 @@ exports.CheckGroupV1 = void 0;
|
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const glob_1 = require("glob");
|
|
9
9
|
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
10
|
-
const constants_1 =
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
11
|
const alert_channel_subscription_1 = require("./alert-channel-subscription");
|
|
12
12
|
const browser_check_1 = require("./browser-check");
|
|
13
13
|
const check_group_ref_1 = require("./check-group-ref");
|
|
@@ -107,11 +107,11 @@ class CheckGroupV1 extends construct_1.Construct {
|
|
|
107
107
|
this.browserChecks = props.browserChecks;
|
|
108
108
|
const fileAbsolutePath = project_1.Session.checkFileAbsolutePath;
|
|
109
109
|
if (props.browserChecks?.testMatch) {
|
|
110
|
-
this.__addChecks(fileAbsolutePath, props.browserChecks.testMatch, constants_1.
|
|
110
|
+
this.__addChecks(fileAbsolutePath, props.browserChecks.testMatch, constants_1.CheckTypes.BROWSER);
|
|
111
111
|
}
|
|
112
112
|
this.multiStepChecks = props.multiStepChecks;
|
|
113
113
|
if (props.multiStepChecks?.testMatch) {
|
|
114
|
-
this.__addChecks(fileAbsolutePath, props.multiStepChecks.testMatch, constants_1.
|
|
114
|
+
this.__addChecks(fileAbsolutePath, props.multiStepChecks.testMatch, constants_1.CheckTypes.MULTI_STEP);
|
|
115
115
|
}
|
|
116
116
|
project_1.Session.registerConstruct(this);
|
|
117
117
|
this.__addSubscriptions();
|
|
@@ -149,6 +149,9 @@ class CheckGroupV1 extends construct_1.Construct {
|
|
|
149
149
|
diagnostics.add(new construct_diagnostics_1.DeprecatedPropertyDiagnostic('localTearDownScript', new Error(`Use the tearDownScript property directly in your ApiChecks instead.`)));
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* @param id - The numeric ID of the existing check group
|
|
154
|
+
*/
|
|
152
155
|
static fromId(id) {
|
|
153
156
|
return new check_group_ref_1.CheckGroupRef(`check-group-${id}`, id);
|
|
154
157
|
}
|
|
@@ -166,7 +169,7 @@ class CheckGroupV1 extends construct_1.Construct {
|
|
|
166
169
|
// the browserChecks props inherited from the group are applied in BrowserCheck.constructor()
|
|
167
170
|
};
|
|
168
171
|
const checkLogicalId = project_1.Session.relativePosixPath(filepath);
|
|
169
|
-
if (checkType === constants_1.
|
|
172
|
+
if (checkType === constants_1.CheckTypes.BROWSER) {
|
|
170
173
|
new browser_check_1.BrowserCheck(checkLogicalId, props);
|
|
171
174
|
}
|
|
172
175
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-group-v1.js","sourceRoot":"","sources":["../../src/constructs/check-group-v1.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,+BAA2B;AAc3B,mEAAqI;AACrI,
|
|
1
|
+
{"version":3,"file":"check-group-v1.js","sourceRoot":"","sources":["../../src/constructs/check-group-v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.isContent = exports.isEntrypoint = exports.Construct = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
8
10
|
const project_1 = require("./project");
|
|
9
11
|
const ref_1 = require("./ref");
|
|
10
12
|
/**
|
|
@@ -82,9 +84,11 @@ class Construct {
|
|
|
82
84
|
* @param diagnostics The Diagnostics instance that any issues should be added to.
|
|
83
85
|
* @returns A Promise that resolves when validation is complete.
|
|
84
86
|
*/
|
|
85
|
-
// eslint-disable-next-line
|
|
87
|
+
// eslint-disable-next-line require-await
|
|
86
88
|
async validate(diagnostics) {
|
|
87
|
-
|
|
89
|
+
if (!constants_1.LOGICAL_ID_PATTERN.test(this.logicalId)) {
|
|
90
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('logicalId', new Error(`"${this.logicalId}" contains invalid characters. Only A-Z, a-z, 0-9, _, -, /, #, and . are allowed.`)));
|
|
91
|
+
}
|
|
88
92
|
}
|
|
89
93
|
/**
|
|
90
94
|
* Bundles the Construct into a representation that can be synthesized. By
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct.js","sourceRoot":"","sources":["../../src/constructs/construct.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"construct.js","sourceRoot":"","sources":["../../src/constructs/construct.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,4CAAiD;AACjD,mEAAwE;AAExE,uCAAmC;AACnC,+BAA2B;AAkC3B;;;;;;GAMG;AACH,MAAsB,SAAS;IAC7B,2CAA2C;IAC3C,IAAI,CAAQ;IACZ,yDAAyD;IACzD,SAAS,CAAQ;IACjB,2DAA2D;IAC3D,UAAU,CAAkB;IAC5B,wDAAwD;IACxD,MAAM,CAAS;IACf,kEAAkE;IAClE,qBAAqB,CAAS;IAE9B;;;;;;;OAOG;IACH,YAAa,IAAY,EAAE,SAAiB,EAAE,UAA4B,EAAE,MAAgB;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAA;QAC5B,IAAI,CAAC,qBAAqB,GAAG,iBAAO,CAAC,qBAAqB,CAAA;QAC1D,iBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAOD;;;;OAIG;IACH,GAAG;QACD,OAAO,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAE,WAAmB;QACzC,IAAI,mBAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;QACnH,CAAC;QAED,OAAO,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;OAMG;IACH,yCAAyC;IACzC,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,IAAI,CAAC,8BAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,sDAA8B,CAChD,WAAW,EACX,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,mFAAmF,CAAC,CACjH,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,yCAAyC;IACzC,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAA;IACb,CAAC;CASF;AAhHD,8BAgHC;AAWD;;;;;GAKG;AACH,SAAgB,YAAY,CAAE,KAAU;IACtC,OAAO,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAFD,oCAEC;AAWD;;;;;GAKG;AACH,SAAgB,SAAS,CAAE,KAAU;IACnC,OAAO,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAFD,8BAEC"}
|
|
@@ -26,7 +26,7 @@ export declare class DnsAssertionBuilder {
|
|
|
26
26
|
* Creates an assertion builder for DNS response time.
|
|
27
27
|
* @returns A numeric assertion builder for response time in milliseconds.
|
|
28
28
|
*/
|
|
29
|
-
static responseTime(): NumericAssertionBuilder<DnsAssertionSource>;
|
|
29
|
+
static responseTime(): NumericAssertionBuilder<DnsAssertionSource, string>;
|
|
30
30
|
/**
|
|
31
31
|
* Creates an assertion builder for the answer in common plain text format.
|
|
32
32
|
* @param regex An optional regular expression with at least one capture
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.HeartbeatCheck = exports.HeartbeatMonitor = void 0;
|
|
7
4
|
const monitor_1 = require("./monitor");
|
|
8
5
|
const project_1 = require("./project");
|
|
9
6
|
const luxon_1 = require("luxon");
|
|
10
|
-
const constants_1 =
|
|
7
|
+
const constants_1 = require("../constants");
|
|
11
8
|
function _customPeriodGraceValidation(heartbeat) {
|
|
12
9
|
const now = luxon_1.DateTime.now();
|
|
13
10
|
const addedTimePeriod = now.plus({ [heartbeat.periodUnit]: heartbeat.period });
|
|
@@ -52,7 +49,7 @@ class HeartbeatMonitor extends monitor_1.Monitor {
|
|
|
52
49
|
synthesize() {
|
|
53
50
|
return {
|
|
54
51
|
...super.synthesize(),
|
|
55
|
-
checkType: constants_1.
|
|
52
|
+
checkType: constants_1.CheckTypes.HEARTBEAT,
|
|
56
53
|
heartbeat: this.heartbeat,
|
|
57
54
|
};
|
|
58
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../../src/constructs/heartbeat-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../../src/constructs/heartbeat-monitor.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AACjD,uCAAmC;AACnC,iCAAgC;AAChC,4CAAyC;AA8BzC,SAAS,4BAA4B,CAAE,SAAoB;IACzD,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAE7E,MAAM,qBAAqB,GAAG,GAAG,CAAA;IACjC,MAAM,kBAAkB,GAAG,EAAE,CAAA;IAE7B,IACE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB;WAC3D,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,GAAG,kBAAkB,EACpE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,iBAAO;IAC3C,SAAS,CAAW;IAEpB;;;;;;OAMG;IACH,YAAa,SAAiB,EAAE,KAA4B;QAC1D,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,4BAA4B,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAA;QAED,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7C,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,sBAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;IACH,CAAC;CACF;AApCD,4CAoCC;AAKqB,0CAAc"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.valueForIcmpAssertion = void 0;
|
|
4
|
+
const assertion_codegen_1 = require("./internal/assertion-codegen");
|
|
5
|
+
function valueForIcmpAssertion(genfile, assertion) {
|
|
6
|
+
genfile.namedImport('IcmpAssertionBuilder', 'checkly/constructs');
|
|
7
|
+
switch (assertion.source) {
|
|
8
|
+
case 'LATENCY':
|
|
9
|
+
return (0, assertion_codegen_1.valueForNumericAssertion)('IcmpAssertionBuilder', 'latency', assertion, {
|
|
10
|
+
hasProperty: true,
|
|
11
|
+
});
|
|
12
|
+
case 'JSON_RESPONSE':
|
|
13
|
+
return (0, assertion_codegen_1.valueForGeneralAssertion)('IcmpAssertionBuilder', 'jsonResponse', assertion, {
|
|
14
|
+
hasProperty: true,
|
|
15
|
+
hasRegex: false,
|
|
16
|
+
});
|
|
17
|
+
default:
|
|
18
|
+
throw new Error(`Unsupported ICMP assertion source ${assertion.source}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.valueForIcmpAssertion = valueForIcmpAssertion;
|
|
22
|
+
//# sourceMappingURL=icmp-assertion-codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icmp-assertion-codegen.js","sourceRoot":"","sources":["../../src/constructs/icmp-assertion-codegen.ts"],"names":[],"mappings":";;;AACA,oEAAiG;AAGjG,SAAgB,qBAAqB,CAAE,OAAsB,EAAE,SAAwB;IACrF,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;IAEjE,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,IAAA,4CAAwB,EAAC,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE;gBAC5E,WAAW,EAAE,IAAI;aAClB,CAAC,CAAA;QACJ,KAAK,eAAe;YAClB,OAAO,IAAA,4CAAwB,EAAC,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE;gBACjF,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC;AAhBD,sDAgBC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Assertion as CoreAssertion, NumericAssertionBuilder, GeneralAssertionBuilder } from './internal/assertion';
|
|
2
|
+
type IcmpAssertionSource = 'LATENCY' | 'JSON_RESPONSE';
|
|
3
|
+
export type IcmpAssertion = CoreAssertion<IcmpAssertionSource>;
|
|
4
|
+
export type IcmpLatencyProperty = 'avg' | 'min' | 'max' | 'stdDev';
|
|
5
|
+
/**
|
|
6
|
+
* Builder class for creating ICMP monitor assertions.
|
|
7
|
+
* Provides methods to create assertions for ICMP ping responses.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Latency assertions
|
|
12
|
+
* IcmpAssertionBuilder.latency('avg').lessThan(100)
|
|
13
|
+
* IcmpAssertionBuilder.latency('max').lessThan(200)
|
|
14
|
+
* IcmpAssertionBuilder.latency('stdDev').lessThan(50)
|
|
15
|
+
*
|
|
16
|
+
* // JSON response assertions
|
|
17
|
+
* IcmpAssertionBuilder.jsonResponse('$.packetLoss').lessThan(10)
|
|
18
|
+
* IcmpAssertionBuilder.jsonResponse('$.packetsReceived').greaterThan(8)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class IcmpAssertionBuilder {
|
|
22
|
+
/**
|
|
23
|
+
* Creates an assertion builder for ICMP latency metrics.
|
|
24
|
+
* @param property The latency property to assert against:
|
|
25
|
+
* - `avg`: Average round-trip time in milliseconds
|
|
26
|
+
* - `min`: Minimum round-trip time in milliseconds
|
|
27
|
+
* - `max`: Maximum round-trip time in milliseconds
|
|
28
|
+
* - `stdDev`: Standard deviation of round-trip times
|
|
29
|
+
* @returns A numeric assertion builder for the specified latency metric.
|
|
30
|
+
*/
|
|
31
|
+
static latency(property: IcmpLatencyProperty): NumericAssertionBuilder<IcmpAssertionSource, IcmpLatencyProperty>;
|
|
32
|
+
/**
|
|
33
|
+
* Creates an assertion builder for the JSON formatted response.
|
|
34
|
+
* Use JSONPath expressions to access specific response fields.
|
|
35
|
+
*
|
|
36
|
+
* Available fields include:
|
|
37
|
+
* - `$.hostname`: The target host that was pinged
|
|
38
|
+
* - `$.resolvedIp`: The resolved IP address (if host was a domain name)
|
|
39
|
+
* - `$.ipFamily`: IP family used ('IPv4' or 'IPv6')
|
|
40
|
+
* - `$.pingCount`: Number of pings configured
|
|
41
|
+
* - `$.packetsSent`: Number of ICMP echo requests sent
|
|
42
|
+
* - `$.packetsReceived`: Number of ICMP echo replies received
|
|
43
|
+
* - `$.packetLoss`: Percentage of packets lost (0-100)
|
|
44
|
+
* - `$.latency.avg`: Average round-trip time in milliseconds
|
|
45
|
+
* - `$.latency.min`: Minimum round-trip time in milliseconds
|
|
46
|
+
* - `$.latency.max`: Maximum round-trip time in milliseconds
|
|
47
|
+
* - `$.latency.stdDev`: Standard deviation of round-trip times
|
|
48
|
+
* - `$.pingResults[*].rtt`: Round-trip time for each ping
|
|
49
|
+
* - `$.pingResults[*].ttl`: Time-to-live for each ping
|
|
50
|
+
*
|
|
51
|
+
* @param property Optional JSONPath to specific property (e.g., '$.packetLoss')
|
|
52
|
+
* @returns A general assertion builder for the JSON formatted response.
|
|
53
|
+
*/
|
|
54
|
+
static jsonResponse(property?: string): GeneralAssertionBuilder<IcmpAssertionSource>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IcmpAssertionBuilder = void 0;
|
|
4
|
+
const assertion_1 = require("./internal/assertion");
|
|
5
|
+
/**
|
|
6
|
+
* Builder class for creating ICMP monitor assertions.
|
|
7
|
+
* Provides methods to create assertions for ICMP ping responses.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Latency assertions
|
|
12
|
+
* IcmpAssertionBuilder.latency('avg').lessThan(100)
|
|
13
|
+
* IcmpAssertionBuilder.latency('max').lessThan(200)
|
|
14
|
+
* IcmpAssertionBuilder.latency('stdDev').lessThan(50)
|
|
15
|
+
*
|
|
16
|
+
* // JSON response assertions
|
|
17
|
+
* IcmpAssertionBuilder.jsonResponse('$.packetLoss').lessThan(10)
|
|
18
|
+
* IcmpAssertionBuilder.jsonResponse('$.packetsReceived').greaterThan(8)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
class IcmpAssertionBuilder {
|
|
22
|
+
/**
|
|
23
|
+
* Creates an assertion builder for ICMP latency metrics.
|
|
24
|
+
* @param property The latency property to assert against:
|
|
25
|
+
* - `avg`: Average round-trip time in milliseconds
|
|
26
|
+
* - `min`: Minimum round-trip time in milliseconds
|
|
27
|
+
* - `max`: Maximum round-trip time in milliseconds
|
|
28
|
+
* - `stdDev`: Standard deviation of round-trip times
|
|
29
|
+
* @returns A numeric assertion builder for the specified latency metric.
|
|
30
|
+
*/
|
|
31
|
+
static latency(property) {
|
|
32
|
+
return new assertion_1.NumericAssertionBuilder('LATENCY', property);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates an assertion builder for the JSON formatted response.
|
|
36
|
+
* Use JSONPath expressions to access specific response fields.
|
|
37
|
+
*
|
|
38
|
+
* Available fields include:
|
|
39
|
+
* - `$.hostname`: The target host that was pinged
|
|
40
|
+
* - `$.resolvedIp`: The resolved IP address (if host was a domain name)
|
|
41
|
+
* - `$.ipFamily`: IP family used ('IPv4' or 'IPv6')
|
|
42
|
+
* - `$.pingCount`: Number of pings configured
|
|
43
|
+
* - `$.packetsSent`: Number of ICMP echo requests sent
|
|
44
|
+
* - `$.packetsReceived`: Number of ICMP echo replies received
|
|
45
|
+
* - `$.packetLoss`: Percentage of packets lost (0-100)
|
|
46
|
+
* - `$.latency.avg`: Average round-trip time in milliseconds
|
|
47
|
+
* - `$.latency.min`: Minimum round-trip time in milliseconds
|
|
48
|
+
* - `$.latency.max`: Maximum round-trip time in milliseconds
|
|
49
|
+
* - `$.latency.stdDev`: Standard deviation of round-trip times
|
|
50
|
+
* - `$.pingResults[*].rtt`: Round-trip time for each ping
|
|
51
|
+
* - `$.pingResults[*].ttl`: Time-to-live for each ping
|
|
52
|
+
*
|
|
53
|
+
* @param property Optional JSONPath to specific property (e.g., '$.packetLoss')
|
|
54
|
+
* @returns A general assertion builder for the JSON formatted response.
|
|
55
|
+
*/
|
|
56
|
+
static jsonResponse(property) {
|
|
57
|
+
return new assertion_1.GeneralAssertionBuilder('JSON_RESPONSE', property);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.IcmpAssertionBuilder = IcmpAssertionBuilder;
|
|
61
|
+
//# sourceMappingURL=icmp-assertion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icmp-assertion.js","sourceRoot":"","sources":["../../src/constructs/icmp-assertion.ts"],"names":[],"mappings":";;;AAAA,oDAAmH;AAUnH;;;;;;;;;;;;;;;GAeG;AACH,MAAa,oBAAoB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAE,QAA6B;QAC3C,OAAO,IAAI,mCAAuB,CAA2C,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,YAAY,CAAE,QAAiB;QACpC,OAAO,IAAI,mCAAuB,CAAsB,eAAe,EAAE,QAAQ,CAAC,CAAA;IACpF,CAAC;CACF;AAvCD,oDAuCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Codegen, Context } from './internal/codegen';
|
|
2
|
+
import { MonitorResource } from './monitor-codegen';
|
|
3
|
+
import { IcmpRequest } from './icmp-request';
|
|
4
|
+
export interface IcmpMonitorResource extends MonitorResource {
|
|
5
|
+
checkType: 'ICMP';
|
|
6
|
+
request: IcmpRequest;
|
|
7
|
+
degradedPacketLossThreshold?: number;
|
|
8
|
+
maxPacketLossThreshold?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class IcmpMonitorCodegen extends Codegen<IcmpMonitorResource> {
|
|
11
|
+
describe(resource: IcmpMonitorResource): string;
|
|
12
|
+
gencode(logicalId: string, resource: IcmpMonitorResource, context: Context): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IcmpMonitorCodegen = void 0;
|
|
4
|
+
const codegen_1 = require("./internal/codegen");
|
|
5
|
+
const sourcegen_1 = require("../sourcegen");
|
|
6
|
+
const monitor_codegen_1 = require("./monitor-codegen");
|
|
7
|
+
const icmp_request_codegen_1 = require("./icmp-request-codegen");
|
|
8
|
+
const construct = 'IcmpMonitor';
|
|
9
|
+
class IcmpMonitorCodegen extends codegen_1.Codegen {
|
|
10
|
+
describe(resource) {
|
|
11
|
+
return `ICMP Monitor: ${resource.name}`;
|
|
12
|
+
}
|
|
13
|
+
gencode(logicalId, resource, context) {
|
|
14
|
+
const filePath = context.filePath('resources/icmp-monitors', resource.name, {
|
|
15
|
+
tags: resource.tags,
|
|
16
|
+
unique: true,
|
|
17
|
+
});
|
|
18
|
+
const file = this.program.generatedConstructFile(filePath.fullPath);
|
|
19
|
+
file.namedImport(construct, 'checkly/constructs');
|
|
20
|
+
file.section((0, sourcegen_1.expr)((0, sourcegen_1.ident)(construct), builder => {
|
|
21
|
+
builder.new(builder => {
|
|
22
|
+
builder.string(logicalId);
|
|
23
|
+
builder.object(builder => {
|
|
24
|
+
builder.value('request', (0, icmp_request_codegen_1.valueForIcmpRequest)(this.program, file, context, resource.request));
|
|
25
|
+
if (resource.degradedPacketLossThreshold !== undefined) {
|
|
26
|
+
builder.number('degradedPacketLossThreshold', resource.degradedPacketLossThreshold);
|
|
27
|
+
}
|
|
28
|
+
if (resource.maxPacketLossThreshold !== undefined) {
|
|
29
|
+
builder.number('maxPacketLossThreshold', resource.maxPacketLossThreshold);
|
|
30
|
+
}
|
|
31
|
+
(0, monitor_codegen_1.buildMonitorProps)(this.program, file, builder, resource, context);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.IcmpMonitorCodegen = IcmpMonitorCodegen;
|
|
38
|
+
//# sourceMappingURL=icmp-monitor-codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icmp-monitor-codegen.js","sourceRoot":"","sources":["../../src/constructs/icmp-monitor-codegen.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,4CAA0C;AAC1C,uDAAsE;AAEtE,iEAA4D;AAS5D,MAAM,SAAS,GAAG,aAAa,CAAA;AAE/B,MAAa,kBAAmB,SAAQ,iBAA4B;IAClE,QAAQ,CAAE,QAA6B;QACrC,OAAO,iBAAiB,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,OAAO,CAAE,SAAiB,EAAE,QAA6B,EAAE,OAAgB;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,yBAAyB,EAAE,QAAQ,CAAC,IAAI,EAAE;YAC1E,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEnE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;QAEjD,IAAI,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACvB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAA,0CAAmB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBAE5F,IAAI,QAAQ,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;wBACvD,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAA;oBACrF,CAAC;oBAED,IAAI,QAAQ,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;wBAClD,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAA;oBAC3E,CAAC;oBAED,IAAA,mCAAiB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACnE,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;CACF;AAlCD,gDAkCC"}
|