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.
Files changed (57) hide show
  1. package/dist/constructs/check-codegen.d.ts +2 -0
  2. package/dist/constructs/check-codegen.js +8 -0
  3. package/dist/constructs/check-codegen.js.map +1 -1
  4. package/dist/constructs/construct-diagnostics.d.ts +4 -0
  5. package/dist/constructs/construct-diagnostics.js +15 -1
  6. package/dist/constructs/construct-diagnostics.js.map +1 -1
  7. package/dist/constructs/dns-assertion-codegen.d.ts +3 -0
  8. package/dist/constructs/dns-assertion-codegen.js +30 -0
  9. package/dist/constructs/dns-assertion-codegen.js.map +1 -0
  10. package/dist/constructs/dns-assertion.d.ts +45 -0
  11. package/dist/constructs/dns-assertion.js +55 -0
  12. package/dist/constructs/dns-assertion.js.map +1 -0
  13. package/dist/constructs/dns-monitor-codegen.d.ts +13 -0
  14. package/dist/constructs/dns-monitor-codegen.js +38 -0
  15. package/dist/constructs/dns-monitor-codegen.js.map +1 -0
  16. package/dist/constructs/dns-monitor.d.ts +86 -0
  17. package/dist/constructs/dns-monitor.js +59 -0
  18. package/dist/constructs/dns-monitor.js.map +1 -0
  19. package/dist/constructs/dns-request-codegen.d.ts +4 -0
  20. package/dist/constructs/dns-request-codegen.js +32 -0
  21. package/dist/constructs/dns-request-codegen.js.map +1 -0
  22. package/dist/constructs/dns-request.d.ts +53 -0
  23. package/dist/constructs/dns-request.js +3 -0
  24. package/dist/constructs/dns-request.js.map +1 -0
  25. package/dist/constructs/index.d.ts +3 -0
  26. package/dist/constructs/index.js +3 -0
  27. package/dist/constructs/index.js.map +1 -1
  28. package/dist/constructs/internal/assertion-codegen.d.ts +5 -1
  29. package/dist/constructs/internal/assertion-codegen.js +7 -2
  30. package/dist/constructs/internal/assertion-codegen.js.map +1 -1
  31. package/dist/constructs/internal/common-diagnostics.d.ts +1 -0
  32. package/dist/constructs/internal/common-diagnostics.js +5 -1
  33. package/dist/constructs/internal/common-diagnostics.js.map +1 -1
  34. package/dist/constructs/monitor.js +1 -1
  35. package/dist/constructs/monitor.js.map +1 -1
  36. package/dist/loader/config.d.ts +3 -0
  37. package/dist/loader/config.js +13 -0
  38. package/dist/loader/config.js.map +1 -0
  39. package/dist/loader/jiti.d.ts +1 -0
  40. package/dist/loader/jiti.js +3 -0
  41. package/dist/loader/jiti.js.map +1 -1
  42. package/dist/loader/loader.d.ts +14 -0
  43. package/dist/loader/loader.js +10 -0
  44. package/dist/loader/loader.js.map +1 -1
  45. package/dist/loader/mixed.js +1 -1
  46. package/dist/loader/mixed.js.map +1 -1
  47. package/dist/loader/ts-node.d.ts +1 -0
  48. package/dist/loader/ts-node.js +3 -0
  49. package/dist/loader/ts-node.js.map +1 -1
  50. package/dist/reporters/util.js +72 -1
  51. package/dist/reporters/util.js.map +1 -1
  52. package/dist/rules/checkly.rules.md +41 -0
  53. package/dist/services/util.js +34 -9
  54. package/dist/services/util.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/oclif.manifest.json +1 -1
  57. 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":"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"}
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":"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"}
1
+ {"version":3,"file":"construct-diagnostics.js","sourceRoot":"","sources":["../../src/constructs/construct-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { GeneratedFile, Value } from '../sourcegen';
2
+ import { DnsAssertion } from './dns-assertion';
3
+ export declare function valueForDnsAssertion(genfile: GeneratedFile, assertion: DnsAssertion): Value;
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dns-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns-request.js","sourceRoot":"","sources":["../../src/constructs/dns-request.ts"],"names":[],"mappings":""}
@@ -42,3 +42,6 @@ export * from './url-monitor';
42
42
  export * from './url-assertion';
43
43
  export * from './url-request';
44
44
  export * from './ip';
45
+ export * from './dns-monitor';
46
+ export * from './dns-assertion';
47
+ export * from './dns-request';
@@ -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"}