checkly 6.8.2 → 6.9.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/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/construct-diagnostics.d.ts +4 -0
- package/dist/constructs/construct-diagnostics.js +15 -1
- package/dist/constructs/construct-diagnostics.js.map +1 -1
- package/dist/constructs/dns-assertion-codegen.d.ts +3 -0
- package/dist/constructs/dns-assertion-codegen.js +30 -0
- package/dist/constructs/dns-assertion-codegen.js.map +1 -0
- package/dist/constructs/dns-assertion.d.ts +45 -0
- package/dist/constructs/dns-assertion.js +55 -0
- package/dist/constructs/dns-assertion.js.map +1 -0
- package/dist/constructs/dns-monitor-codegen.d.ts +13 -0
- package/dist/constructs/dns-monitor-codegen.js +38 -0
- package/dist/constructs/dns-monitor-codegen.js.map +1 -0
- package/dist/constructs/dns-monitor.d.ts +86 -0
- package/dist/constructs/dns-monitor.js +59 -0
- package/dist/constructs/dns-monitor.js.map +1 -0
- package/dist/constructs/dns-request-codegen.d.ts +4 -0
- package/dist/constructs/dns-request-codegen.js +32 -0
- package/dist/constructs/dns-request-codegen.js.map +1 -0
- package/dist/constructs/dns-request.d.ts +53 -0
- package/dist/constructs/dns-request.js +3 -0
- package/dist/constructs/dns-request.js.map +1 -0
- 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 +5 -1
- package/dist/constructs/internal/assertion-codegen.js +7 -2
- package/dist/constructs/internal/assertion-codegen.js.map +1 -1
- package/dist/constructs/internal/common-diagnostics.d.ts +1 -0
- package/dist/constructs/internal/common-diagnostics.js +5 -1
- package/dist/constructs/internal/common-diagnostics.js.map +1 -1
- package/dist/constructs/monitor.js +1 -1
- package/dist/constructs/monitor.js.map +1 -1
- package/dist/loader/config.d.ts +3 -0
- package/dist/loader/config.js +13 -0
- package/dist/loader/config.js.map +1 -0
- package/dist/loader/jiti.d.ts +1 -0
- package/dist/loader/jiti.js +3 -0
- package/dist/loader/jiti.js.map +1 -1
- package/dist/loader/loader.d.ts +14 -0
- package/dist/loader/loader.js +10 -0
- package/dist/loader/loader.js.map +1 -1
- package/dist/loader/mixed.js +1 -1
- package/dist/loader/mixed.js.map +1 -1
- package/dist/loader/ts-node.d.ts +1 -0
- package/dist/loader/ts-node.js +3 -0
- package/dist/loader/ts-node.js.map +1 -1
- package/dist/reporters/util.js +72 -1
- package/dist/reporters/util.js.map +1 -1
- package/dist/rules/checkly.rules.md +41 -0
- package/dist/services/util.js +34 -9
- package/dist/services/util.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -11,6 +11,7 @@ import { MultiStepCheckCodegen } from './multi-step-check-codegen';
|
|
|
11
11
|
import { RetryStrategyResource } from './retry-strategy-codegen';
|
|
12
12
|
import { TcpMonitorCodegen } from './tcp-monitor-codegen';
|
|
13
13
|
import { UrlMonitorCodegen } from './url-monitor-codegen';
|
|
14
|
+
import { DnsMonitorCodegen } from './dns-monitor-codegen';
|
|
14
15
|
export interface CheckResource {
|
|
15
16
|
id: string;
|
|
16
17
|
checkType: string;
|
|
@@ -42,6 +43,7 @@ export declare class CheckCodegen extends Codegen<CheckResource> {
|
|
|
42
43
|
multiStepCheckCodegen: MultiStepCheckCodegen;
|
|
43
44
|
tcpMonitorCodegen: TcpMonitorCodegen;
|
|
44
45
|
urlMonitorCodegen: UrlMonitorCodegen;
|
|
46
|
+
dnsMonitorCodegen: DnsMonitorCodegen;
|
|
45
47
|
constructor(program: Program);
|
|
46
48
|
describe(resource: CheckResource): string;
|
|
47
49
|
gencode(logicalId: string, resource: CheckResource, context: Context): void;
|
|
@@ -15,6 +15,7 @@ const tcp_monitor_codegen_1 = require("./tcp-monitor-codegen");
|
|
|
15
15
|
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
|
+
const dns_monitor_codegen_1 = require("./dns-monitor-codegen");
|
|
18
19
|
function buildCheckProps(program, genfile, builder, resource, context) {
|
|
19
20
|
builder.string('name', resource.name, { order: -1000 });
|
|
20
21
|
if (resource.activated !== undefined) {
|
|
@@ -169,6 +170,7 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
169
170
|
multiStepCheckCodegen;
|
|
170
171
|
tcpMonitorCodegen;
|
|
171
172
|
urlMonitorCodegen;
|
|
173
|
+
dnsMonitorCodegen;
|
|
172
174
|
constructor(program) {
|
|
173
175
|
super(program);
|
|
174
176
|
this.apiCheckCodegen = new api_check_codegen_1.ApiCheckCodegen(program);
|
|
@@ -178,6 +180,7 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
178
180
|
this.multiStepCheckCodegen = new multi_step_check_codegen_1.MultiStepCheckCodegen(program);
|
|
179
181
|
this.tcpMonitorCodegen = new tcp_monitor_codegen_1.TcpMonitorCodegen(program);
|
|
180
182
|
this.urlMonitorCodegen = new url_monitor_codegen_1.UrlMonitorCodegen(program);
|
|
183
|
+
this.dnsMonitorCodegen = new dns_monitor_codegen_1.DnsMonitorCodegen(program);
|
|
181
184
|
}
|
|
182
185
|
describe(resource) {
|
|
183
186
|
const { checkType } = resource;
|
|
@@ -194,6 +197,8 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
194
197
|
return this.heartbeatMonitorCodegen.describe(resource);
|
|
195
198
|
case 'URL':
|
|
196
199
|
return this.urlMonitorCodegen.describe(resource);
|
|
200
|
+
case 'DNS':
|
|
201
|
+
return this.dnsMonitorCodegen.describe(resource);
|
|
197
202
|
default:
|
|
198
203
|
throw new Error(`Unable to describe unsupported check type '${checkType}'.`);
|
|
199
204
|
}
|
|
@@ -219,6 +224,9 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
219
224
|
case 'URL':
|
|
220
225
|
this.urlMonitorCodegen.gencode(logicalId, resource, context);
|
|
221
226
|
return;
|
|
227
|
+
case 'DNS':
|
|
228
|
+
this.dnsMonitorCodegen.gencode(logicalId, resource, context);
|
|
229
|
+
return;
|
|
222
230
|
default:
|
|
223
231
|
throw new Error(`Unable to generate code for unsupported check type '${checkType}'.`);
|
|
224
232
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"check-codegen.js","sourceRoot":"","sources":["../../src/constructs/check-codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ export declare class InvalidPropertyValueDiagnostic extends ErrorDiagnostic {
|
|
|
4
4
|
property: string;
|
|
5
5
|
constructor(property: string, error: Error);
|
|
6
6
|
}
|
|
7
|
+
export declare class RequiredPropertyDiagnostic extends ErrorDiagnostic {
|
|
8
|
+
property: string;
|
|
9
|
+
constructor(property: string, error: Error);
|
|
10
|
+
}
|
|
7
11
|
export declare class ConflictingPropertyDiagnostic extends ErrorDiagnostic {
|
|
8
12
|
property1: string;
|
|
9
13
|
property2: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConstructDiagnostics = exports.ConstructDiagnostic = exports.UnsupportedRuntimeFeatureDiagnostic = exports.DeprecatedConstructDiagnostic = exports.UnsupportedPropertyDiagnostic = exports.RemovedPropertyDiagnostic = exports.DeprecatedPropertyDiagnostic = exports.ConflictingPropertyDiagnostic = exports.InvalidPropertyValueDiagnostic = void 0;
|
|
3
|
+
exports.ConstructDiagnostics = exports.ConstructDiagnostic = exports.UnsupportedRuntimeFeatureDiagnostic = exports.DeprecatedConstructDiagnostic = exports.UnsupportedPropertyDiagnostic = exports.RemovedPropertyDiagnostic = exports.DeprecatedPropertyDiagnostic = exports.ConflictingPropertyDiagnostic = exports.RequiredPropertyDiagnostic = exports.InvalidPropertyValueDiagnostic = void 0;
|
|
4
4
|
const diagnostics_1 = require("./diagnostics");
|
|
5
5
|
class InvalidPropertyValueDiagnostic extends diagnostics_1.ErrorDiagnostic {
|
|
6
6
|
property;
|
|
@@ -16,6 +16,20 @@ class InvalidPropertyValueDiagnostic extends diagnostics_1.ErrorDiagnostic {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.InvalidPropertyValueDiagnostic = InvalidPropertyValueDiagnostic;
|
|
19
|
+
class RequiredPropertyDiagnostic extends diagnostics_1.ErrorDiagnostic {
|
|
20
|
+
property;
|
|
21
|
+
constructor(property, error) {
|
|
22
|
+
super({
|
|
23
|
+
title: `Missing required property`,
|
|
24
|
+
message: `Property "${property}" is required and must be set.`
|
|
25
|
+
+ `\n\n`
|
|
26
|
+
+ `Reason: ${error.message}`,
|
|
27
|
+
error,
|
|
28
|
+
});
|
|
29
|
+
this.property = property;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.RequiredPropertyDiagnostic = RequiredPropertyDiagnostic;
|
|
19
33
|
class ConflictingPropertyDiagnostic extends diagnostics_1.ErrorDiagnostic {
|
|
20
34
|
property1;
|
|
21
35
|
property2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-diagnostics.js","sourceRoot":"","sources":["../../src/constructs/construct-diagnostics.ts"],"names":[],"mappings":";;;AACA,+CAA2F;AAE3F,MAAa,8BAA+B,SAAQ,6BAAe;IACjE,QAAQ,CAAQ;IAEhB,YAAa,QAAgB,EAAE,KAAY;QACzC,KAAK,CAAC;YACJ,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EACL,oCAAoC,QAAQ,iBAAiB;kBAC3D,MAAM;kBACN,WAAW,KAAK,CAAC,OAAO,EAAE;YAC9B,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAfD,wEAeC;AAED,MAAa,6BAA8B,SAAQ,6BAAe;IAChE,SAAS,CAAQ;IACjB,SAAS,CAAQ;IAEjB,YAAa,SAAiB,EAAE,SAAiB,EAAE,KAAY;QAC7D,KAAK,CAAC;YACJ,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EACL,aAAa,SAAS,yBAAyB,SAAS,WAAW;kBACjE,MAAM;kBACN,SAAS,KAAK,CAAC,OAAO,EAAE;YAC5B,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAjBD,sEAiBC;AAED,MAAa,4BAA6B,SAAQ,+BAAiB;IACjE,QAAQ,CAAQ;IAEhB,YAAa,QAAgB,EAAE,KAAY;QACzC,KAAK,CAAC;YACJ,KAAK,EAAE,4BAA4B;YACnC,OAAO,EACL,aAAa,QAAQ,iDAAiD;kBACpE,MAAM;kBACN,SAAS,KAAK,CAAC,OAAO,EAAE;SAC7B,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAdD,oEAcC;AAED,MAAa,yBAA0B,SAAQ,6BAAe;IAC5D,QAAQ,CAAQ;IAEhB,YAAa,QAAgB,EAAE,KAAY;QACzC,KAAK,CAAC;YACJ,KAAK,EAAE,yBAAyB;YAChC,OAAO,EACL,aAAa,QAAQ,qBAAqB;kBACxC,MAAM;kBACN,SAAS,KAAK,CAAC,OAAO,EAAE;YAC5B,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAfD,8DAeC;AAED,MAAa,6BAA8B,SAAQ,6BAAe;IAChE,QAAQ,CAAQ;IAEhB,YAAa,QAAgB,EAAE,KAAY;QACzC,KAAK,CAAC;YACJ,KAAK,EAAE,6BAA6B;YACpC,OAAO,EACL,aAAa,QAAQ,qBAAqB;kBACxC,MAAM;kBACN,WAAW,KAAK,CAAC,OAAO,EAAE;YAC9B,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAfD,sEAeC;AAED,MAAa,6BAA8B,SAAQ,+BAAiB;IAClE,SAAS,CAAQ;IAEjB,YAAa,SAAiB,EAAE,KAAY;QAC1C,KAAK,CAAC;YACJ,KAAK,EAAE,6BAA6B;YACpC,OAAO,EACL,cAAc,SAAS,iDAAiD;kBACtE,MAAM;kBACN,SAAS,KAAK,CAAC,OAAO,EAAE;SAC7B,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAdD,sEAcC;AAED,MAAa,mCAAoC,SAAQ,6BAAe;IACtE,SAAS,CAAQ;IAEjB,YAAa,SAAiB,EAAE,KAAY;QAC1C,KAAK,CAAC;YACJ,KAAK,EAAE,oCAAoC;YAC3C,OAAO,EACL,YAAY,SAAS,2CAA2C;kBAC9D,MAAM;kBACN,oBAAoB,KAAK,CAAC,OAAO,EAAE;YACvC,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAfD,kFAeC;AAED,MAAa,mBAAoB,SAAQ,wBAAU;IACjD,UAAU,CAAY;IAEtB,YAAa,SAAoB,EAAE,UAAsB;QACvD,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,KAAK,EAAE;YACtD,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;IACnC,CAAC;CACF;AAnBD,kDAmBC;AAED,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,SAAS,CAAW;IAEpB,YAAa,SAAoB;QAC/B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,GAAG,CAAE,UAAsB;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAChE,CAAC;CACF;AAXD,oDAWC"}
|
|
1
|
+
{"version":3,"file":"construct-diagnostics.js","sourceRoot":"","sources":["../../src/constructs/construct-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.valueForDnsAssertion = void 0;
|
|
4
|
+
const assertion_codegen_1 = require("./internal/assertion-codegen");
|
|
5
|
+
function valueForDnsAssertion(genfile, assertion) {
|
|
6
|
+
genfile.namedImport('DnsAssertionBuilder', 'checkly/constructs');
|
|
7
|
+
switch (assertion.source) {
|
|
8
|
+
case 'RESPONSE_CODE':
|
|
9
|
+
return (0, assertion_codegen_1.valueForGeneralAssertion)('DnsAssertionBuilder', 'responseCode', assertion, {
|
|
10
|
+
hasProperty: false,
|
|
11
|
+
hasRegex: false,
|
|
12
|
+
});
|
|
13
|
+
case 'RESPONSE_TIME':
|
|
14
|
+
return (0, assertion_codegen_1.valueForNumericAssertion)('DnsAssertionBuilder', 'responseTime', assertion);
|
|
15
|
+
case 'TEXT_ANSWER':
|
|
16
|
+
return (0, assertion_codegen_1.valueForGeneralAssertion)('DnsAssertionBuilder', 'textAnswer', assertion, {
|
|
17
|
+
hasProperty: true,
|
|
18
|
+
hasRegex: false,
|
|
19
|
+
});
|
|
20
|
+
case 'JSON_ANSWER':
|
|
21
|
+
return (0, assertion_codegen_1.valueForGeneralAssertion)('DnsAssertionBuilder', 'jsonAnswer', assertion, {
|
|
22
|
+
hasProperty: true,
|
|
23
|
+
hasRegex: false,
|
|
24
|
+
});
|
|
25
|
+
default:
|
|
26
|
+
throw new Error(`Unsupported DNS assertion source ${assertion.source}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.valueForDnsAssertion = valueForDnsAssertion;
|
|
30
|
+
//# sourceMappingURL=dns-assertion-codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-assertion-codegen.js","sourceRoot":"","sources":["../../src/constructs/dns-assertion-codegen.ts"],"names":[],"mappings":";;;AACA,oEAAiG;AAGjG,SAAgB,oBAAoB,CAAE,OAAsB,EAAE,SAAuB;IACnF,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAA;IAEhE,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,eAAe;YAClB,OAAO,IAAA,4CAAwB,EAAC,qBAAqB,EAAE,cAAc,EAAE,SAAS,EAAE;gBAChF,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ,KAAK,eAAe;YAClB,OAAO,IAAA,4CAAwB,EAAC,qBAAqB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;QACnF,KAAK,aAAa;YAChB,OAAO,IAAA,4CAAwB,EAAC,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE;gBAC9E,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ,KAAK,aAAa;YAChB,OAAO,IAAA,4CAAwB,EAAC,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE;gBAC9E,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAxBD,oDAwBC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Assertion as CoreAssertion, NumericAssertionBuilder, GeneralAssertionBuilder } from './internal/assertion';
|
|
2
|
+
type DnsAssertionSource = 'RESPONSE_CODE' | 'RESPONSE_TIME' | 'TEXT_ANSWER' | 'JSON_ANSWER';
|
|
3
|
+
export type DnsAssertion = CoreAssertion<DnsAssertionSource>;
|
|
4
|
+
/**
|
|
5
|
+
* Builder class for creating DNS monitor assertions.
|
|
6
|
+
* Provides methods to create assertions for DNS query responses.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Response time assertions
|
|
11
|
+
* DnsAssertionBuilder.responseTime().lessThan(1000)
|
|
12
|
+
* DnsAssertionBuilder.responseTime().greaterThan(100)
|
|
13
|
+
*
|
|
14
|
+
* // Response code assertions
|
|
15
|
+
* DnsAssertionBuilder.responseCode().equals('NOERROR')
|
|
16
|
+
* DnsAssertionBuilder.responseCode().equals('NXDOMAIN')
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class DnsAssertionBuilder {
|
|
20
|
+
/**
|
|
21
|
+
* Creates an assertion builder for DNS response codes.
|
|
22
|
+
* @returns A general assertion builder for the response code.
|
|
23
|
+
*/
|
|
24
|
+
static responseCode(): GeneralAssertionBuilder<DnsAssertionSource>;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an assertion builder for DNS response time.
|
|
27
|
+
* @returns A numeric assertion builder for response time in milliseconds.
|
|
28
|
+
*/
|
|
29
|
+
static responseTime(): NumericAssertionBuilder<DnsAssertionSource>;
|
|
30
|
+
/**
|
|
31
|
+
* Creates an assertion builder for the answer in common plain text format.
|
|
32
|
+
* @param regex An optional regular expression with at least one capture
|
|
33
|
+
* group. If set, assertion operators will apply against the value of the
|
|
34
|
+
* first capture group instead of the entire answer.
|
|
35
|
+
* @returns A general assertion builder for the answer.
|
|
36
|
+
*/
|
|
37
|
+
static textAnswer(regex?: string): GeneralAssertionBuilder<DnsAssertionSource>;
|
|
38
|
+
/**
|
|
39
|
+
* Creates an assertion builder for the JSON formatted answer.
|
|
40
|
+
* @param property Optional JSON path to specific property (e.g., '$.Answer[0].data')
|
|
41
|
+
* @returns A general assertion builder for the JSON formatted answer.
|
|
42
|
+
*/
|
|
43
|
+
static jsonAnswer(property?: string): GeneralAssertionBuilder<DnsAssertionSource>;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DnsAssertionBuilder = void 0;
|
|
4
|
+
const assertion_1 = require("./internal/assertion");
|
|
5
|
+
/**
|
|
6
|
+
* Builder class for creating DNS monitor assertions.
|
|
7
|
+
* Provides methods to create assertions for DNS query responses.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Response time assertions
|
|
12
|
+
* DnsAssertionBuilder.responseTime().lessThan(1000)
|
|
13
|
+
* DnsAssertionBuilder.responseTime().greaterThan(100)
|
|
14
|
+
*
|
|
15
|
+
* // Response code assertions
|
|
16
|
+
* DnsAssertionBuilder.responseCode().equals('NOERROR')
|
|
17
|
+
* DnsAssertionBuilder.responseCode().equals('NXDOMAIN')
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
class DnsAssertionBuilder {
|
|
21
|
+
/**
|
|
22
|
+
* Creates an assertion builder for DNS response codes.
|
|
23
|
+
* @returns A general assertion builder for the response code.
|
|
24
|
+
*/
|
|
25
|
+
static responseCode() {
|
|
26
|
+
return new assertion_1.GeneralAssertionBuilder('RESPONSE_CODE');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates an assertion builder for DNS response time.
|
|
30
|
+
* @returns A numeric assertion builder for response time in milliseconds.
|
|
31
|
+
*/
|
|
32
|
+
static responseTime() {
|
|
33
|
+
return new assertion_1.NumericAssertionBuilder('RESPONSE_TIME');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates an assertion builder for the answer in common plain text format.
|
|
37
|
+
* @param regex An optional regular expression with at least one capture
|
|
38
|
+
* group. If set, assertion operators will apply against the value of the
|
|
39
|
+
* first capture group instead of the entire answer.
|
|
40
|
+
* @returns A general assertion builder for the answer.
|
|
41
|
+
*/
|
|
42
|
+
static textAnswer(regex) {
|
|
43
|
+
return new assertion_1.GeneralAssertionBuilder('TEXT_ANSWER', regex);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates an assertion builder for the JSON formatted answer.
|
|
47
|
+
* @param property Optional JSON path to specific property (e.g., '$.Answer[0].data')
|
|
48
|
+
* @returns A general assertion builder for the JSON formatted answer.
|
|
49
|
+
*/
|
|
50
|
+
static jsonAnswer(property) {
|
|
51
|
+
return new assertion_1.GeneralAssertionBuilder('JSON_ANSWER', property);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.DnsAssertionBuilder = DnsAssertionBuilder;
|
|
55
|
+
//# sourceMappingURL=dns-assertion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-assertion.js","sourceRoot":"","sources":["../../src/constructs/dns-assertion.ts"],"names":[],"mappings":";;;AAAA,oDAAmH;AAUnH;;;;;;;;;;;;;;GAcG;AACH,MAAa,mBAAmB;IAC9B;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,mCAAuB,CAAqB,eAAe,CAAC,CAAA;IACzE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,mCAAuB,CAAqB,eAAe,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,KAAc;QAC/B,OAAO,IAAI,mCAAuB,CAAqB,aAAa,EAAE,KAAK,CAAC,CAAA;IAC9E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,QAAiB;QAClC,OAAO,IAAI,mCAAuB,CAAqB,aAAa,EAAE,QAAQ,CAAC,CAAA;IACjF,CAAC;CACF;AApCD,kDAoCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Codegen, Context } from './internal/codegen';
|
|
2
|
+
import { MonitorResource } from './monitor-codegen';
|
|
3
|
+
import { DnsRequest } from './dns-request';
|
|
4
|
+
export interface DnsMonitorResource extends MonitorResource {
|
|
5
|
+
checkType: 'DNS';
|
|
6
|
+
request: DnsRequest;
|
|
7
|
+
degradedResponseTime?: number;
|
|
8
|
+
maxResponseTime?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class DnsMonitorCodegen extends Codegen<DnsMonitorResource> {
|
|
11
|
+
describe(resource: DnsMonitorResource): string;
|
|
12
|
+
gencode(logicalId: string, resource: DnsMonitorResource, context: Context): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DnsMonitorCodegen = 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 dns_request_codegen_1 = require("./dns-request-codegen");
|
|
8
|
+
const construct = 'DnsMonitor';
|
|
9
|
+
class DnsMonitorCodegen extends codegen_1.Codegen {
|
|
10
|
+
describe(resource) {
|
|
11
|
+
return `DNS Monitor: ${resource.name}`;
|
|
12
|
+
}
|
|
13
|
+
gencode(logicalId, resource, context) {
|
|
14
|
+
const filePath = context.filePath('resources/dns-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, dns_request_codegen_1.valueForDnsRequest)(this.program, file, context, resource.request));
|
|
25
|
+
if (resource.degradedResponseTime !== undefined) {
|
|
26
|
+
builder.number('degradedResponseTime', resource.degradedResponseTime);
|
|
27
|
+
}
|
|
28
|
+
if (resource.maxResponseTime !== undefined) {
|
|
29
|
+
builder.number('maxResponseTime', resource.maxResponseTime);
|
|
30
|
+
}
|
|
31
|
+
(0, monitor_codegen_1.buildMonitorProps)(this.program, file, builder, resource, context);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.DnsMonitorCodegen = DnsMonitorCodegen;
|
|
38
|
+
//# sourceMappingURL=dns-monitor-codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-monitor-codegen.js","sourceRoot":"","sources":["../../src/constructs/dns-monitor-codegen.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,4CAA0C;AAC1C,uDAAsE;AAEtE,+DAA0D;AAS1D,MAAM,SAAS,GAAG,YAAY,CAAA;AAE9B,MAAa,iBAAkB,SAAQ,iBAA2B;IAChE,QAAQ,CAAE,QAA4B;QACpC,OAAO,gBAAgB,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,OAAO,CAAE,SAAiB,EAAE,QAA4B,EAAE,OAAgB;QACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzE,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,wCAAkB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBAE3F,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBAChD,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;oBACvE,CAAC;oBAED,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;wBAC3C,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;oBAC7D,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,8CAkCC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Monitor, MonitorProps } from './monitor';
|
|
2
|
+
import { Diagnostics } from './diagnostics';
|
|
3
|
+
import { DnsRequest } from './dns-request';
|
|
4
|
+
export interface DnsMonitorProps extends MonitorProps {
|
|
5
|
+
/**
|
|
6
|
+
* Determines the request that the monitor is going to run.
|
|
7
|
+
*/
|
|
8
|
+
request: DnsRequest;
|
|
9
|
+
/**
|
|
10
|
+
* The response time in milliseconds where the monitor should be considered
|
|
11
|
+
* degraded.
|
|
12
|
+
*
|
|
13
|
+
* DNS monitors have lower thresholds than most other checks and monitors.
|
|
14
|
+
*
|
|
15
|
+
* @defaultValue 500
|
|
16
|
+
* @minimum 0
|
|
17
|
+
* @maximum 5000
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* degradedResponseTime: 200 // Alert when DNS request takes longer than 400 milliseconds
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
degradedResponseTime?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The response time in milliseconds where the monitor should be considered
|
|
26
|
+
* failing.
|
|
27
|
+
*
|
|
28
|
+
* DNS monitors have lower thresholds than most other checks and monitors.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue 1000
|
|
31
|
+
* @minimum 0
|
|
32
|
+
* @maximum 5000
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* maxResponseTime: 200 // Fail if DNS request takes longer than 200 milliseconds
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
maxResponseTime?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates a DNS Monitor
|
|
42
|
+
*/
|
|
43
|
+
export declare class DnsMonitor extends Monitor {
|
|
44
|
+
request: DnsRequest;
|
|
45
|
+
degradedResponseTime?: number;
|
|
46
|
+
maxResponseTime?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Constructs the DNS Monitor instance
|
|
49
|
+
*
|
|
50
|
+
* @param logicalId unique project-scoped resource name identification
|
|
51
|
+
* @param props configuration properties
|
|
52
|
+
*
|
|
53
|
+
* {@link https://checklyhq.com/docs/cli/constructs-reference/#dnsmonitor Read more in the docs}
|
|
54
|
+
*/
|
|
55
|
+
constructor(logicalId: string, props: DnsMonitorProps);
|
|
56
|
+
describe(): string;
|
|
57
|
+
validate(diagnostics: Diagnostics): Promise<void>;
|
|
58
|
+
synthesize(): {
|
|
59
|
+
checkType: string;
|
|
60
|
+
request: DnsRequest;
|
|
61
|
+
degradedResponseTime: number | undefined;
|
|
62
|
+
maxResponseTime: number | undefined;
|
|
63
|
+
doubleCheck: boolean;
|
|
64
|
+
name: string;
|
|
65
|
+
activated: boolean | undefined;
|
|
66
|
+
muted: boolean | undefined;
|
|
67
|
+
shouldFail: boolean | undefined;
|
|
68
|
+
locations: (keyof import("..").Region)[] | undefined;
|
|
69
|
+
privateLocations: undefined;
|
|
70
|
+
tags: string[] | undefined;
|
|
71
|
+
frequency: number | undefined;
|
|
72
|
+
frequencyOffset: number | undefined;
|
|
73
|
+
groupId: import("./ref").Ref | null;
|
|
74
|
+
retryStrategy: import("./retry-strategy").LinearRetryStrategy | import("./retry-strategy").ExponentialRetryStrategy | import("./retry-strategy").FixedRetryStrategy | import("./retry-strategy").SingleRetryRetryStrategy | null | undefined;
|
|
75
|
+
alertSettings: import("./alert-escalation-policy").AlertEscalation | undefined;
|
|
76
|
+
useGlobalAlertSettings: boolean | undefined;
|
|
77
|
+
runParallel: boolean | undefined;
|
|
78
|
+
triggerIncident: {
|
|
79
|
+
serviceId: import("./ref").Ref;
|
|
80
|
+
severity: "MINOR" | "MEDIUM" | "MAJOR" | "CRITICAL";
|
|
81
|
+
name: string;
|
|
82
|
+
description: string;
|
|
83
|
+
notifySubscribers: boolean;
|
|
84
|
+
} | undefined;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DnsMonitor = void 0;
|
|
4
|
+
const monitor_1 = require("./monitor");
|
|
5
|
+
const project_1 = require("./project");
|
|
6
|
+
const common_diagnostics_1 = require("./internal/common-diagnostics");
|
|
7
|
+
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
8
|
+
/**
|
|
9
|
+
* Creates a DNS Monitor
|
|
10
|
+
*/
|
|
11
|
+
class DnsMonitor extends monitor_1.Monitor {
|
|
12
|
+
request;
|
|
13
|
+
degradedResponseTime;
|
|
14
|
+
maxResponseTime;
|
|
15
|
+
/**
|
|
16
|
+
* Constructs the DNS Monitor instance
|
|
17
|
+
*
|
|
18
|
+
* @param logicalId unique project-scoped resource name identification
|
|
19
|
+
* @param props configuration properties
|
|
20
|
+
*
|
|
21
|
+
* {@link https://checklyhq.com/docs/cli/constructs-reference/#dnsmonitor Read more in the docs}
|
|
22
|
+
*/
|
|
23
|
+
constructor(logicalId, props) {
|
|
24
|
+
super(logicalId, props);
|
|
25
|
+
this.request = props.request;
|
|
26
|
+
this.degradedResponseTime = props.degradedResponseTime;
|
|
27
|
+
this.maxResponseTime = props.maxResponseTime;
|
|
28
|
+
project_1.Session.registerConstruct(this);
|
|
29
|
+
this.addSubscriptions();
|
|
30
|
+
this.addPrivateLocationCheckAssignments();
|
|
31
|
+
}
|
|
32
|
+
describe() {
|
|
33
|
+
return `DnsMonitor:${this.logicalId}`;
|
|
34
|
+
}
|
|
35
|
+
async validate(diagnostics) {
|
|
36
|
+
await super.validate(diagnostics);
|
|
37
|
+
if (this.request.nameServer && this.request.port === undefined) {
|
|
38
|
+
diagnostics.add(new construct_diagnostics_1.RequiredPropertyDiagnostic('port', new Error(`A value for "port" is required when "nameServer" is set.`)));
|
|
39
|
+
}
|
|
40
|
+
if (!this.request.nameServer && this.request.port !== undefined) {
|
|
41
|
+
diagnostics.add(new construct_diagnostics_1.RequiredPropertyDiagnostic('nameServer', new Error(`A value for "nameServer" is required when "port" is set.`)));
|
|
42
|
+
}
|
|
43
|
+
await (0, common_diagnostics_1.validateResponseTimes)(diagnostics, this, {
|
|
44
|
+
degradedResponseTime: 5000,
|
|
45
|
+
maxResponseTime: 5000,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
synthesize() {
|
|
49
|
+
return {
|
|
50
|
+
...super.synthesize(),
|
|
51
|
+
checkType: 'DNS',
|
|
52
|
+
request: this.request,
|
|
53
|
+
degradedResponseTime: this.degradedResponseTime,
|
|
54
|
+
maxResponseTime: this.maxResponseTime,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.DnsMonitor = DnsMonitor;
|
|
59
|
+
//# sourceMappingURL=dns-monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-monitor.js","sourceRoot":"","sources":["../../src/constructs/dns-monitor.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AACjD,uCAAmC;AAEnC,sEAAqE;AAErE,mEAAoE;AAyCpE;;GAEG;AACH,MAAa,UAAW,SAAQ,iBAAO;IACrC,OAAO,CAAY;IACnB,oBAAoB,CAAS;IAC7B,eAAe,CAAS;IAExB;;;;;;;OAOG;IAEH,YAAa,SAAiB,EAAE,KAAsB;QACpD,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;QACtD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;QAE5C,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kCAAkC,EAAE,CAAA;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/D,WAAW,CAAC,GAAG,CAAC,IAAI,kDAA0B,CAC5C,MAAM,EACN,IAAI,KAAK,CACP,0DAA0D,CAC3D,CACF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChE,WAAW,CAAC,GAAG,CAAC,IAAI,kDAA0B,CAC5C,YAAY,EACZ,IAAI,KAAK,CACP,0DAA0D,CAC3D,CACF,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAA,0CAAqB,EAAC,WAAW,EAAE,IAAI,EAAE;YAC7C,oBAAoB,EAAE,IAAK;YAC3B,eAAe,EAAE,IAAK;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAA;IACH,CAAC;CACF;AAlED,gCAkEC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GeneratedFile, Program, Value } from '../sourcegen';
|
|
2
|
+
import { DnsRequest } from './dns-request';
|
|
3
|
+
import { Context } from './internal/codegen';
|
|
4
|
+
export declare function valueForDnsRequest(program: Program, genfile: GeneratedFile, context: Context, request: DnsRequest): Value;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.valueForDnsRequest = void 0;
|
|
4
|
+
const sourcegen_1 = require("../sourcegen");
|
|
5
|
+
const dns_assertion_codegen_1 = require("./dns-assertion-codegen");
|
|
6
|
+
function valueForDnsRequest(program, genfile, context, request) {
|
|
7
|
+
return (0, sourcegen_1.object)(builder => {
|
|
8
|
+
builder.string('recordType', request.recordType);
|
|
9
|
+
builder.string('query', request.query);
|
|
10
|
+
if (request.nameServer) {
|
|
11
|
+
builder.string('nameServer', request.nameServer);
|
|
12
|
+
}
|
|
13
|
+
if (request.port) {
|
|
14
|
+
builder.number('port', request.port);
|
|
15
|
+
}
|
|
16
|
+
if (request.protocol && request.protocol !== 'UDP') {
|
|
17
|
+
builder.string('protocol', request.protocol);
|
|
18
|
+
}
|
|
19
|
+
if (request.assertions) {
|
|
20
|
+
const assertions = request.assertions;
|
|
21
|
+
if (assertions.length > 0) {
|
|
22
|
+
builder.array('assertions', builder => {
|
|
23
|
+
for (const assertion of assertions) {
|
|
24
|
+
builder.value((0, dns_assertion_codegen_1.valueForDnsAssertion)(genfile, assertion));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports.valueForDnsRequest = valueForDnsRequest;
|
|
32
|
+
//# sourceMappingURL=dns-request-codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-request-codegen.js","sourceRoot":"","sources":["../../src/constructs/dns-request-codegen.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,mEAA8D;AAI9D,SAAgB,kBAAkB,CAChC,OAAgB,EAChB,OAAsB,EACtB,OAAgB,EAChB,OAAmB;IAEnB,OAAO,IAAA,kBAAM,EAAC,OAAO,CAAC,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;oBACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,OAAO,CAAC,KAAK,CAAC,IAAA,4CAAoB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;oBACzD,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAjCD,gDAiCC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { DnsAssertion } from './dns-assertion';
|
|
2
|
+
export type DnsRecordType = 'A' | 'AAAA' | 'CNAME' | 'MX' | 'NS' | 'TXT' | 'SOA';
|
|
3
|
+
export type DnsProtocol = 'UDP' | 'TCP';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for DNS requests.
|
|
6
|
+
* Defines the query parameters and validation rules.
|
|
7
|
+
*/
|
|
8
|
+
export interface DnsRequest {
|
|
9
|
+
/**
|
|
10
|
+
* The DNS record type to query for.
|
|
11
|
+
*
|
|
12
|
+
* @example "A"
|
|
13
|
+
* @example "AAAA"
|
|
14
|
+
* @example "TXT"
|
|
15
|
+
*/
|
|
16
|
+
recordType: DnsRecordType;
|
|
17
|
+
/**
|
|
18
|
+
* The DNS query. Value should be appropriate for the record type you've
|
|
19
|
+
* selected.
|
|
20
|
+
*
|
|
21
|
+
* @example 'api.example.com' | '192.168.1.1'
|
|
22
|
+
*/
|
|
23
|
+
query: string;
|
|
24
|
+
/**
|
|
25
|
+
* The name server the query should be made to. If not set, an appropriate
|
|
26
|
+
* name server will be used automatically.
|
|
27
|
+
*
|
|
28
|
+
* @example "8.8.4.4"
|
|
29
|
+
* @example "resolver1.opendns.com"
|
|
30
|
+
*/
|
|
31
|
+
nameServer?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The port of the name server.
|
|
34
|
+
*
|
|
35
|
+
* @minimum 1
|
|
36
|
+
* @maximum 65535
|
|
37
|
+
* @example 53
|
|
38
|
+
* @default 53
|
|
39
|
+
*/
|
|
40
|
+
port?: number;
|
|
41
|
+
/**
|
|
42
|
+
* The protocol used to connect to the name server.
|
|
43
|
+
*
|
|
44
|
+
* @example "UDP"
|
|
45
|
+
* @example "TCP"
|
|
46
|
+
* @default "UDP"
|
|
47
|
+
*/
|
|
48
|
+
protocol?: DnsProtocol;
|
|
49
|
+
/**
|
|
50
|
+
* Assertions to validate the DNS response.
|
|
51
|
+
*/
|
|
52
|
+
assertions?: Array<DnsAssertion>;
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns-request.js","sourceRoot":"","sources":["../../src/constructs/dns-request.ts"],"names":[],"mappings":""}
|
package/dist/constructs/index.js
CHANGED
|
@@ -58,4 +58,7 @@ __exportStar(require("./url-monitor"), exports);
|
|
|
58
58
|
__exportStar(require("./url-assertion"), exports);
|
|
59
59
|
__exportStar(require("./url-request"), exports);
|
|
60
60
|
__exportStar(require("./ip"), exports);
|
|
61
|
+
__exportStar(require("./dns-monitor"), exports);
|
|
62
|
+
__exportStar(require("./dns-assertion"), exports);
|
|
63
|
+
__exportStar(require("./dns-request"), exports);
|
|
61
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,gDAA6B;AAC7B,kDAA+B;AAC/B,sDAAmC;AACnC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,iDAA8B;AAC9B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,gDAA6B;AAC7B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,gDAA6B;AAC7B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,uCAAoB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,gDAA6B;AAC7B,kDAA+B;AAC/B,sDAAmC;AACnC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,iDAA8B;AAC9B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,gDAA6B;AAC7B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,gDAA6B;AAC7B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,uCAAoB;AACpB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B"}
|