@pulumi/datadog 4.30.0-alpha.1721194263 → 4.30.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/applicationKey.d.ts +1 -1
- package/applicationKey.js +1 -1
- package/getApplicationKey.d.ts +2 -2
- package/getApplicationKey.js +2 -2
- package/getPowerpack.d.ts +40 -0
- package/getPowerpack.js +25 -0
- package/getPowerpack.js.map +1 -0
- package/getServiceAccount.d.ts +12 -0
- package/getServiceAccount.js +1 -0
- package/getServiceAccount.js.map +1 -1
- package/index.d.ts +3 -0
- package/index.js +6 -3
- package/index.js.map +1 -1
- package/monitor.d.ts +3 -3
- package/package.json +2 -2
- package/restrictionPolicy.d.ts +1 -1
- package/restrictionPolicy.js +1 -1
- package/sensitiveDataScannerGroup.d.ts +1 -1
- package/sensitiveDataScannerGroup.js +1 -1
- package/sensitiveDataScannerRule.d.ts +1 -1
- package/sensitiveDataScannerRule.js +1 -1
- package/serviceAccount.d.ts +1 -1
- package/syntheticsTest.d.ts +448 -3
- package/syntheticsTest.js +445 -0
- package/syntheticsTest.js.map +1 -1
- package/types/input.d.ts +575 -7
- package/types/output.d.ts +578 -7
- package/userRole.d.ts +1 -1
- package/userRole.js +1 -1
package/syntheticsTest.js
CHANGED
|
@@ -19,6 +19,451 @@ const utilities = require("./utilities");
|
|
|
19
19
|
*
|
|
20
20
|
* which you can now use in your request definition:
|
|
21
21
|
*
|
|
22
|
+
* ## Example Usage
|
|
23
|
+
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
26
|
+
* import * as datadog from "@pulumi/datadog";
|
|
27
|
+
*
|
|
28
|
+
* // Example Usage (Synthetics API test)
|
|
29
|
+
* // Create a new Datadog Synthetics API/HTTP test on https://www.example.org
|
|
30
|
+
* const testUptime = new datadog.SyntheticsTest("test_uptime", {
|
|
31
|
+
* name: "An Uptime test on example.org",
|
|
32
|
+
* type: "api",
|
|
33
|
+
* subtype: "http",
|
|
34
|
+
* status: "live",
|
|
35
|
+
* message: "Notify @pagerduty",
|
|
36
|
+
* locations: ["aws:eu-central-1"],
|
|
37
|
+
* tags: [
|
|
38
|
+
* "foo:bar",
|
|
39
|
+
* "foo",
|
|
40
|
+
* "env:test",
|
|
41
|
+
* ],
|
|
42
|
+
* requestDefinition: {
|
|
43
|
+
* method: "GET",
|
|
44
|
+
* url: "https://www.example.org",
|
|
45
|
+
* },
|
|
46
|
+
* requestHeaders: {
|
|
47
|
+
* "Content-Type": "application/json",
|
|
48
|
+
* },
|
|
49
|
+
* assertions: [{
|
|
50
|
+
* type: "statusCode",
|
|
51
|
+
* operator: "is",
|
|
52
|
+
* target: "200",
|
|
53
|
+
* }],
|
|
54
|
+
* optionsList: {
|
|
55
|
+
* tickEvery: 900,
|
|
56
|
+
* retry: {
|
|
57
|
+
* count: 2,
|
|
58
|
+
* interval: 300,
|
|
59
|
+
* },
|
|
60
|
+
* monitorOptions: {
|
|
61
|
+
* renotifyInterval: 120,
|
|
62
|
+
* },
|
|
63
|
+
* },
|
|
64
|
+
* });
|
|
65
|
+
* // Example Usage (Authenticated API test)
|
|
66
|
+
* // Create a new Datadog Synthetics API/HTTP test on https://www.example.org
|
|
67
|
+
* const testApi = new datadog.SyntheticsTest("test_api", {
|
|
68
|
+
* name: "An API test on example.org",
|
|
69
|
+
* type: "api",
|
|
70
|
+
* subtype: "http",
|
|
71
|
+
* status: "live",
|
|
72
|
+
* message: "Notify @pagerduty",
|
|
73
|
+
* locations: ["aws:eu-central-1"],
|
|
74
|
+
* tags: [
|
|
75
|
+
* "foo:bar",
|
|
76
|
+
* "foo",
|
|
77
|
+
* "env:test",
|
|
78
|
+
* ],
|
|
79
|
+
* requestDefinition: {
|
|
80
|
+
* method: "GET",
|
|
81
|
+
* url: "https://www.example.org",
|
|
82
|
+
* },
|
|
83
|
+
* requestHeaders: {
|
|
84
|
+
* "Content-Type": "application/json",
|
|
85
|
+
* Authentication: "Token: 1234566789",
|
|
86
|
+
* },
|
|
87
|
+
* assertions: [{
|
|
88
|
+
* type: "statusCode",
|
|
89
|
+
* operator: "is",
|
|
90
|
+
* target: "200",
|
|
91
|
+
* }],
|
|
92
|
+
* optionsList: {
|
|
93
|
+
* tickEvery: 900,
|
|
94
|
+
* retry: {
|
|
95
|
+
* count: 2,
|
|
96
|
+
* interval: 300,
|
|
97
|
+
* },
|
|
98
|
+
* monitorOptions: {
|
|
99
|
+
* renotifyInterval: 120,
|
|
100
|
+
* },
|
|
101
|
+
* },
|
|
102
|
+
* });
|
|
103
|
+
* // Example Usage (Synthetics SSL test)
|
|
104
|
+
* // Create a new Datadog Synthetics API/SSL test on example.org
|
|
105
|
+
* const testSsl = new datadog.SyntheticsTest("test_ssl", {
|
|
106
|
+
* name: "An API test on example.org",
|
|
107
|
+
* type: "api",
|
|
108
|
+
* subtype: "ssl",
|
|
109
|
+
* status: "live",
|
|
110
|
+
* message: "Notify @pagerduty",
|
|
111
|
+
* locations: ["aws:eu-central-1"],
|
|
112
|
+
* tags: [
|
|
113
|
+
* "foo:bar",
|
|
114
|
+
* "foo",
|
|
115
|
+
* "env:test",
|
|
116
|
+
* ],
|
|
117
|
+
* requestDefinition: {
|
|
118
|
+
* host: "example.org",
|
|
119
|
+
* port: 443,
|
|
120
|
+
* },
|
|
121
|
+
* assertions: [{
|
|
122
|
+
* type: "certificate",
|
|
123
|
+
* operator: "isInMoreThan",
|
|
124
|
+
* target: "30",
|
|
125
|
+
* }],
|
|
126
|
+
* optionsList: {
|
|
127
|
+
* tickEvery: 900,
|
|
128
|
+
* acceptSelfSigned: true,
|
|
129
|
+
* },
|
|
130
|
+
* });
|
|
131
|
+
* // Example Usage (Synthetics TCP test)
|
|
132
|
+
* // Create a new Datadog Synthetics API/TCP test on example.org
|
|
133
|
+
* const testTcp = new datadog.SyntheticsTest("test_tcp", {
|
|
134
|
+
* name: "An API test on example.org",
|
|
135
|
+
* type: "api",
|
|
136
|
+
* subtype: "tcp",
|
|
137
|
+
* status: "live",
|
|
138
|
+
* message: "Notify @pagerduty",
|
|
139
|
+
* locations: ["aws:eu-central-1"],
|
|
140
|
+
* tags: [
|
|
141
|
+
* "foo:bar",
|
|
142
|
+
* "foo",
|
|
143
|
+
* "env:test",
|
|
144
|
+
* ],
|
|
145
|
+
* requestDefinition: {
|
|
146
|
+
* host: "example.org",
|
|
147
|
+
* port: 443,
|
|
148
|
+
* },
|
|
149
|
+
* assertions: [{
|
|
150
|
+
* type: "responseTime",
|
|
151
|
+
* operator: "lessThan",
|
|
152
|
+
* target: "2000",
|
|
153
|
+
* }],
|
|
154
|
+
* configVariables: [{
|
|
155
|
+
* type: "global",
|
|
156
|
+
* name: "MY_GLOBAL_VAR",
|
|
157
|
+
* id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
|
|
158
|
+
* }],
|
|
159
|
+
* optionsList: {
|
|
160
|
+
* tickEvery: 900,
|
|
161
|
+
* },
|
|
162
|
+
* });
|
|
163
|
+
* // Example Usage (Synthetics DNS test)
|
|
164
|
+
* // Create a new Datadog Synthetics API/DNS test on example.org
|
|
165
|
+
* const testDns = new datadog.SyntheticsTest("test_dns", {
|
|
166
|
+
* name: "An API test on example.org",
|
|
167
|
+
* type: "api",
|
|
168
|
+
* subtype: "dns",
|
|
169
|
+
* status: "live",
|
|
170
|
+
* message: "Notify @pagerduty",
|
|
171
|
+
* locations: ["aws:eu-central-1"],
|
|
172
|
+
* tags: [
|
|
173
|
+
* "foo:bar",
|
|
174
|
+
* "foo",
|
|
175
|
+
* "env:test",
|
|
176
|
+
* ],
|
|
177
|
+
* requestDefinition: {
|
|
178
|
+
* host: "example.org",
|
|
179
|
+
* },
|
|
180
|
+
* assertions: [{
|
|
181
|
+
* type: "recordSome",
|
|
182
|
+
* operator: "is",
|
|
183
|
+
* property: "A",
|
|
184
|
+
* target: "0.0.0.0",
|
|
185
|
+
* }],
|
|
186
|
+
* optionsList: {
|
|
187
|
+
* tickEvery: 900,
|
|
188
|
+
* },
|
|
189
|
+
* });
|
|
190
|
+
* // Example Usage (Synthetics Multistep API test)
|
|
191
|
+
* // Create a new Datadog Synthetics Multistep API test
|
|
192
|
+
* const testMultiStep = new datadog.SyntheticsTest("test_multi_step", {
|
|
193
|
+
* name: "Multistep API test",
|
|
194
|
+
* type: "api",
|
|
195
|
+
* subtype: "multi",
|
|
196
|
+
* status: "live",
|
|
197
|
+
* locations: ["aws:eu-central-1"],
|
|
198
|
+
* tags: [
|
|
199
|
+
* "foo:bar",
|
|
200
|
+
* "foo",
|
|
201
|
+
* "env:test",
|
|
202
|
+
* ],
|
|
203
|
+
* apiSteps: [
|
|
204
|
+
* {
|
|
205
|
+
* name: "An API test on example.org",
|
|
206
|
+
* subtype: "http",
|
|
207
|
+
* assertions: [{
|
|
208
|
+
* type: "statusCode",
|
|
209
|
+
* operator: "is",
|
|
210
|
+
* target: "200",
|
|
211
|
+
* }],
|
|
212
|
+
* requestDefinition: {
|
|
213
|
+
* method: "GET",
|
|
214
|
+
* url: "https://www.example.org",
|
|
215
|
+
* },
|
|
216
|
+
* requestHeaders: {
|
|
217
|
+
* "Content-Type": "application/json",
|
|
218
|
+
* Authentication: "Token: 1234566789",
|
|
219
|
+
* },
|
|
220
|
+
* },
|
|
221
|
+
* {
|
|
222
|
+
* name: "An API test on example.org",
|
|
223
|
+
* subtype: "http",
|
|
224
|
+
* assertions: [{
|
|
225
|
+
* type: "statusCode",
|
|
226
|
+
* operator: "is",
|
|
227
|
+
* target: "200",
|
|
228
|
+
* }],
|
|
229
|
+
* requestDefinition: {
|
|
230
|
+
* method: "GET",
|
|
231
|
+
* url: "http://example.org",
|
|
232
|
+
* },
|
|
233
|
+
* },
|
|
234
|
+
* {
|
|
235
|
+
* name: "A gRPC health check on example.org",
|
|
236
|
+
* subtype: "grpc",
|
|
237
|
+
* assertions: [{
|
|
238
|
+
* type: "statusCode",
|
|
239
|
+
* operator: "is",
|
|
240
|
+
* target: "200",
|
|
241
|
+
* }],
|
|
242
|
+
* requestDefinition: {
|
|
243
|
+
* host: "example.org",
|
|
244
|
+
* port: 443,
|
|
245
|
+
* callType: "healthcheck",
|
|
246
|
+
* service: "greeter.Greeter",
|
|
247
|
+
* },
|
|
248
|
+
* },
|
|
249
|
+
* {
|
|
250
|
+
* name: "A gRPC behavior check on example.org",
|
|
251
|
+
* subtype: "grpc",
|
|
252
|
+
* assertions: [{
|
|
253
|
+
* type: "statusCode",
|
|
254
|
+
* operator: "is",
|
|
255
|
+
* target: "200",
|
|
256
|
+
* }],
|
|
257
|
+
* requestDefinition: {
|
|
258
|
+
* host: "example.org",
|
|
259
|
+
* port: 443,
|
|
260
|
+
* callType: "unary",
|
|
261
|
+
* service: "greeter.Greeter",
|
|
262
|
+
* method: "SayHello",
|
|
263
|
+
* message: "{\"name\": \"John\"}",
|
|
264
|
+
* plainProtoFile: `syntax = "proto3";
|
|
265
|
+
*
|
|
266
|
+
* package greeter;
|
|
267
|
+
*
|
|
268
|
+
* // The greeting service definition.
|
|
269
|
+
* service Greeter {
|
|
270
|
+
* // Sends a greeting
|
|
271
|
+
* rpc SayHello (HelloRequest) returns (HelloReply) {}
|
|
272
|
+
* }
|
|
273
|
+
*
|
|
274
|
+
* // The request message containing the user's name.
|
|
275
|
+
* message HelloRequest {
|
|
276
|
+
* string name = 1;
|
|
277
|
+
* }
|
|
278
|
+
*
|
|
279
|
+
* // The response message containing the greetings
|
|
280
|
+
* message HelloReply {
|
|
281
|
+
* string message = 1;
|
|
282
|
+
* }
|
|
283
|
+
* `,
|
|
284
|
+
* },
|
|
285
|
+
* },
|
|
286
|
+
* ],
|
|
287
|
+
* optionsList: {
|
|
288
|
+
* tickEvery: 900,
|
|
289
|
+
* acceptSelfSigned: true,
|
|
290
|
+
* },
|
|
291
|
+
* });
|
|
292
|
+
* // Example Usage (Synthetics Browser test)
|
|
293
|
+
* // Create a new Datadog Synthetics Browser test starting on https://www.example.org
|
|
294
|
+
* const testBrowser = new datadog.SyntheticsTest("test_browser", {
|
|
295
|
+
* name: "A Browser test on example.org",
|
|
296
|
+
* type: "browser",
|
|
297
|
+
* status: "paused",
|
|
298
|
+
* message: "Notify @qa",
|
|
299
|
+
* deviceIds: ["laptop_large"],
|
|
300
|
+
* locations: ["aws:eu-central-1"],
|
|
301
|
+
* tags: [],
|
|
302
|
+
* requestDefinition: {
|
|
303
|
+
* method: "GET",
|
|
304
|
+
* url: "https://www.example.org",
|
|
305
|
+
* },
|
|
306
|
+
* browserSteps: [
|
|
307
|
+
* {
|
|
308
|
+
* name: "Check current url",
|
|
309
|
+
* type: "assertCurrentUrl",
|
|
310
|
+
* params: {
|
|
311
|
+
* check: "contains",
|
|
312
|
+
* value: "datadoghq",
|
|
313
|
+
* },
|
|
314
|
+
* },
|
|
315
|
+
* {
|
|
316
|
+
* name: "Test a downloaded file",
|
|
317
|
+
* type: "assertFileDownload",
|
|
318
|
+
* params: {
|
|
319
|
+
* file: JSON.stringify({
|
|
320
|
+
* md5: "abcdef1234567890",
|
|
321
|
+
* sizeCheck: {
|
|
322
|
+
* type: "equals",
|
|
323
|
+
* value: 1,
|
|
324
|
+
* },
|
|
325
|
+
* nameCheck: {
|
|
326
|
+
* type: "contains",
|
|
327
|
+
* value: ".xls",
|
|
328
|
+
* },
|
|
329
|
+
* }),
|
|
330
|
+
* },
|
|
331
|
+
* },
|
|
332
|
+
* ],
|
|
333
|
+
* browserVariables: [
|
|
334
|
+
* {
|
|
335
|
+
* type: "text",
|
|
336
|
+
* name: "MY_PATTERN_VAR",
|
|
337
|
+
* pattern: "{{numeric(3)}}",
|
|
338
|
+
* example: "597",
|
|
339
|
+
* },
|
|
340
|
+
* {
|
|
341
|
+
* type: "email",
|
|
342
|
+
* name: "MY_EMAIL_VAR",
|
|
343
|
+
* pattern: "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
|
|
344
|
+
* example: "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
|
|
345
|
+
* },
|
|
346
|
+
* {
|
|
347
|
+
* type: "global",
|
|
348
|
+
* name: "MY_GLOBAL_VAR",
|
|
349
|
+
* id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
|
|
350
|
+
* },
|
|
351
|
+
* ],
|
|
352
|
+
* optionsList: {
|
|
353
|
+
* tickEvery: 3600,
|
|
354
|
+
* },
|
|
355
|
+
* });
|
|
356
|
+
* // Example Usage (GRPC API behavior check test)
|
|
357
|
+
* // Create a new Datadog GRPC API test calling host example.org on port 443
|
|
358
|
+
* // targeting service `greeter.Greeter` with the method `SayHello`
|
|
359
|
+
* // and the message {"name": "John"}
|
|
360
|
+
* const testGrpcUnary = new datadog.SyntheticsTest("test_grpc_unary", {
|
|
361
|
+
* name: "GRPC API behavior check test",
|
|
362
|
+
* type: "api",
|
|
363
|
+
* subtype: "grpc",
|
|
364
|
+
* status: "live",
|
|
365
|
+
* locations: ["aws:eu-central-1"],
|
|
366
|
+
* tags: [
|
|
367
|
+
* "foo:bar",
|
|
368
|
+
* "foo",
|
|
369
|
+
* "env:test",
|
|
370
|
+
* ],
|
|
371
|
+
* requestDefinition: {
|
|
372
|
+
* host: "example.org",
|
|
373
|
+
* port: 443,
|
|
374
|
+
* callType: "unary",
|
|
375
|
+
* service: "greeter.Greeter",
|
|
376
|
+
* method: "SayHello",
|
|
377
|
+
* message: "{\"name\": \"John\"}",
|
|
378
|
+
* plainProtoFile: `syntax = "proto3";
|
|
379
|
+
*
|
|
380
|
+
* package greeter;
|
|
381
|
+
*
|
|
382
|
+
* // The greeting service definition.
|
|
383
|
+
* service Greeter {
|
|
384
|
+
* // Sends a greeting
|
|
385
|
+
* rpc SayHello (HelloRequest) returns (HelloReply) {}
|
|
386
|
+
* }
|
|
387
|
+
*
|
|
388
|
+
* // The request message containing the user's name.
|
|
389
|
+
* message HelloRequest {
|
|
390
|
+
* string name = 1;
|
|
391
|
+
* }
|
|
392
|
+
*
|
|
393
|
+
* // The response message containing the greetings
|
|
394
|
+
* message HelloReply {
|
|
395
|
+
* string message = 1;
|
|
396
|
+
* }
|
|
397
|
+
* `,
|
|
398
|
+
* },
|
|
399
|
+
* requestMetadata: {
|
|
400
|
+
* header: "value",
|
|
401
|
+
* },
|
|
402
|
+
* assertions: [
|
|
403
|
+
* {
|
|
404
|
+
* type: "responseTime",
|
|
405
|
+
* operator: "lessThan",
|
|
406
|
+
* target: "2000",
|
|
407
|
+
* },
|
|
408
|
+
* {
|
|
409
|
+
* operator: "is",
|
|
410
|
+
* type: "grpcHealthcheckStatus",
|
|
411
|
+
* target: "1",
|
|
412
|
+
* },
|
|
413
|
+
* {
|
|
414
|
+
* operator: "is",
|
|
415
|
+
* type: "grpcProto",
|
|
416
|
+
* target: "proto target",
|
|
417
|
+
* },
|
|
418
|
+
* {
|
|
419
|
+
* operator: "is",
|
|
420
|
+
* property: "property",
|
|
421
|
+
* type: "grpcMetadata",
|
|
422
|
+
* target: "123",
|
|
423
|
+
* },
|
|
424
|
+
* ],
|
|
425
|
+
* optionsList: {
|
|
426
|
+
* tickEvery: 900,
|
|
427
|
+
* },
|
|
428
|
+
* });
|
|
429
|
+
* // Example Usage (GRPC API health check test)
|
|
430
|
+
* // Create a new Datadog GRPC API test calling host example.org on port 443
|
|
431
|
+
* // testing the overall health of the service
|
|
432
|
+
* const testGrpcHealth = new datadog.SyntheticsTest("test_grpc_health", {
|
|
433
|
+
* name: "GRPC API health check test",
|
|
434
|
+
* type: "api",
|
|
435
|
+
* subtype: "grpc",
|
|
436
|
+
* status: "live",
|
|
437
|
+
* locations: ["aws:eu-central-1"],
|
|
438
|
+
* tags: [
|
|
439
|
+
* "foo:bar",
|
|
440
|
+
* "foo",
|
|
441
|
+
* "env:test",
|
|
442
|
+
* ],
|
|
443
|
+
* requestDefinition: {
|
|
444
|
+
* host: "example.org",
|
|
445
|
+
* port: 443,
|
|
446
|
+
* callType: "healthcheck",
|
|
447
|
+
* service: "greeter.Greeter",
|
|
448
|
+
* },
|
|
449
|
+
* assertions: [
|
|
450
|
+
* {
|
|
451
|
+
* type: "responseTime",
|
|
452
|
+
* operator: "lessThan",
|
|
453
|
+
* target: "2000",
|
|
454
|
+
* },
|
|
455
|
+
* {
|
|
456
|
+
* operator: "is",
|
|
457
|
+
* type: "grpcHealthcheckStatus",
|
|
458
|
+
* target: "1",
|
|
459
|
+
* },
|
|
460
|
+
* ],
|
|
461
|
+
* optionsList: {
|
|
462
|
+
* tickEvery: 900,
|
|
463
|
+
* },
|
|
464
|
+
* });
|
|
465
|
+
* ```
|
|
466
|
+
*
|
|
22
467
|
* ## Import
|
|
23
468
|
*
|
|
24
469
|
* Synthetics tests can be imported using their public string ID, e.g.
|
package/syntheticsTest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntheticsTest.js","sourceRoot":"","sources":["../syntheticsTest.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"syntheticsTest.js","sourceRoot":"","sources":["../syntheticsTest.ts"],"names":[],"mappings":"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"}
|