@checkly/pulumi 0.0.1-alpha.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 (73) hide show
  1. package/Pulumi.yaml +0 -0
  2. package/README.md +4 -0
  3. package/alertChannel.ts +321 -0
  4. package/bin/LICENSE +21 -0
  5. package/bin/README.md +90 -0
  6. package/bin/alertChannel.d.ts +266 -0
  7. package/bin/alertChannel.js +204 -0
  8. package/bin/alertChannel.js.map +1 -0
  9. package/bin/check.d.ts +328 -0
  10. package/bin/check.js +110 -0
  11. package/bin/check.js.map +1 -0
  12. package/bin/checkGroup.d.ts +238 -0
  13. package/bin/checkGroup.js +93 -0
  14. package/bin/checkGroup.js.map +1 -0
  15. package/bin/config/index.d.ts +1 -0
  16. package/bin/config/index.js +21 -0
  17. package/bin/config/index.js.map +1 -0
  18. package/bin/config/vars.d.ts +3 -0
  19. package/bin/config/vars.js +25 -0
  20. package/bin/config/vars.js.map +1 -0
  21. package/bin/dashboard.d.ts +66 -0
  22. package/bin/dashboard.js +93 -0
  23. package/bin/dashboard.js.map +1 -0
  24. package/bin/index.d.ts +12 -0
  25. package/bin/index.js +89 -0
  26. package/bin/index.js.map +1 -0
  27. package/bin/maintenanceWindow.d.ts +157 -0
  28. package/bin/maintenanceWindow.js +115 -0
  29. package/bin/maintenanceWindow.js.map +1 -0
  30. package/bin/package.json +28 -0
  31. package/bin/package.json.bak +28 -0
  32. package/bin/provider.d.ts +33 -0
  33. package/bin/provider.js +52 -0
  34. package/bin/provider.js.map +1 -0
  35. package/bin/snippet.d.ts +60 -0
  36. package/bin/snippet.js +56 -0
  37. package/bin/snippet.js.map +1 -0
  38. package/bin/triggerCheck.d.ts +71 -0
  39. package/bin/triggerCheck.js +75 -0
  40. package/bin/triggerCheck.js.map +1 -0
  41. package/bin/triggerCheckGroup.d.ts +71 -0
  42. package/bin/triggerCheckGroup.js +75 -0
  43. package/bin/triggerCheckGroup.js.map +1 -0
  44. package/bin/types/index.d.ts +3 -0
  45. package/bin/types/index.js +11 -0
  46. package/bin/types/index.js.map +1 -0
  47. package/bin/types/input.d.ts +330 -0
  48. package/bin/types/input.js +14 -0
  49. package/bin/types/input.js.map +1 -0
  50. package/bin/types/output.d.ts +329 -0
  51. package/bin/types/output.js +14 -0
  52. package/bin/types/output.js.map +1 -0
  53. package/bin/utilities.d.ts +4 -0
  54. package/bin/utilities.js +52 -0
  55. package/bin/utilities.js.map +1 -0
  56. package/bin/yarn.lock +743 -0
  57. package/check.ts +416 -0
  58. package/checkGroup.ts +308 -0
  59. package/config/index.ts +5 -0
  60. package/config/vars.ts +33 -0
  61. package/dashboard.ts +143 -0
  62. package/index.ts +81 -0
  63. package/maintenanceWindow.ts +219 -0
  64. package/package.json +28 -0
  65. package/provider.ts +64 -0
  66. package/snippet.ts +100 -0
  67. package/triggerCheck.ts +113 -0
  68. package/triggerCheckGroup.ts +113 -0
  69. package/tsconfig.json +33 -0
  70. package/types/index.ts +11 -0
  71. package/types/input.ts +352 -0
  72. package/types/output.ts +353 -0
  73. package/utilities.ts +49 -0
@@ -0,0 +1,329 @@
1
+ import { output as outputs } from "../types";
2
+ export interface AlertChannelEmail {
3
+ /**
4
+ * the email address of this email alert channel.
5
+ */
6
+ address: string;
7
+ }
8
+ export interface AlertChannelOpsgenie {
9
+ /**
10
+ * .
11
+ */
12
+ apiKey: string;
13
+ /**
14
+ * Webhook's channel name.
15
+ */
16
+ name: string;
17
+ /**
18
+ * .
19
+ */
20
+ priority: string;
21
+ /**
22
+ * .
23
+ */
24
+ region: string;
25
+ }
26
+ export interface AlertChannelPagerduty {
27
+ /**
28
+ * Pagerduty's account name.
29
+ */
30
+ account?: string;
31
+ /**
32
+ * Pagerduty's service integration key.
33
+ */
34
+ serviceKey: string;
35
+ /**
36
+ * Pagerduty's service name.
37
+ */
38
+ serviceName?: string;
39
+ }
40
+ export interface AlertChannelSlack {
41
+ /**
42
+ * Slack's channel name.
43
+ */
44
+ channel: string;
45
+ /**
46
+ * .
47
+ */
48
+ url: string;
49
+ }
50
+ export interface AlertChannelSms {
51
+ /**
52
+ * Webhook's channel name.
53
+ */
54
+ name: string;
55
+ /**
56
+ * Mobile number to receive alerts.
57
+ */
58
+ number: string;
59
+ }
60
+ export interface AlertChannelWebhook {
61
+ /**
62
+ * .
63
+ */
64
+ headers: {
65
+ [key: string]: any;
66
+ };
67
+ /**
68
+ * Default is `POST`.
69
+ */
70
+ method?: string;
71
+ /**
72
+ * Webhook's channel name.
73
+ */
74
+ name: string;
75
+ /**
76
+ * .
77
+ */
78
+ queryParameters: {
79
+ [key: string]: any;
80
+ };
81
+ /**
82
+ * .
83
+ */
84
+ template?: string;
85
+ /**
86
+ * .
87
+ */
88
+ url: string;
89
+ /**
90
+ * .
91
+ */
92
+ webhookSecret?: string;
93
+ }
94
+ export interface CheckAlertChannelSubscription {
95
+ /**
96
+ * Determines if the check is running or not. Possible values `true`, and `false`.
97
+ */
98
+ activated: boolean;
99
+ channelId: number;
100
+ }
101
+ export interface CheckAlertSettings {
102
+ /**
103
+ * Determines what type of escalation to use. Possible values are `RUN_BASED` or `TIME_BASED`.
104
+ */
105
+ escalationType?: string;
106
+ /**
107
+ * . Possible arguments:
108
+ */
109
+ reminders?: outputs.CheckAlertSettingsReminder[];
110
+ /**
111
+ * . Possible arguments:
112
+ */
113
+ runBasedEscalations?: outputs.CheckAlertSettingsRunBasedEscalation[];
114
+ /**
115
+ * At what interval the reminders should be send. Possible arguments:
116
+ */
117
+ sslCertificates?: outputs.CheckAlertSettingsSslCertificate[];
118
+ /**
119
+ * . Possible arguments:
120
+ */
121
+ timeBasedEscalations?: outputs.CheckAlertSettingsTimeBasedEscalation[];
122
+ }
123
+ export interface CheckAlertSettingsReminder {
124
+ /**
125
+ * How many reminders to send out after the initial alert notification. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000`
126
+ */
127
+ amount?: number;
128
+ /**
129
+ * . Possible values are `5`, `10`, `15`, and `30`. Defaults to `5`.
130
+ */
131
+ interval?: number;
132
+ }
133
+ export interface CheckAlertSettingsRunBasedEscalation {
134
+ /**
135
+ * After how many failed consecutive check runs an alert notification should be send. Possible values are between 1 and 5. Defaults to `1`.
136
+ */
137
+ failedRunThreshold?: number;
138
+ }
139
+ export interface CheckAlertSettingsSslCertificate {
140
+ /**
141
+ * At what moment in time to start alerting on SSL certificates. Possible values `3`, `7`, `14`, `30`. Defaults to `3`.
142
+ */
143
+ alertThreshold?: number;
144
+ /**
145
+ * Determines if alert notifications should be send for expiring SSL certificates. Possible values `true`, and `false`. Defaults to `true`.
146
+ */
147
+ enabled?: boolean;
148
+ }
149
+ export interface CheckAlertSettingsTimeBasedEscalation {
150
+ /**
151
+ * After how many minutes after a check starts failing an alert should be send. Possible values are `5`, `10`, `15`, and `30`. Defaults to `5`.
152
+ */
153
+ minutesFailingThreshold?: number;
154
+ }
155
+ export interface CheckGroupAlertChannelSubscription {
156
+ /**
157
+ * Determines if the checks in the group are running or not.
158
+ */
159
+ activated: boolean;
160
+ channelId: number;
161
+ }
162
+ export interface CheckGroupAlertSettings {
163
+ /**
164
+ * Determines what type of escalation to use. Possible values are `RUN_BASED` or `TIME_BASED`.
165
+ */
166
+ escalationType?: string;
167
+ /**
168
+ * . Possible arguments:
169
+ */
170
+ reminders?: outputs.CheckGroupAlertSettingsReminder[];
171
+ /**
172
+ * . Possible arguments:
173
+ */
174
+ runBasedEscalations?: outputs.CheckGroupAlertSettingsRunBasedEscalation[];
175
+ /**
176
+ * At what interval the reminders should be send. Possible arguments:
177
+ */
178
+ sslCertificates?: outputs.CheckGroupAlertSettingsSslCertificate[];
179
+ /**
180
+ * . Possible arguments:
181
+ */
182
+ timeBasedEscalations?: outputs.CheckGroupAlertSettingsTimeBasedEscalation[];
183
+ }
184
+ export interface CheckGroupAlertSettingsReminder {
185
+ /**
186
+ * How many reminders to send out after the initial alert notification. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000`
187
+ */
188
+ amount?: number;
189
+ /**
190
+ * . Possible values are `5`, `10`, `15`, and `30`. Defaults to `5`.
191
+ */
192
+ interval?: number;
193
+ }
194
+ export interface CheckGroupAlertSettingsRunBasedEscalation {
195
+ /**
196
+ * After how many failed consecutive check runs an alert notification should be send. Possible values are between 1 and 5. Defaults to `1`.
197
+ */
198
+ failedRunThreshold?: number;
199
+ }
200
+ export interface CheckGroupAlertSettingsSslCertificate {
201
+ /**
202
+ * At what moment in time to start alerting on SSL certificates. Possible values `3`, `7`, `14`, `30`. Defaults to `3`.
203
+ */
204
+ alertThreshold?: number;
205
+ /**
206
+ * Determines if alert notifications should be send for expiring SSL certificates. Possible values `true`, and `false`. Defaults to `true`.
207
+ */
208
+ enabled?: boolean;
209
+ }
210
+ export interface CheckGroupAlertSettingsTimeBasedEscalation {
211
+ /**
212
+ * After how many minutes after a check starts failing an alert should be send. Possible values are `5`, `10`, `15`, and `30`. Defaults to `5`.
213
+ */
214
+ minutesFailingThreshold?: number;
215
+ }
216
+ export interface CheckGroupApiCheckDefaults {
217
+ /**
218
+ * . Possible arguments:
219
+ */
220
+ assertions?: outputs.CheckGroupApiCheckDefaultsAssertion[];
221
+ /**
222
+ * . Possible arguments
223
+ */
224
+ basicAuth: outputs.CheckGroupApiCheckDefaultsBasicAuth;
225
+ /**
226
+ * .
227
+ */
228
+ headers: {
229
+ [key: string]: any;
230
+ };
231
+ /**
232
+ * .
233
+ */
234
+ queryParameters: {
235
+ [key: string]: any;
236
+ };
237
+ /**
238
+ * The base url for this group which you can reference with the {{GROUP_BASE_URL}} variable in all group checks.
239
+ */
240
+ url: string;
241
+ }
242
+ /**
243
+ * checkGroupApiCheckDefaultsProvideDefaults sets the appropriate defaults for CheckGroupApiCheckDefaults
244
+ */
245
+ export declare function checkGroupApiCheckDefaultsProvideDefaults(val: CheckGroupApiCheckDefaults): CheckGroupApiCheckDefaults;
246
+ export interface CheckGroupApiCheckDefaultsAssertion {
247
+ /**
248
+ * Possible values `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.
249
+ */
250
+ comparison: string;
251
+ /**
252
+ * .
253
+ */
254
+ property?: string;
255
+ /**
256
+ * Possible values `STATUS_CODE`, `JSON_BODY`, `HEADERS`, `TEXT_BODY`, and `RESPONSE_TIME`.
257
+ */
258
+ source: string;
259
+ target: string;
260
+ }
261
+ export interface CheckGroupApiCheckDefaultsBasicAuth {
262
+ password: string;
263
+ username: string;
264
+ }
265
+ export interface CheckRequest {
266
+ /**
267
+ * A request can have multiple assetions. Assertion has the following arguments:
268
+ */
269
+ assertions?: outputs.CheckRequestAssertion[];
270
+ /**
271
+ * A request might have one basicAuth config. basicAuth has two arguments:
272
+ */
273
+ basicAuth: outputs.CheckRequestBasicAuth;
274
+ body?: string;
275
+ /**
276
+ * Possible values `NONE`, `JSON`, `FORM`, `RAW`, and `GRAPHQL`.
277
+ */
278
+ bodyType?: string;
279
+ /**
280
+ * .
281
+ */
282
+ followRedirects?: boolean;
283
+ /**
284
+ * .
285
+ */
286
+ headers: {
287
+ [key: string]: any;
288
+ };
289
+ /**
290
+ * The HTTP method to use for this API check. Possible values are `GET`, `POST`, `PUT`, `HEAD`, `DELETE`, `PATCH`. Defaults to `GET`.
291
+ */
292
+ method?: string;
293
+ /**
294
+ * .
295
+ */
296
+ queryParameters: {
297
+ [key: string]: any;
298
+ };
299
+ /**
300
+ * .
301
+ */
302
+ skipSsl?: boolean;
303
+ /**
304
+ * .
305
+ */
306
+ url: string;
307
+ }
308
+ export interface CheckRequestAssertion {
309
+ /**
310
+ * Possible values `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.
311
+ */
312
+ comparison: string;
313
+ /**
314
+ * .
315
+ */
316
+ property?: string;
317
+ /**
318
+ * Possible values `STATUS_CODE`, `JSON_BODY`, `HEADERS`, `TEXT_BODY`, and `RESPONSE_TIME`.
319
+ */
320
+ source: string;
321
+ /**
322
+ * .
323
+ */
324
+ target?: string;
325
+ }
326
+ export interface CheckRequestBasicAuth {
327
+ password: string;
328
+ username: string;
329
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.checkGroupApiCheckDefaultsProvideDefaults = void 0;
6
+ /**
7
+ * checkGroupApiCheckDefaultsProvideDefaults sets the appropriate defaults for CheckGroupApiCheckDefaults
8
+ */
9
+ function checkGroupApiCheckDefaultsProvideDefaults(val) {
10
+ var _a;
11
+ return Object.assign(Object.assign({}, val), { url: (_a = (val.url)) !== null && _a !== void 0 ? _a : "" });
12
+ }
13
+ exports.checkGroupApiCheckDefaultsProvideDefaults = checkGroupApiCheckDefaultsProvideDefaults;
14
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../types/output.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAiQjF;;GAEG;AACH,SAAgB,yCAAyC,CAAC,GAA+B;;IACrF,uCACO,GAAG,KACN,GAAG,EAAE,MAAA,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,IACtB;AACN,CAAC;AALD,8FAKC"}
@@ -0,0 +1,4 @@
1
+ export declare function getEnv(...vars: string[]): string | undefined;
2
+ export declare function getEnvBoolean(...vars: string[]): boolean | undefined;
3
+ export declare function getEnvNumber(...vars: string[]): number | undefined;
4
+ export declare function getVersion(): string;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
6
+ function getEnv(...vars) {
7
+ for (const v of vars) {
8
+ const value = process.env[v];
9
+ if (value) {
10
+ return value;
11
+ }
12
+ }
13
+ return undefined;
14
+ }
15
+ exports.getEnv = getEnv;
16
+ function getEnvBoolean(...vars) {
17
+ const s = getEnv(...vars);
18
+ if (s !== undefined) {
19
+ // NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what
20
+ // Terraform uses internally when parsing boolean values.
21
+ if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) {
22
+ return true;
23
+ }
24
+ if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) {
25
+ return false;
26
+ }
27
+ }
28
+ return undefined;
29
+ }
30
+ exports.getEnvBoolean = getEnvBoolean;
31
+ function getEnvNumber(...vars) {
32
+ const s = getEnv(...vars);
33
+ if (s !== undefined) {
34
+ const f = parseFloat(s);
35
+ if (!isNaN(f)) {
36
+ return f;
37
+ }
38
+ }
39
+ return undefined;
40
+ }
41
+ exports.getEnvNumber = getEnvNumber;
42
+ function getVersion() {
43
+ let version = require('./package.json').version;
44
+ // Node allows for the version to be prefixed by a "v", while semver doesn't.
45
+ // If there is a v, strip it off.
46
+ if (version.indexOf('v') === 0) {
47
+ version = version.slice(1);
48
+ }
49
+ return version;
50
+ }
51
+ exports.getVersion = getVersion;
52
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC"}