datadog.SyntheticsTest
Explore with Pulumi AI
Provides a Datadog synthetics test resource. This can be used to create and manage Datadog synthetics test.
Warning
Starting from version 3.1.0+, the direct usage of global variables in the configuration is deprecated, in favor of
local variables of type global
. As an example, if you were previously using {{ GLOBAL_VAR }}
directly in your
configuration, add a config_variable
of type global
with the id
matching the id
of the global variable GLOBAL_VAR
, which can be found in the Synthetics UI or from the output of the datadog.SyntheticsGlobalVariable
resource. The name can be chosen freely.
In practice, it means going from (simplified configuration):
url = https://{{ GLOBAL_VAR }}
to
config_variable {
name = "LOCAL_VAR"
id = [your_global_variable_id]
type = "global"
}
which you can now use in your request definition:
url = https://{{ LOCAL_VAR }}
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as datadog from "@pulumi/datadog";
// Example Usage (Synthetics API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
const testUptime = new datadog.SyntheticsTest("test_uptime", {
name: "An Uptime test on example.org",
type: "api",
subtype: "http",
status: "live",
message: "Notify @pagerduty",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
method: "GET",
url: "https://www.example.org",
},
requestHeaders: {
"Content-Type": "application/json",
},
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
optionsList: {
tickEvery: 900,
retry: {
count: 2,
interval: 300,
},
monitorOptions: {
renotifyInterval: 120,
},
},
});
// Example Usage (Authenticated API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
const testApi = new datadog.SyntheticsTest("test_api", {
name: "An API test on example.org",
type: "api",
subtype: "http",
status: "live",
message: "Notify @pagerduty",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
method: "GET",
url: "https://www.example.org",
},
requestHeaders: {
"Content-Type": "application/json",
Authentication: "Token: 1234566789",
},
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
optionsList: {
tickEvery: 900,
retry: {
count: 2,
interval: 300,
},
monitorOptions: {
renotifyInterval: 120,
},
},
});
// Example Usage (Synthetics SSL test)
// Create a new Datadog Synthetics API/SSL test on example.org
const testSsl = new datadog.SyntheticsTest("test_ssl", {
name: "An API test on example.org",
type: "api",
subtype: "ssl",
status: "live",
message: "Notify @pagerduty",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
host: "example.org",
port: "443",
},
assertions: [{
type: "certificate",
operator: "isInMoreThan",
target: "30",
}],
optionsList: {
tickEvery: 900,
acceptSelfSigned: true,
},
});
// Example Usage (Synthetics TCP test)
// Create a new Datadog Synthetics API/TCP test on example.org
const testTcp = new datadog.SyntheticsTest("test_tcp", {
name: "An API test on example.org",
type: "api",
subtype: "tcp",
status: "live",
message: "Notify @pagerduty",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
host: "example.org",
port: "443",
},
assertions: [{
type: "responseTime",
operator: "lessThan",
target: "2000",
}],
configVariables: [{
type: "global",
name: "MY_GLOBAL_VAR",
id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
}],
optionsList: {
tickEvery: 900,
},
});
// Example Usage (Synthetics DNS test)
// Create a new Datadog Synthetics API/DNS test on example.org
const testDns = new datadog.SyntheticsTest("test_dns", {
name: "An API test on example.org",
type: "api",
subtype: "dns",
status: "live",
message: "Notify @pagerduty",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
host: "example.org",
},
assertions: [{
type: "recordSome",
operator: "is",
property: "A",
target: "0.0.0.0",
}],
optionsList: {
tickEvery: 900,
},
});
// Example Usage (Synthetics Multistep API test)
// Create a new Datadog Synthetics Multistep API test
const testMultiStep = new datadog.SyntheticsTest("test_multi_step", {
name: "Multistep API test",
type: "api",
subtype: "multi",
status: "live",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
apiSteps: [
{
name: "An API test on example.org",
subtype: "http",
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
requestDefinition: {
method: "GET",
url: "https://www.example.org",
},
requestHeaders: {
"Content-Type": "application/json",
Authentication: "Token: 1234566789",
},
},
{
name: "An API test on example.org",
subtype: "http",
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
requestDefinition: {
method: "GET",
url: "http://example.org",
},
},
{
name: "A gRPC health check on example.org",
subtype: "grpc",
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
requestDefinition: {
host: "example.org",
port: "443",
callType: "healthcheck",
service: "greeter.Greeter",
},
},
{
name: "A gRPC behavior check on example.org",
subtype: "grpc",
assertions: [{
type: "statusCode",
operator: "is",
target: "200",
}],
requestDefinition: {
host: "example.org",
port: "443",
callType: "unary",
service: "greeter.Greeter",
method: "SayHello",
message: "{\"name\": \"John\"}",
plainProtoFile: `syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
`,
},
},
],
optionsList: {
tickEvery: 900,
acceptSelfSigned: true,
},
});
// Example Usage (Synthetics Browser test)
// Create a new Datadog Synthetics Browser test starting on https://www.example.org
const testBrowser = new datadog.SyntheticsTest("test_browser", {
name: "A Browser test on example.org",
type: "browser",
status: "paused",
message: "Notify @qa",
deviceIds: ["laptop_large"],
locations: ["aws:eu-central-1"],
tags: [],
requestDefinition: {
method: "GET",
url: "https://www.example.org",
},
browserSteps: [
{
name: "Check current url",
type: "assertCurrentUrl",
params: {
check: "contains",
value: "datadoghq",
},
},
{
name: "Test a downloaded file",
type: "assertFileDownload",
params: {
file: JSON.stringify({
md5: "abcdef1234567890",
sizeCheck: {
type: "equals",
value: 1,
},
nameCheck: {
type: "contains",
value: ".xls",
},
}),
},
},
],
browserVariables: [
{
type: "text",
name: "MY_PATTERN_VAR",
pattern: "{{numeric(3)}}",
example: "597",
},
{
type: "email",
name: "MY_EMAIL_VAR",
pattern: "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
example: "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
},
{
type: "global",
name: "MY_GLOBAL_VAR",
id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
},
],
optionsList: {
tickEvery: 3600,
},
});
// Example Usage (GRPC API behavior check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// targeting service `greeter.Greeter` with the method `SayHello`
// and the message {"name": "John"}
const testGrpcUnary = new datadog.SyntheticsTest("test_grpc_unary", {
name: "GRPC API behavior check test",
type: "api",
subtype: "grpc",
status: "live",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
host: "example.org",
port: "443",
callType: "unary",
service: "greeter.Greeter",
method: "SayHello",
message: "{\"name\": \"John\"}",
plainProtoFile: `syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
`,
},
requestMetadata: {
header: "value",
},
assertions: [
{
type: "responseTime",
operator: "lessThan",
target: "2000",
},
{
operator: "is",
type: "grpcHealthcheckStatus",
target: "1",
},
{
operator: "is",
type: "grpcProto",
target: "proto target",
},
{
operator: "is",
property: "property",
type: "grpcMetadata",
target: "123",
},
],
optionsList: {
tickEvery: 900,
},
});
// Example Usage (GRPC API health check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// testing the overall health of the service
const testGrpcHealth = new datadog.SyntheticsTest("test_grpc_health", {
name: "GRPC API health check test",
type: "api",
subtype: "grpc",
status: "live",
locations: ["aws:eu-central-1"],
tags: [
"foo:bar",
"foo",
"env:test",
],
requestDefinition: {
host: "example.org",
port: "443",
callType: "healthcheck",
service: "greeter.Greeter",
},
assertions: [
{
type: "responseTime",
operator: "lessThan",
target: "2000",
},
{
operator: "is",
type: "grpcHealthcheckStatus",
target: "1",
},
],
optionsList: {
tickEvery: 900,
},
});
import pulumi
import json
import pulumi_datadog as datadog
# Example Usage (Synthetics API test)
# Create a new Datadog Synthetics API/HTTP test on https://www.example.org
test_uptime = datadog.SyntheticsTest("test_uptime",
name="An Uptime test on example.org",
type="api",
subtype="http",
status="live",
message="Notify @pagerduty",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"method": "GET",
"url": "https://www.example.org",
},
request_headers={
"Content-Type": "application/json",
},
assertions=[{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
options_list={
"tick_every": 900,
"retry": {
"count": 2,
"interval": 300,
},
"monitor_options": {
"renotify_interval": 120,
},
})
# Example Usage (Authenticated API test)
# Create a new Datadog Synthetics API/HTTP test on https://www.example.org
test_api = datadog.SyntheticsTest("test_api",
name="An API test on example.org",
type="api",
subtype="http",
status="live",
message="Notify @pagerduty",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"method": "GET",
"url": "https://www.example.org",
},
request_headers={
"Content-Type": "application/json",
"Authentication": "Token: 1234566789",
},
assertions=[{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
options_list={
"tick_every": 900,
"retry": {
"count": 2,
"interval": 300,
},
"monitor_options": {
"renotify_interval": 120,
},
})
# Example Usage (Synthetics SSL test)
# Create a new Datadog Synthetics API/SSL test on example.org
test_ssl = datadog.SyntheticsTest("test_ssl",
name="An API test on example.org",
type="api",
subtype="ssl",
status="live",
message="Notify @pagerduty",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"host": "example.org",
"port": "443",
},
assertions=[{
"type": "certificate",
"operator": "isInMoreThan",
"target": "30",
}],
options_list={
"tick_every": 900,
"accept_self_signed": True,
})
# Example Usage (Synthetics TCP test)
# Create a new Datadog Synthetics API/TCP test on example.org
test_tcp = datadog.SyntheticsTest("test_tcp",
name="An API test on example.org",
type="api",
subtype="tcp",
status="live",
message="Notify @pagerduty",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"host": "example.org",
"port": "443",
},
assertions=[{
"type": "responseTime",
"operator": "lessThan",
"target": "2000",
}],
config_variables=[{
"type": "global",
"name": "MY_GLOBAL_VAR",
"id": "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
}],
options_list={
"tick_every": 900,
})
# Example Usage (Synthetics DNS test)
# Create a new Datadog Synthetics API/DNS test on example.org
test_dns = datadog.SyntheticsTest("test_dns",
name="An API test on example.org",
type="api",
subtype="dns",
status="live",
message="Notify @pagerduty",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"host": "example.org",
},
assertions=[{
"type": "recordSome",
"operator": "is",
"property": "A",
"target": "0.0.0.0",
}],
options_list={
"tick_every": 900,
})
# Example Usage (Synthetics Multistep API test)
# Create a new Datadog Synthetics Multistep API test
test_multi_step = datadog.SyntheticsTest("test_multi_step",
name="Multistep API test",
type="api",
subtype="multi",
status="live",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
api_steps=[
{
"name": "An API test on example.org",
"subtype": "http",
"assertions": [{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
"request_definition": {
"method": "GET",
"url": "https://www.example.org",
},
"request_headers": {
"content__type": "application/json",
"authentication": "Token: 1234566789",
},
},
{
"name": "An API test on example.org",
"subtype": "http",
"assertions": [{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
"request_definition": {
"method": "GET",
"url": "http://example.org",
},
},
{
"name": "A gRPC health check on example.org",
"subtype": "grpc",
"assertions": [{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
"request_definition": {
"host": "example.org",
"port": "443",
"call_type": "healthcheck",
"service": "greeter.Greeter",
},
},
{
"name": "A gRPC behavior check on example.org",
"subtype": "grpc",
"assertions": [{
"type": "statusCode",
"operator": "is",
"target": "200",
}],
"request_definition": {
"host": "example.org",
"port": "443",
"call_type": "unary",
"service": "greeter.Greeter",
"method": "SayHello",
"message": "{\"name\": \"John\"}",
"plain_proto_file": """syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
""",
},
},
],
options_list={
"tick_every": 900,
"accept_self_signed": True,
})
# Example Usage (Synthetics Browser test)
# Create a new Datadog Synthetics Browser test starting on https://www.example.org
test_browser = datadog.SyntheticsTest("test_browser",
name="A Browser test on example.org",
type="browser",
status="paused",
message="Notify @qa",
device_ids=["laptop_large"],
locations=["aws:eu-central-1"],
tags=[],
request_definition={
"method": "GET",
"url": "https://www.example.org",
},
browser_steps=[
{
"name": "Check current url",
"type": "assertCurrentUrl",
"params": {
"check": "contains",
"value": "datadoghq",
},
},
{
"name": "Test a downloaded file",
"type": "assertFileDownload",
"params": {
"file": json.dumps({
"md5": "abcdef1234567890",
"size_check": {
"type": "equals",
"value": 1,
},
"name_check": {
"type": "contains",
"value": ".xls",
},
}),
},
},
],
browser_variables=[
{
"type": "text",
"name": "MY_PATTERN_VAR",
"pattern": "{{numeric(3)}}",
"example": "597",
},
{
"type": "email",
"name": "MY_EMAIL_VAR",
"pattern": "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
"example": "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
},
{
"type": "global",
"name": "MY_GLOBAL_VAR",
"id": "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
},
],
options_list={
"tick_every": 3600,
})
# Example Usage (GRPC API behavior check test)
# Create a new Datadog GRPC API test calling host example.org on port 443
# targeting service `greeter.Greeter` with the method `SayHello`
# and the message {"name": "John"}
test_grpc_unary = datadog.SyntheticsTest("test_grpc_unary",
name="GRPC API behavior check test",
type="api",
subtype="grpc",
status="live",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"host": "example.org",
"port": "443",
"call_type": "unary",
"service": "greeter.Greeter",
"method": "SayHello",
"message": "{\"name\": \"John\"}",
"plain_proto_file": """syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
""",
},
request_metadata={
"header": "value",
},
assertions=[
{
"type": "responseTime",
"operator": "lessThan",
"target": "2000",
},
{
"operator": "is",
"type": "grpcHealthcheckStatus",
"target": "1",
},
{
"operator": "is",
"type": "grpcProto",
"target": "proto target",
},
{
"operator": "is",
"property": "property",
"type": "grpcMetadata",
"target": "123",
},
],
options_list={
"tick_every": 900,
})
# Example Usage (GRPC API health check test)
# Create a new Datadog GRPC API test calling host example.org on port 443
# testing the overall health of the service
test_grpc_health = datadog.SyntheticsTest("test_grpc_health",
name="GRPC API health check test",
type="api",
subtype="grpc",
status="live",
locations=["aws:eu-central-1"],
tags=[
"foo:bar",
"foo",
"env:test",
],
request_definition={
"host": "example.org",
"port": "443",
"call_type": "healthcheck",
"service": "greeter.Greeter",
},
assertions=[
{
"type": "responseTime",
"operator": "lessThan",
"target": "2000",
},
{
"operator": "is",
"type": "grpcHealthcheckStatus",
"target": "1",
},
],
options_list={
"tick_every": 900,
})
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Example Usage (Synthetics API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
_, err := datadog.NewSyntheticsTest(ctx, "test_uptime", &datadog.SyntheticsTestArgs{
Name: pulumi.String("An Uptime test on example.org"),
Type: pulumi.String("api"),
Subtype: pulumi.String("http"),
Status: pulumi.String("live"),
Message: pulumi.String("Notify @pagerduty"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Method: pulumi.String("GET"),
Url: pulumi.String("https://www.example.org"),
},
RequestHeaders: pulumi.StringMap{
"Content-Type": pulumi.String("application/json"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
Retry: &datadog.SyntheticsTestOptionsListRetryArgs{
Count: pulumi.Int(2),
Interval: pulumi.Int(300),
},
MonitorOptions: &datadog.SyntheticsTestOptionsListMonitorOptionsArgs{
RenotifyInterval: pulumi.Int(120),
},
},
})
if err != nil {
return err
}
// Example Usage (Authenticated API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
_, err = datadog.NewSyntheticsTest(ctx, "test_api", &datadog.SyntheticsTestArgs{
Name: pulumi.String("An API test on example.org"),
Type: pulumi.String("api"),
Subtype: pulumi.String("http"),
Status: pulumi.String("live"),
Message: pulumi.String("Notify @pagerduty"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Method: pulumi.String("GET"),
Url: pulumi.String("https://www.example.org"),
},
RequestHeaders: pulumi.StringMap{
"Content-Type": pulumi.String("application/json"),
"Authentication": pulumi.String("Token: 1234566789"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
Retry: &datadog.SyntheticsTestOptionsListRetryArgs{
Count: pulumi.Int(2),
Interval: pulumi.Int(300),
},
MonitorOptions: &datadog.SyntheticsTestOptionsListMonitorOptionsArgs{
RenotifyInterval: pulumi.Int(120),
},
},
})
if err != nil {
return err
}
// Example Usage (Synthetics SSL test)
// Create a new Datadog Synthetics API/SSL test on example.org
_, err = datadog.NewSyntheticsTest(ctx, "test_ssl", &datadog.SyntheticsTestArgs{
Name: pulumi.String("An API test on example.org"),
Type: pulumi.String("api"),
Subtype: pulumi.String("ssl"),
Status: pulumi.String("live"),
Message: pulumi.String("Notify @pagerduty"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("certificate"),
Operator: pulumi.String("isInMoreThan"),
Target: pulumi.String("30"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
AcceptSelfSigned: pulumi.Bool(true),
},
})
if err != nil {
return err
}
// Example Usage (Synthetics TCP test)
// Create a new Datadog Synthetics API/TCP test on example.org
_, err = datadog.NewSyntheticsTest(ctx, "test_tcp", &datadog.SyntheticsTestArgs{
Name: pulumi.String("An API test on example.org"),
Type: pulumi.String("api"),
Subtype: pulumi.String("tcp"),
Status: pulumi.String("live"),
Message: pulumi.String("Notify @pagerduty"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("responseTime"),
Operator: pulumi.String("lessThan"),
Target: pulumi.String("2000"),
},
},
ConfigVariables: datadog.SyntheticsTestConfigVariableArray{
&datadog.SyntheticsTestConfigVariableArgs{
Type: pulumi.String("global"),
Name: pulumi.String("MY_GLOBAL_VAR"),
Id: pulumi.String("76636cd1-82e2-4aeb-9cfe-51366a8198a2"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
},
})
if err != nil {
return err
}
// Example Usage (Synthetics DNS test)
// Create a new Datadog Synthetics API/DNS test on example.org
_, err = datadog.NewSyntheticsTest(ctx, "test_dns", &datadog.SyntheticsTestArgs{
Name: pulumi.String("An API test on example.org"),
Type: pulumi.String("api"),
Subtype: pulumi.String("dns"),
Status: pulumi.String("live"),
Message: pulumi.String("Notify @pagerduty"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Host: pulumi.String("example.org"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("recordSome"),
Operator: pulumi.String("is"),
Property: pulumi.String("A"),
Target: pulumi.String("0.0.0.0"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
},
})
if err != nil {
return err
}
// Example Usage (Synthetics Multistep API test)
// Create a new Datadog Synthetics Multistep API test
_, err = datadog.NewSyntheticsTest(ctx, "test_multi_step", &datadog.SyntheticsTestArgs{
Name: pulumi.String("Multistep API test"),
Type: pulumi.String("api"),
Subtype: pulumi.String("multi"),
Status: pulumi.String("live"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
ApiSteps: datadog.SyntheticsTestApiStepArray{
&datadog.SyntheticsTestApiStepArgs{
Name: pulumi.String("An API test on example.org"),
Subtype: pulumi.String("http"),
Assertions: datadog.SyntheticsTestApiStepAssertionArray{
&datadog.SyntheticsTestApiStepAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
Method: pulumi.String("GET"),
Url: pulumi.String("https://www.example.org"),
},
RequestHeaders: pulumi.StringMap{
"Content-Type": pulumi.String("application/json"),
"Authentication": pulumi.String("Token: 1234566789"),
},
},
&datadog.SyntheticsTestApiStepArgs{
Name: pulumi.String("An API test on example.org"),
Subtype: pulumi.String("http"),
Assertions: datadog.SyntheticsTestApiStepAssertionArray{
&datadog.SyntheticsTestApiStepAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
Method: pulumi.String("GET"),
Url: pulumi.String("http://example.org"),
},
},
&datadog.SyntheticsTestApiStepArgs{
Name: pulumi.String("A gRPC health check on example.org"),
Subtype: pulumi.String("grpc"),
Assertions: datadog.SyntheticsTestApiStepAssertionArray{
&datadog.SyntheticsTestApiStepAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
CallType: pulumi.String("healthcheck"),
Service: pulumi.String("greeter.Greeter"),
},
},
&datadog.SyntheticsTestApiStepArgs{
Name: pulumi.String("A gRPC behavior check on example.org"),
Subtype: pulumi.String("grpc"),
Assertions: datadog.SyntheticsTestApiStepAssertionArray{
&datadog.SyntheticsTestApiStepAssertionArgs{
Type: pulumi.String("statusCode"),
Operator: pulumi.String("is"),
Target: pulumi.String("200"),
},
},
RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
CallType: pulumi.String("unary"),
Service: pulumi.String("greeter.Greeter"),
Method: pulumi.String("SayHello"),
Message: pulumi.String("{\"name\": \"John\"}"),
PlainProtoFile: pulumi.String(`syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
`),
},
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
AcceptSelfSigned: pulumi.Bool(true),
},
})
if err != nil {
return err
}
tmpJSON0, err := json.Marshal(map[string]interface{}{
"md5": "abcdef1234567890",
"sizeCheck": map[string]interface{}{
"type": "equals",
"value": 1,
},
"nameCheck": map[string]interface{}{
"type": "contains",
"value": ".xls",
},
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
// Example Usage (Synthetics Browser test)
// Create a new Datadog Synthetics Browser test starting on https://www.example.org
_, err = datadog.NewSyntheticsTest(ctx, "test_browser", &datadog.SyntheticsTestArgs{
Name: pulumi.String("A Browser test on example.org"),
Type: pulumi.String("browser"),
Status: pulumi.String("paused"),
Message: pulumi.String("Notify @qa"),
DeviceIds: pulumi.StringArray{
pulumi.String("laptop_large"),
},
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Method: pulumi.String("GET"),
Url: pulumi.String("https://www.example.org"),
},
BrowserSteps: datadog.SyntheticsTestBrowserStepArray{
&datadog.SyntheticsTestBrowserStepArgs{
Name: pulumi.String("Check current url"),
Type: pulumi.String("assertCurrentUrl"),
Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
Check: pulumi.String("contains"),
Value: pulumi.String("datadoghq"),
},
},
&datadog.SyntheticsTestBrowserStepArgs{
Name: pulumi.String("Test a downloaded file"),
Type: pulumi.String("assertFileDownload"),
Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
File: pulumi.String(json0),
},
},
},
BrowserVariables: datadog.SyntheticsTestBrowserVariableArray{
&datadog.SyntheticsTestBrowserVariableArgs{
Type: pulumi.String("text"),
Name: pulumi.String("MY_PATTERN_VAR"),
Pattern: pulumi.String("{{numeric(3)}}"),
Example: pulumi.String("597"),
},
&datadog.SyntheticsTestBrowserVariableArgs{
Type: pulumi.String("email"),
Name: pulumi.String("MY_EMAIL_VAR"),
Pattern: pulumi.String("jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co"),
Example: pulumi.String("jd8-afe-ydv.4546132139@synthetics.dtdg.co"),
},
&datadog.SyntheticsTestBrowserVariableArgs{
Type: pulumi.String("global"),
Name: pulumi.String("MY_GLOBAL_VAR"),
Id: pulumi.String("76636cd1-82e2-4aeb-9cfe-51366a8198a2"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(3600),
},
})
if err != nil {
return err
}
// Example Usage (GRPC API behavior check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// targeting service `greeter.Greeter` with the method `SayHello`
// and the message {"name": "John"}
_, err = datadog.NewSyntheticsTest(ctx, "test_grpc_unary", &datadog.SyntheticsTestArgs{
Name: pulumi.String("GRPC API behavior check test"),
Type: pulumi.String("api"),
Subtype: pulumi.String("grpc"),
Status: pulumi.String("live"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
CallType: pulumi.String("unary"),
Service: pulumi.String("greeter.Greeter"),
Method: pulumi.String("SayHello"),
Message: pulumi.String("{\"name\": \"John\"}"),
PlainProtoFile: pulumi.String(`syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
`),
},
RequestMetadata: pulumi.StringMap{
"header": pulumi.String("value"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("responseTime"),
Operator: pulumi.String("lessThan"),
Target: pulumi.String("2000"),
},
&datadog.SyntheticsTestAssertionArgs{
Operator: pulumi.String("is"),
Type: pulumi.String("grpcHealthcheckStatus"),
Target: pulumi.String("1"),
},
&datadog.SyntheticsTestAssertionArgs{
Operator: pulumi.String("is"),
Type: pulumi.String("grpcProto"),
Target: pulumi.String("proto target"),
},
&datadog.SyntheticsTestAssertionArgs{
Operator: pulumi.String("is"),
Property: pulumi.String("property"),
Type: pulumi.String("grpcMetadata"),
Target: pulumi.String("123"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
},
})
if err != nil {
return err
}
// Example Usage (GRPC API health check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// testing the overall health of the service
_, err = datadog.NewSyntheticsTest(ctx, "test_grpc_health", &datadog.SyntheticsTestArgs{
Name: pulumi.String("GRPC API health check test"),
Type: pulumi.String("api"),
Subtype: pulumi.String("grpc"),
Status: pulumi.String("live"),
Locations: pulumi.StringArray{
pulumi.String("aws:eu-central-1"),
},
Tags: pulumi.StringArray{
pulumi.String("foo:bar"),
pulumi.String("foo"),
pulumi.String("env:test"),
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Host: pulumi.String("example.org"),
Port: pulumi.String("443"),
CallType: pulumi.String("healthcheck"),
Service: pulumi.String("greeter.Greeter"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Type: pulumi.String("responseTime"),
Operator: pulumi.String("lessThan"),
Target: pulumi.String("2000"),
},
&datadog.SyntheticsTestAssertionArgs{
Operator: pulumi.String("is"),
Type: pulumi.String("grpcHealthcheckStatus"),
Target: pulumi.String("1"),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(900),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Datadog = Pulumi.Datadog;
return await Deployment.RunAsync(() =>
{
// Example Usage (Synthetics API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
var testUptime = new Datadog.SyntheticsTest("test_uptime", new()
{
Name = "An Uptime test on example.org",
Type = "api",
Subtype = "http",
Status = "live",
Message = "Notify @pagerduty",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Method = "GET",
Url = "https://www.example.org",
},
RequestHeaders =
{
{ "Content-Type", "application/json" },
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs
{
Count = 2,
Interval = 300,
},
MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs
{
RenotifyInterval = 120,
},
},
});
// Example Usage (Authenticated API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
var testApi = new Datadog.SyntheticsTest("test_api", new()
{
Name = "An API test on example.org",
Type = "api",
Subtype = "http",
Status = "live",
Message = "Notify @pagerduty",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Method = "GET",
Url = "https://www.example.org",
},
RequestHeaders =
{
{ "Content-Type", "application/json" },
{ "Authentication", "Token: 1234566789" },
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs
{
Count = 2,
Interval = 300,
},
MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs
{
RenotifyInterval = 120,
},
},
});
// Example Usage (Synthetics SSL test)
// Create a new Datadog Synthetics API/SSL test on example.org
var testSsl = new Datadog.SyntheticsTest("test_ssl", new()
{
Name = "An API test on example.org",
Type = "api",
Subtype = "ssl",
Status = "live",
Message = "Notify @pagerduty",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "certificate",
Operator = "isInMoreThan",
Target = "30",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
AcceptSelfSigned = true,
},
});
// Example Usage (Synthetics TCP test)
// Create a new Datadog Synthetics API/TCP test on example.org
var testTcp = new Datadog.SyntheticsTest("test_tcp", new()
{
Name = "An API test on example.org",
Type = "api",
Subtype = "tcp",
Status = "live",
Message = "Notify @pagerduty",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "responseTime",
Operator = "lessThan",
Target = "2000",
},
},
ConfigVariables = new[]
{
new Datadog.Inputs.SyntheticsTestConfigVariableArgs
{
Type = "global",
Name = "MY_GLOBAL_VAR",
Id = "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
},
});
// Example Usage (Synthetics DNS test)
// Create a new Datadog Synthetics API/DNS test on example.org
var testDns = new Datadog.SyntheticsTest("test_dns", new()
{
Name = "An API test on example.org",
Type = "api",
Subtype = "dns",
Status = "live",
Message = "Notify @pagerduty",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Host = "example.org",
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "recordSome",
Operator = "is",
Property = "A",
Target = "0.0.0.0",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
},
});
// Example Usage (Synthetics Multistep API test)
// Create a new Datadog Synthetics Multistep API test
var testMultiStep = new Datadog.SyntheticsTest("test_multi_step", new()
{
Name = "Multistep API test",
Type = "api",
Subtype = "multi",
Status = "live",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
ApiSteps = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepArgs
{
Name = "An API test on example.org",
Subtype = "http",
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
{
Method = "GET",
Url = "https://www.example.org",
},
RequestHeaders =
{
{ "Content-Type", "application/json" },
{ "Authentication", "Token: 1234566789" },
},
},
new Datadog.Inputs.SyntheticsTestApiStepArgs
{
Name = "An API test on example.org",
Subtype = "http",
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
{
Method = "GET",
Url = "http://example.org",
},
},
new Datadog.Inputs.SyntheticsTestApiStepArgs
{
Name = "A gRPC health check on example.org",
Subtype = "grpc",
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
CallType = "healthcheck",
Service = "greeter.Greeter",
},
},
new Datadog.Inputs.SyntheticsTestApiStepArgs
{
Name = "A gRPC behavior check on example.org",
Subtype = "grpc",
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
{
Type = "statusCode",
Operator = "is",
Target = "200",
},
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
CallType = "unary",
Service = "greeter.Greeter",
Method = "SayHello",
Message = "{\"name\": \"John\"}",
PlainProtoFile = @"syntax = ""proto3"";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
",
},
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
AcceptSelfSigned = true,
},
});
// Example Usage (Synthetics Browser test)
// Create a new Datadog Synthetics Browser test starting on https://www.example.org
var testBrowser = new Datadog.SyntheticsTest("test_browser", new()
{
Name = "A Browser test on example.org",
Type = "browser",
Status = "paused",
Message = "Notify @qa",
DeviceIds = new[]
{
"laptop_large",
},
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[] {},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Method = "GET",
Url = "https://www.example.org",
},
BrowserSteps = new[]
{
new Datadog.Inputs.SyntheticsTestBrowserStepArgs
{
Name = "Check current url",
Type = "assertCurrentUrl",
Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
{
Check = "contains",
Value = "datadoghq",
},
},
new Datadog.Inputs.SyntheticsTestBrowserStepArgs
{
Name = "Test a downloaded file",
Type = "assertFileDownload",
Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
{
File = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["md5"] = "abcdef1234567890",
["sizeCheck"] = new Dictionary<string, object?>
{
["type"] = "equals",
["value"] = 1,
},
["nameCheck"] = new Dictionary<string, object?>
{
["type"] = "contains",
["value"] = ".xls",
},
}),
},
},
},
BrowserVariables = new[]
{
new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
{
Type = "text",
Name = "MY_PATTERN_VAR",
Pattern = "{{numeric(3)}}",
Example = "597",
},
new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
{
Type = "email",
Name = "MY_EMAIL_VAR",
Pattern = "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
Example = "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
},
new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
{
Type = "global",
Name = "MY_GLOBAL_VAR",
Id = "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 3600,
},
});
// Example Usage (GRPC API behavior check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// targeting service `greeter.Greeter` with the method `SayHello`
// and the message {"name": "John"}
var testGrpcUnary = new Datadog.SyntheticsTest("test_grpc_unary", new()
{
Name = "GRPC API behavior check test",
Type = "api",
Subtype = "grpc",
Status = "live",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
CallType = "unary",
Service = "greeter.Greeter",
Method = "SayHello",
Message = "{\"name\": \"John\"}",
PlainProtoFile = @"syntax = ""proto3"";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
",
},
RequestMetadata =
{
{ "header", "value" },
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "responseTime",
Operator = "lessThan",
Target = "2000",
},
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Operator = "is",
Type = "grpcHealthcheckStatus",
Target = "1",
},
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Operator = "is",
Type = "grpcProto",
Target = "proto target",
},
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Operator = "is",
Property = "property",
Type = "grpcMetadata",
Target = "123",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
},
});
// Example Usage (GRPC API health check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// testing the overall health of the service
var testGrpcHealth = new Datadog.SyntheticsTest("test_grpc_health", new()
{
Name = "GRPC API health check test",
Type = "api",
Subtype = "grpc",
Status = "live",
Locations = new[]
{
"aws:eu-central-1",
},
Tags = new[]
{
"foo:bar",
"foo",
"env:test",
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Host = "example.org",
Port = "443",
CallType = "healthcheck",
Service = "greeter.Greeter",
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Type = "responseTime",
Operator = "lessThan",
Target = "2000",
},
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Operator = "is",
Type = "grpcHealthcheckStatus",
Target = "1",
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 900,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.datadog.SyntheticsTest;
import com.pulumi.datadog.SyntheticsTestArgs;
import com.pulumi.datadog.inputs.SyntheticsTestRequestDefinitionArgs;
import com.pulumi.datadog.inputs.SyntheticsTestAssertionArgs;
import com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs;
import com.pulumi.datadog.inputs.SyntheticsTestOptionsListRetryArgs;
import com.pulumi.datadog.inputs.SyntheticsTestOptionsListMonitorOptionsArgs;
import com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs;
import com.pulumi.datadog.inputs.SyntheticsTestApiStepArgs;
import com.pulumi.datadog.inputs.SyntheticsTestApiStepRequestDefinitionArgs;
import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs;
import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs;
import com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Example Usage (Synthetics API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
var testUptime = new SyntheticsTest("testUptime", SyntheticsTestArgs.builder()
.name("An Uptime test on example.org")
.type("api")
.subtype("http")
.status("live")
.message("Notify @pagerduty")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.method("GET")
.url("https://www.example.org")
.build())
.requestHeaders(Map.of("Content-Type", "application/json"))
.assertions(SyntheticsTestAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.retry(SyntheticsTestOptionsListRetryArgs.builder()
.count(2)
.interval(300)
.build())
.monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()
.renotifyInterval(120)
.build())
.build())
.build());
// Example Usage (Authenticated API test)
// Create a new Datadog Synthetics API/HTTP test on https://www.example.org
var testApi = new SyntheticsTest("testApi", SyntheticsTestArgs.builder()
.name("An API test on example.org")
.type("api")
.subtype("http")
.status("live")
.message("Notify @pagerduty")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.method("GET")
.url("https://www.example.org")
.build())
.requestHeaders(Map.ofEntries(
Map.entry("Content-Type", "application/json"),
Map.entry("Authentication", "Token: 1234566789")
))
.assertions(SyntheticsTestAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.retry(SyntheticsTestOptionsListRetryArgs.builder()
.count(2)
.interval(300)
.build())
.monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()
.renotifyInterval(120)
.build())
.build())
.build());
// Example Usage (Synthetics SSL test)
// Create a new Datadog Synthetics API/SSL test on example.org
var testSsl = new SyntheticsTest("testSsl", SyntheticsTestArgs.builder()
.name("An API test on example.org")
.type("api")
.subtype("ssl")
.status("live")
.message("Notify @pagerduty")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.build())
.assertions(SyntheticsTestAssertionArgs.builder()
.type("certificate")
.operator("isInMoreThan")
.target(30)
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.acceptSelfSigned(true)
.build())
.build());
// Example Usage (Synthetics TCP test)
// Create a new Datadog Synthetics API/TCP test on example.org
var testTcp = new SyntheticsTest("testTcp", SyntheticsTestArgs.builder()
.name("An API test on example.org")
.type("api")
.subtype("tcp")
.status("live")
.message("Notify @pagerduty")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.build())
.assertions(SyntheticsTestAssertionArgs.builder()
.type("responseTime")
.operator("lessThan")
.target(2000)
.build())
.configVariables(SyntheticsTestConfigVariableArgs.builder()
.type("global")
.name("MY_GLOBAL_VAR")
.id("76636cd1-82e2-4aeb-9cfe-51366a8198a2")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.build())
.build());
// Example Usage (Synthetics DNS test)
// Create a new Datadog Synthetics API/DNS test on example.org
var testDns = new SyntheticsTest("testDns", SyntheticsTestArgs.builder()
.name("An API test on example.org")
.type("api")
.subtype("dns")
.status("live")
.message("Notify @pagerduty")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.host("example.org")
.build())
.assertions(SyntheticsTestAssertionArgs.builder()
.type("recordSome")
.operator("is")
.property("A")
.target("0.0.0.0")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.build())
.build());
// Example Usage (Synthetics Multistep API test)
// Create a new Datadog Synthetics Multistep API test
var testMultiStep = new SyntheticsTest("testMultiStep", SyntheticsTestArgs.builder()
.name("Multistep API test")
.type("api")
.subtype("multi")
.status("live")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.apiSteps(
SyntheticsTestApiStepArgs.builder()
.name("An API test on example.org")
.subtype("http")
.assertions(SyntheticsTestApiStepAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
.method("GET")
.url("https://www.example.org")
.build())
.requestHeaders(Map.ofEntries(
Map.entry("Content-Type", "application/json"),
Map.entry("Authentication", "Token: 1234566789")
))
.build(),
SyntheticsTestApiStepArgs.builder()
.name("An API test on example.org")
.subtype("http")
.assertions(SyntheticsTestApiStepAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
.method("GET")
.url("http://example.org")
.build())
.build(),
SyntheticsTestApiStepArgs.builder()
.name("A gRPC health check on example.org")
.subtype("grpc")
.assertions(SyntheticsTestApiStepAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.callType("healthcheck")
.service("greeter.Greeter")
.build())
.build(),
SyntheticsTestApiStepArgs.builder()
.name("A gRPC behavior check on example.org")
.subtype("grpc")
.assertions(SyntheticsTestApiStepAssertionArgs.builder()
.type("statusCode")
.operator("is")
.target("200")
.build())
.requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.callType("unary")
.service("greeter.Greeter")
.method("SayHello")
.message("{\"name\": \"John\"}")
.plainProtoFile("""
syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
""")
.build())
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.acceptSelfSigned(true)
.build())
.build());
// Example Usage (Synthetics Browser test)
// Create a new Datadog Synthetics Browser test starting on https://www.example.org
var testBrowser = new SyntheticsTest("testBrowser", SyntheticsTestArgs.builder()
.name("A Browser test on example.org")
.type("browser")
.status("paused")
.message("Notify @qa")
.deviceIds("laptop_large")
.locations("aws:eu-central-1")
.tags()
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.method("GET")
.url("https://www.example.org")
.build())
.browserSteps(
SyntheticsTestBrowserStepArgs.builder()
.name("Check current url")
.type("assertCurrentUrl")
.params(SyntheticsTestBrowserStepParamsArgs.builder()
.check("contains")
.value("datadoghq")
.build())
.build(),
SyntheticsTestBrowserStepArgs.builder()
.name("Test a downloaded file")
.type("assertFileDownload")
.params(SyntheticsTestBrowserStepParamsArgs.builder()
.file(serializeJson(
jsonObject(
jsonProperty("md5", "abcdef1234567890"),
jsonProperty("sizeCheck", jsonObject(
jsonProperty("type", "equals"),
jsonProperty("value", 1)
)),
jsonProperty("nameCheck", jsonObject(
jsonProperty("type", "contains"),
jsonProperty("value", ".xls")
))
)))
.build())
.build())
.browserVariables(
SyntheticsTestBrowserVariableArgs.builder()
.type("text")
.name("MY_PATTERN_VAR")
.pattern("{{numeric(3)}}")
.example("597")
.build(),
SyntheticsTestBrowserVariableArgs.builder()
.type("email")
.name("MY_EMAIL_VAR")
.pattern("jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co")
.example("jd8-afe-ydv.4546132139@synthetics.dtdg.co")
.build(),
SyntheticsTestBrowserVariableArgs.builder()
.type("global")
.name("MY_GLOBAL_VAR")
.id("76636cd1-82e2-4aeb-9cfe-51366a8198a2")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(3600)
.build())
.build());
// Example Usage (GRPC API behavior check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// targeting service `greeter.Greeter` with the method `SayHello`
// and the message {"name": "John"}
var testGrpcUnary = new SyntheticsTest("testGrpcUnary", SyntheticsTestArgs.builder()
.name("GRPC API behavior check test")
.type("api")
.subtype("grpc")
.status("live")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.callType("unary")
.service("greeter.Greeter")
.method("SayHello")
.message("{\"name\": \"John\"}")
.plainProtoFile("""
syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
""")
.build())
.requestMetadata(Map.of("header", "value"))
.assertions(
SyntheticsTestAssertionArgs.builder()
.type("responseTime")
.operator("lessThan")
.target("2000")
.build(),
SyntheticsTestAssertionArgs.builder()
.operator("is")
.type("grpcHealthcheckStatus")
.target(1)
.build(),
SyntheticsTestAssertionArgs.builder()
.operator("is")
.type("grpcProto")
.target("proto target")
.build(),
SyntheticsTestAssertionArgs.builder()
.operator("is")
.property("property")
.type("grpcMetadata")
.target("123")
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.build())
.build());
// Example Usage (GRPC API health check test)
// Create a new Datadog GRPC API test calling host example.org on port 443
// testing the overall health of the service
var testGrpcHealth = new SyntheticsTest("testGrpcHealth", SyntheticsTestArgs.builder()
.name("GRPC API health check test")
.type("api")
.subtype("grpc")
.status("live")
.locations("aws:eu-central-1")
.tags(
"foo:bar",
"foo",
"env:test")
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.host("example.org")
.port("443")
.callType("healthcheck")
.service("greeter.Greeter")
.build())
.assertions(
SyntheticsTestAssertionArgs.builder()
.type("responseTime")
.operator("lessThan")
.target("2000")
.build(),
SyntheticsTestAssertionArgs.builder()
.operator("is")
.type("grpcHealthcheckStatus")
.target(1)
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(900)
.build())
.build());
}
}
resources:
# Example Usage (Synthetics API test)
# Create a new Datadog Synthetics API/HTTP test on https://www.example.org
testUptime:
type: datadog:SyntheticsTest
name: test_uptime
properties:
name: An Uptime test on example.org
type: api
subtype: http
status: live
message: Notify @pagerduty
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
method: GET
url: https://www.example.org
requestHeaders:
Content-Type: application/json
assertions:
- type: statusCode
operator: is
target: '200'
optionsList:
tickEvery: 900
retry:
count: 2
interval: 300
monitorOptions:
renotifyInterval: 120
# Example Usage (Authenticated API test)
# Create a new Datadog Synthetics API/HTTP test on https://www.example.org
testApi:
type: datadog:SyntheticsTest
name: test_api
properties:
name: An API test on example.org
type: api
subtype: http
status: live
message: Notify @pagerduty
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
method: GET
url: https://www.example.org
requestHeaders:
Content-Type: application/json
Authentication: 'Token: 1234566789'
assertions:
- type: statusCode
operator: is
target: '200'
optionsList:
tickEvery: 900
retry:
count: 2
interval: 300
monitorOptions:
renotifyInterval: 120
# Example Usage (Synthetics SSL test)
# Create a new Datadog Synthetics API/SSL test on example.org
testSsl:
type: datadog:SyntheticsTest
name: test_ssl
properties:
name: An API test on example.org
type: api
subtype: ssl
status: live
message: Notify @pagerduty
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
host: example.org
port: '443'
assertions:
- type: certificate
operator: isInMoreThan
target: 30
optionsList:
tickEvery: 900
acceptSelfSigned: true
# Example Usage (Synthetics TCP test)
# Create a new Datadog Synthetics API/TCP test on example.org
testTcp:
type: datadog:SyntheticsTest
name: test_tcp
properties:
name: An API test on example.org
type: api
subtype: tcp
status: live
message: Notify @pagerduty
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
host: example.org
port: '443'
assertions:
- type: responseTime
operator: lessThan
target: 2000
configVariables:
- type: global
name: MY_GLOBAL_VAR
id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2
optionsList:
tickEvery: 900
# Example Usage (Synthetics DNS test)
# Create a new Datadog Synthetics API/DNS test on example.org
testDns:
type: datadog:SyntheticsTest
name: test_dns
properties:
name: An API test on example.org
type: api
subtype: dns
status: live
message: Notify @pagerduty
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
host: example.org
assertions:
- type: recordSome
operator: is
property: A
target: 0.0.0.0
optionsList:
tickEvery: 900
# Example Usage (Synthetics Multistep API test)
# Create a new Datadog Synthetics Multistep API test
testMultiStep:
type: datadog:SyntheticsTest
name: test_multi_step
properties:
name: Multistep API test
type: api
subtype: multi
status: live
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
apiSteps:
- name: An API test on example.org
subtype: http
assertions:
- type: statusCode
operator: is
target: '200'
requestDefinition:
method: GET
url: https://www.example.org
requestHeaders:
Content-Type: application/json
Authentication: 'Token: 1234566789'
- name: An API test on example.org
subtype: http
assertions:
- type: statusCode
operator: is
target: '200'
requestDefinition:
method: GET
url: http://example.org
- name: A gRPC health check on example.org
subtype: grpc
assertions:
- type: statusCode
operator: is
target: '200'
requestDefinition:
host: example.org
port: '443'
callType: healthcheck
service: greeter.Greeter
- name: A gRPC behavior check on example.org
subtype: grpc
assertions:
- type: statusCode
operator: is
target: '200'
requestDefinition:
host: example.org
port: '443'
callType: unary
service: greeter.Greeter
method: SayHello
message: '{"name": "John"}'
plainProtoFile: |
syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
optionsList:
tickEvery: 900
acceptSelfSigned: true
# Example Usage (Synthetics Browser test)
# Create a new Datadog Synthetics Browser test starting on https://www.example.org
testBrowser:
type: datadog:SyntheticsTest
name: test_browser
properties:
name: A Browser test on example.org
type: browser
status: paused
message: Notify @qa
deviceIds:
- laptop_large
locations:
- aws:eu-central-1
tags: []
requestDefinition:
method: GET
url: https://www.example.org
browserSteps:
- name: Check current url
type: assertCurrentUrl
params:
check: contains
value: datadoghq
- name: Test a downloaded file
type: assertFileDownload
params:
file:
fn::toJSON:
md5: abcdef1234567890
sizeCheck:
type: equals
value: 1
nameCheck:
type: contains
value: .xls
browserVariables:
- type: text
name: MY_PATTERN_VAR
pattern: '{{numeric(3)}}'
example: '597'
- type: email
name: MY_EMAIL_VAR
pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co
example: jd8-afe-ydv.4546132139@synthetics.dtdg.co
- type: global
name: MY_GLOBAL_VAR
id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2
optionsList:
tickEvery: 3600
# Example Usage (GRPC API behavior check test)
# Create a new Datadog GRPC API test calling host example.org on port 443
# targeting service `greeter.Greeter` with the method `SayHello`
# and the message {"name": "John"}
testGrpcUnary:
type: datadog:SyntheticsTest
name: test_grpc_unary
properties:
name: GRPC API behavior check test
type: api
subtype: grpc
status: live
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
host: example.org
port: '443'
callType: unary
service: greeter.Greeter
method: SayHello
message: '{"name": "John"}'
plainProtoFile: |
syntax = "proto3";
package greeter;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
requestMetadata:
header: value
assertions:
- type: responseTime
operator: lessThan
target: '2000'
- operator: is
type: grpcHealthcheckStatus
target: 1
- operator: is
type: grpcProto
target: proto target
- operator: is
property: property
type: grpcMetadata
target: '123'
optionsList:
tickEvery: 900
# Example Usage (GRPC API health check test)
# Create a new Datadog GRPC API test calling host example.org on port 443
# testing the overall health of the service
testGrpcHealth:
type: datadog:SyntheticsTest
name: test_grpc_health
properties:
name: GRPC API health check test
type: api
subtype: grpc
status: live
locations:
- aws:eu-central-1
tags:
- foo:bar
- foo
- env:test
requestDefinition:
host: example.org
port: '443'
callType: healthcheck
service: greeter.Greeter
assertions:
- type: responseTime
operator: lessThan
target: '2000'
- operator: is
type: grpcHealthcheckStatus
target: 1
optionsList:
tickEvery: 900
Create SyntheticsTest Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SyntheticsTest(name: string, args: SyntheticsTestArgs, opts?: CustomResourceOptions);
@overload
def SyntheticsTest(resource_name: str,
args: SyntheticsTestArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SyntheticsTest(resource_name: str,
opts: Optional[ResourceOptions] = None,
locations: Optional[Sequence[str]] = None,
type: Optional[str] = None,
status: Optional[str] = None,
name: Optional[str] = None,
request_client_certificate: Optional[SyntheticsTestRequestClientCertificateArgs] = None,
request_headers: Optional[Mapping[str, str]] = None,
force_delete_dependencies: Optional[bool] = None,
config_variables: Optional[Sequence[SyntheticsTestConfigVariableArgs]] = None,
message: Optional[str] = None,
browser_variables: Optional[Sequence[SyntheticsTestBrowserVariableArgs]] = None,
options_list: Optional[SyntheticsTestOptionsListArgs] = None,
request_basicauth: Optional[SyntheticsTestRequestBasicauthArgs] = None,
api_steps: Optional[Sequence[SyntheticsTestApiStepArgs]] = None,
request_definition: Optional[SyntheticsTestRequestDefinitionArgs] = None,
request_files: Optional[Sequence[SyntheticsTestRequestFileArgs]] = None,
device_ids: Optional[Sequence[str]] = None,
request_metadata: Optional[Mapping[str, str]] = None,
request_proxy: Optional[SyntheticsTestRequestProxyArgs] = None,
request_query: Optional[Mapping[str, str]] = None,
set_cookie: Optional[str] = None,
browser_steps: Optional[Sequence[SyntheticsTestBrowserStepArgs]] = None,
subtype: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
assertions: Optional[Sequence[SyntheticsTestAssertionArgs]] = None,
variables_from_script: Optional[str] = None)
func NewSyntheticsTest(ctx *Context, name string, args SyntheticsTestArgs, opts ...ResourceOption) (*SyntheticsTest, error)
public SyntheticsTest(string name, SyntheticsTestArgs args, CustomResourceOptions? opts = null)
public SyntheticsTest(String name, SyntheticsTestArgs args)
public SyntheticsTest(String name, SyntheticsTestArgs args, CustomResourceOptions options)
type: datadog:SyntheticsTest
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args SyntheticsTestArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SyntheticsTestArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SyntheticsTestArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SyntheticsTestArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SyntheticsTestArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var syntheticsTestResource = new Datadog.SyntheticsTest("syntheticsTestResource", new()
{
Locations = new[]
{
"string",
},
Type = "string",
Status = "string",
Name = "string",
RequestClientCertificate = new Datadog.Inputs.SyntheticsTestRequestClientCertificateArgs
{
Cert = new Datadog.Inputs.SyntheticsTestRequestClientCertificateCertArgs
{
Content = "string",
Filename = "string",
},
Key = new Datadog.Inputs.SyntheticsTestRequestClientCertificateKeyArgs
{
Content = "string",
Filename = "string",
},
},
RequestHeaders =
{
{ "string", "string" },
},
ForceDeleteDependencies = false,
ConfigVariables = new[]
{
new Datadog.Inputs.SyntheticsTestConfigVariableArgs
{
Name = "string",
Type = "string",
Example = "string",
Id = "string",
Pattern = "string",
Secure = false,
},
},
Message = "string",
BrowserVariables = new[]
{
new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
{
Name = "string",
Type = "string",
Example = "string",
Id = "string",
Pattern = "string",
Secure = false,
},
},
OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
{
TickEvery = 0,
MinFailureDuration = 0,
RumSettings = new Datadog.Inputs.SyntheticsTestOptionsListRumSettingsArgs
{
IsEnabled = false,
ApplicationId = "string",
ClientTokenId = 0,
},
Ci = new Datadog.Inputs.SyntheticsTestOptionsListCiArgs
{
ExecutionRule = "string",
},
DisableCors = false,
DisableCsp = false,
FollowRedirects = false,
HttpVersion = "string",
MinLocationFailed = 0,
AllowInsecure = false,
CheckCertificateRevocation = false,
IgnoreServerCertificateError = false,
MonitorName = "string",
MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs
{
RenotifyInterval = 0,
},
MonitorPriority = 0,
NoScreenshot = false,
RestrictedRoles = new[]
{
"string",
},
Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs
{
Count = 0,
Interval = 0,
},
AcceptSelfSigned = false,
Scheduling = new Datadog.Inputs.SyntheticsTestOptionsListSchedulingArgs
{
Timeframes = new[]
{
new Datadog.Inputs.SyntheticsTestOptionsListSchedulingTimeframeArgs
{
Day = 0,
From = "string",
To = "string",
},
},
Timezone = "string",
},
InitialNavigationTimeout = 0,
},
RequestBasicauth = new Datadog.Inputs.SyntheticsTestRequestBasicauthArgs
{
AccessKey = "string",
AccessTokenUrl = "string",
Audience = "string",
ClientId = "string",
ClientSecret = "string",
Domain = "string",
Password = "string",
Region = "string",
Resource = "string",
Scope = "string",
SecretKey = "string",
ServiceName = "string",
SessionToken = "string",
TokenApiAuthentication = "string",
Type = "string",
Username = "string",
Workstation = "string",
},
ApiSteps = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepArgs
{
Name = "string",
RequestFiles = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepRequestFileArgs
{
Name = "string",
Size = 0,
Type = "string",
BucketKey = "string",
Content = "string",
OriginalFileName = "string",
},
},
RequestHeaders =
{
{ "string", "string" },
},
IsCritical = false,
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
{
Operator = "string",
Type = "string",
Property = "string",
Target = "string",
Targetjsonpath = new Datadog.Inputs.SyntheticsTestApiStepAssertionTargetjsonpathArgs
{
Jsonpath = "string",
Operator = "string",
Elementsoperator = "string",
Targetvalue = "string",
},
Targetjsonschema = new Datadog.Inputs.SyntheticsTestApiStepAssertionTargetjsonschemaArgs
{
Jsonschema = "string",
Metaschema = "string",
},
Targetxpath = new Datadog.Inputs.SyntheticsTestApiStepAssertionTargetxpathArgs
{
Operator = "string",
Xpath = "string",
Targetvalue = "string",
},
TimingsScope = "string",
},
},
RequestBasicauth = new Datadog.Inputs.SyntheticsTestApiStepRequestBasicauthArgs
{
AccessKey = "string",
AccessTokenUrl = "string",
Audience = "string",
ClientId = "string",
ClientSecret = "string",
Domain = "string",
Password = "string",
Region = "string",
Resource = "string",
Scope = "string",
SecretKey = "string",
ServiceName = "string",
SessionToken = "string",
TokenApiAuthentication = "string",
Type = "string",
Username = "string",
Workstation = "string",
},
RequestClientCertificate = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateArgs
{
Cert = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateCertArgs
{
Content = "string",
Filename = "string",
},
Key = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateKeyArgs
{
Content = "string",
Filename = "string",
},
},
ExtractedValues = new[]
{
new Datadog.Inputs.SyntheticsTestApiStepExtractedValueArgs
{
Name = "string",
Parser = new Datadog.Inputs.SyntheticsTestApiStepExtractedValueParserArgs
{
Type = "string",
Value = "string",
},
Type = "string",
Field = "string",
Secure = false,
},
},
AllowFailure = false,
RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
{
AllowInsecure = false,
Body = "string",
BodyType = "string",
CallType = "string",
CertificateDomains = new[]
{
"string",
},
DnsServer = "string",
DnsServerPort = "string",
FollowRedirects = false,
Host = "string",
HttpVersion = "string",
Message = "string",
Method = "string",
NoSavingResponseBody = false,
NumberOfPackets = 0,
PersistCookies = false,
PlainProtoFile = "string",
Port = "string",
Servername = "string",
Service = "string",
ShouldTrackHops = false,
Timeout = 0,
Url = "string",
},
RequestMetadata =
{
{ "string", "string" },
},
RequestProxy = new Datadog.Inputs.SyntheticsTestApiStepRequestProxyArgs
{
Url = "string",
Headers =
{
{ "string", "string" },
},
},
RequestQuery =
{
{ "string", "string" },
},
Retry = new Datadog.Inputs.SyntheticsTestApiStepRetryArgs
{
Count = 0,
Interval = 0,
},
Subtype = "string",
Value = 0,
},
},
RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
{
Body = "string",
BodyType = "string",
CallType = "string",
CertificateDomains = new[]
{
"string",
},
DnsServer = "string",
DnsServerPort = "string",
Host = "string",
Message = "string",
Method = "string",
NoSavingResponseBody = false,
NumberOfPackets = 0,
PersistCookies = false,
PlainProtoFile = "string",
Port = "string",
Servername = "string",
Service = "string",
ShouldTrackHops = false,
Timeout = 0,
Url = "string",
},
RequestFiles = new[]
{
new Datadog.Inputs.SyntheticsTestRequestFileArgs
{
Name = "string",
Size = 0,
Type = "string",
BucketKey = "string",
Content = "string",
OriginalFileName = "string",
},
},
DeviceIds = new[]
{
"string",
},
RequestMetadata =
{
{ "string", "string" },
},
RequestProxy = new Datadog.Inputs.SyntheticsTestRequestProxyArgs
{
Url = "string",
Headers =
{
{ "string", "string" },
},
},
RequestQuery =
{
{ "string", "string" },
},
SetCookie = "string",
BrowserSteps = new[]
{
new Datadog.Inputs.SyntheticsTestBrowserStepArgs
{
Name = "string",
Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
{
Attribute = "string",
Check = "string",
ClickType = "string",
Code = "string",
Delay = 0,
Element = "string",
ElementUserLocator = new Datadog.Inputs.SyntheticsTestBrowserStepParamsElementUserLocatorArgs
{
Value = new Datadog.Inputs.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs
{
Value = "string",
Type = "string",
},
FailTestOnCannotLocate = false,
},
Email = "string",
File = "string",
Files = "string",
Modifiers = new[]
{
"string",
},
PlayingTabId = "string",
Request = "string",
SubtestPublicId = "string",
Value = "string",
Variable = new Datadog.Inputs.SyntheticsTestBrowserStepParamsVariableArgs
{
Example = "string",
Name = "string",
},
WithClick = false,
X = 0,
Y = 0,
},
Type = "string",
AllowFailure = false,
ForceElementUpdate = false,
IsCritical = false,
NoScreenshot = false,
Timeout = 0,
},
},
Subtype = "string",
Tags = new[]
{
"string",
},
Assertions = new[]
{
new Datadog.Inputs.SyntheticsTestAssertionArgs
{
Operator = "string",
Type = "string",
Property = "string",
Target = "string",
Targetjsonpath = new Datadog.Inputs.SyntheticsTestAssertionTargetjsonpathArgs
{
Jsonpath = "string",
Operator = "string",
Elementsoperator = "string",
Targetvalue = "string",
},
Targetjsonschema = new Datadog.Inputs.SyntheticsTestAssertionTargetjsonschemaArgs
{
Jsonschema = "string",
Metaschema = "string",
},
Targetxpath = new Datadog.Inputs.SyntheticsTestAssertionTargetxpathArgs
{
Operator = "string",
Xpath = "string",
Targetvalue = "string",
},
TimingsScope = "string",
},
},
VariablesFromScript = "string",
});
example, err := datadog.NewSyntheticsTest(ctx, "syntheticsTestResource", &datadog.SyntheticsTestArgs{
Locations: pulumi.StringArray{
pulumi.String("string"),
},
Type: pulumi.String("string"),
Status: pulumi.String("string"),
Name: pulumi.String("string"),
RequestClientCertificate: &datadog.SyntheticsTestRequestClientCertificateArgs{
Cert: &datadog.SyntheticsTestRequestClientCertificateCertArgs{
Content: pulumi.String("string"),
Filename: pulumi.String("string"),
},
Key: &datadog.SyntheticsTestRequestClientCertificateKeyArgs{
Content: pulumi.String("string"),
Filename: pulumi.String("string"),
},
},
RequestHeaders: pulumi.StringMap{
"string": pulumi.String("string"),
},
ForceDeleteDependencies: pulumi.Bool(false),
ConfigVariables: datadog.SyntheticsTestConfigVariableArray{
&datadog.SyntheticsTestConfigVariableArgs{
Name: pulumi.String("string"),
Type: pulumi.String("string"),
Example: pulumi.String("string"),
Id: pulumi.String("string"),
Pattern: pulumi.String("string"),
Secure: pulumi.Bool(false),
},
},
Message: pulumi.String("string"),
BrowserVariables: datadog.SyntheticsTestBrowserVariableArray{
&datadog.SyntheticsTestBrowserVariableArgs{
Name: pulumi.String("string"),
Type: pulumi.String("string"),
Example: pulumi.String("string"),
Id: pulumi.String("string"),
Pattern: pulumi.String("string"),
Secure: pulumi.Bool(false),
},
},
OptionsList: &datadog.SyntheticsTestOptionsListArgs{
TickEvery: pulumi.Int(0),
MinFailureDuration: pulumi.Int(0),
RumSettings: &datadog.SyntheticsTestOptionsListRumSettingsArgs{
IsEnabled: pulumi.Bool(false),
ApplicationId: pulumi.String("string"),
ClientTokenId: pulumi.Int(0),
},
Ci: &datadog.SyntheticsTestOptionsListCiArgs{
ExecutionRule: pulumi.String("string"),
},
DisableCors: pulumi.Bool(false),
DisableCsp: pulumi.Bool(false),
FollowRedirects: pulumi.Bool(false),
HttpVersion: pulumi.String("string"),
MinLocationFailed: pulumi.Int(0),
AllowInsecure: pulumi.Bool(false),
CheckCertificateRevocation: pulumi.Bool(false),
IgnoreServerCertificateError: pulumi.Bool(false),
MonitorName: pulumi.String("string"),
MonitorOptions: &datadog.SyntheticsTestOptionsListMonitorOptionsArgs{
RenotifyInterval: pulumi.Int(0),
},
MonitorPriority: pulumi.Int(0),
NoScreenshot: pulumi.Bool(false),
RestrictedRoles: pulumi.StringArray{
pulumi.String("string"),
},
Retry: &datadog.SyntheticsTestOptionsListRetryArgs{
Count: pulumi.Int(0),
Interval: pulumi.Int(0),
},
AcceptSelfSigned: pulumi.Bool(false),
Scheduling: &datadog.SyntheticsTestOptionsListSchedulingArgs{
Timeframes: datadog.SyntheticsTestOptionsListSchedulingTimeframeArray{
&datadog.SyntheticsTestOptionsListSchedulingTimeframeArgs{
Day: pulumi.Int(0),
From: pulumi.String("string"),
To: pulumi.String("string"),
},
},
Timezone: pulumi.String("string"),
},
InitialNavigationTimeout: pulumi.Int(0),
},
RequestBasicauth: &datadog.SyntheticsTestRequestBasicauthArgs{
AccessKey: pulumi.String("string"),
AccessTokenUrl: pulumi.String("string"),
Audience: pulumi.String("string"),
ClientId: pulumi.String("string"),
ClientSecret: pulumi.String("string"),
Domain: pulumi.String("string"),
Password: pulumi.String("string"),
Region: pulumi.String("string"),
Resource: pulumi.String("string"),
Scope: pulumi.String("string"),
SecretKey: pulumi.String("string"),
ServiceName: pulumi.String("string"),
SessionToken: pulumi.String("string"),
TokenApiAuthentication: pulumi.String("string"),
Type: pulumi.String("string"),
Username: pulumi.String("string"),
Workstation: pulumi.String("string"),
},
ApiSteps: datadog.SyntheticsTestApiStepArray{
&datadog.SyntheticsTestApiStepArgs{
Name: pulumi.String("string"),
RequestFiles: datadog.SyntheticsTestApiStepRequestFileArray{
&datadog.SyntheticsTestApiStepRequestFileArgs{
Name: pulumi.String("string"),
Size: pulumi.Int(0),
Type: pulumi.String("string"),
BucketKey: pulumi.String("string"),
Content: pulumi.String("string"),
OriginalFileName: pulumi.String("string"),
},
},
RequestHeaders: pulumi.StringMap{
"string": pulumi.String("string"),
},
IsCritical: pulumi.Bool(false),
Assertions: datadog.SyntheticsTestApiStepAssertionArray{
&datadog.SyntheticsTestApiStepAssertionArgs{
Operator: pulumi.String("string"),
Type: pulumi.String("string"),
Property: pulumi.String("string"),
Target: pulumi.String("string"),
Targetjsonpath: &datadog.SyntheticsTestApiStepAssertionTargetjsonpathArgs{
Jsonpath: pulumi.String("string"),
Operator: pulumi.String("string"),
Elementsoperator: pulumi.String("string"),
Targetvalue: pulumi.String("string"),
},
Targetjsonschema: &datadog.SyntheticsTestApiStepAssertionTargetjsonschemaArgs{
Jsonschema: pulumi.String("string"),
Metaschema: pulumi.String("string"),
},
Targetxpath: &datadog.SyntheticsTestApiStepAssertionTargetxpathArgs{
Operator: pulumi.String("string"),
Xpath: pulumi.String("string"),
Targetvalue: pulumi.String("string"),
},
TimingsScope: pulumi.String("string"),
},
},
RequestBasicauth: &datadog.SyntheticsTestApiStepRequestBasicauthArgs{
AccessKey: pulumi.String("string"),
AccessTokenUrl: pulumi.String("string"),
Audience: pulumi.String("string"),
ClientId: pulumi.String("string"),
ClientSecret: pulumi.String("string"),
Domain: pulumi.String("string"),
Password: pulumi.String("string"),
Region: pulumi.String("string"),
Resource: pulumi.String("string"),
Scope: pulumi.String("string"),
SecretKey: pulumi.String("string"),
ServiceName: pulumi.String("string"),
SessionToken: pulumi.String("string"),
TokenApiAuthentication: pulumi.String("string"),
Type: pulumi.String("string"),
Username: pulumi.String("string"),
Workstation: pulumi.String("string"),
},
RequestClientCertificate: &datadog.SyntheticsTestApiStepRequestClientCertificateArgs{
Cert: &datadog.SyntheticsTestApiStepRequestClientCertificateCertArgs{
Content: pulumi.String("string"),
Filename: pulumi.String("string"),
},
Key: &datadog.SyntheticsTestApiStepRequestClientCertificateKeyArgs{
Content: pulumi.String("string"),
Filename: pulumi.String("string"),
},
},
ExtractedValues: datadog.SyntheticsTestApiStepExtractedValueArray{
&datadog.SyntheticsTestApiStepExtractedValueArgs{
Name: pulumi.String("string"),
Parser: &datadog.SyntheticsTestApiStepExtractedValueParserArgs{
Type: pulumi.String("string"),
Value: pulumi.String("string"),
},
Type: pulumi.String("string"),
Field: pulumi.String("string"),
Secure: pulumi.Bool(false),
},
},
AllowFailure: pulumi.Bool(false),
RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
AllowInsecure: pulumi.Bool(false),
Body: pulumi.String("string"),
BodyType: pulumi.String("string"),
CallType: pulumi.String("string"),
CertificateDomains: pulumi.StringArray{
pulumi.String("string"),
},
DnsServer: pulumi.String("string"),
DnsServerPort: pulumi.String("string"),
FollowRedirects: pulumi.Bool(false),
Host: pulumi.String("string"),
HttpVersion: pulumi.String("string"),
Message: pulumi.String("string"),
Method: pulumi.String("string"),
NoSavingResponseBody: pulumi.Bool(false),
NumberOfPackets: pulumi.Int(0),
PersistCookies: pulumi.Bool(false),
PlainProtoFile: pulumi.String("string"),
Port: pulumi.String("string"),
Servername: pulumi.String("string"),
Service: pulumi.String("string"),
ShouldTrackHops: pulumi.Bool(false),
Timeout: pulumi.Int(0),
Url: pulumi.String("string"),
},
RequestMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
RequestProxy: &datadog.SyntheticsTestApiStepRequestProxyArgs{
Url: pulumi.String("string"),
Headers: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
RequestQuery: pulumi.StringMap{
"string": pulumi.String("string"),
},
Retry: &datadog.SyntheticsTestApiStepRetryArgs{
Count: pulumi.Int(0),
Interval: pulumi.Int(0),
},
Subtype: pulumi.String("string"),
Value: pulumi.Int(0),
},
},
RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
Body: pulumi.String("string"),
BodyType: pulumi.String("string"),
CallType: pulumi.String("string"),
CertificateDomains: pulumi.StringArray{
pulumi.String("string"),
},
DnsServer: pulumi.String("string"),
DnsServerPort: pulumi.String("string"),
Host: pulumi.String("string"),
Message: pulumi.String("string"),
Method: pulumi.String("string"),
NoSavingResponseBody: pulumi.Bool(false),
NumberOfPackets: pulumi.Int(0),
PersistCookies: pulumi.Bool(false),
PlainProtoFile: pulumi.String("string"),
Port: pulumi.String("string"),
Servername: pulumi.String("string"),
Service: pulumi.String("string"),
ShouldTrackHops: pulumi.Bool(false),
Timeout: pulumi.Int(0),
Url: pulumi.String("string"),
},
RequestFiles: datadog.SyntheticsTestRequestFileArray{
&datadog.SyntheticsTestRequestFileArgs{
Name: pulumi.String("string"),
Size: pulumi.Int(0),
Type: pulumi.String("string"),
BucketKey: pulumi.String("string"),
Content: pulumi.String("string"),
OriginalFileName: pulumi.String("string"),
},
},
DeviceIds: pulumi.StringArray{
pulumi.String("string"),
},
RequestMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
RequestProxy: &datadog.SyntheticsTestRequestProxyArgs{
Url: pulumi.String("string"),
Headers: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
RequestQuery: pulumi.StringMap{
"string": pulumi.String("string"),
},
SetCookie: pulumi.String("string"),
BrowserSteps: datadog.SyntheticsTestBrowserStepArray{
&datadog.SyntheticsTestBrowserStepArgs{
Name: pulumi.String("string"),
Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
Attribute: pulumi.String("string"),
Check: pulumi.String("string"),
ClickType: pulumi.String("string"),
Code: pulumi.String("string"),
Delay: pulumi.Int(0),
Element: pulumi.String("string"),
ElementUserLocator: &datadog.SyntheticsTestBrowserStepParamsElementUserLocatorArgs{
Value: &datadog.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs{
Value: pulumi.String("string"),
Type: pulumi.String("string"),
},
FailTestOnCannotLocate: pulumi.Bool(false),
},
Email: pulumi.String("string"),
File: pulumi.String("string"),
Files: pulumi.String("string"),
Modifiers: pulumi.StringArray{
pulumi.String("string"),
},
PlayingTabId: pulumi.String("string"),
Request: pulumi.String("string"),
SubtestPublicId: pulumi.String("string"),
Value: pulumi.String("string"),
Variable: &datadog.SyntheticsTestBrowserStepParamsVariableArgs{
Example: pulumi.String("string"),
Name: pulumi.String("string"),
},
WithClick: pulumi.Bool(false),
X: pulumi.Int(0),
Y: pulumi.Int(0),
},
Type: pulumi.String("string"),
AllowFailure: pulumi.Bool(false),
ForceElementUpdate: pulumi.Bool(false),
IsCritical: pulumi.Bool(false),
NoScreenshot: pulumi.Bool(false),
Timeout: pulumi.Int(0),
},
},
Subtype: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Assertions: datadog.SyntheticsTestAssertionArray{
&datadog.SyntheticsTestAssertionArgs{
Operator: pulumi.String("string"),
Type: pulumi.String("string"),
Property: pulumi.String("string"),
Target: pulumi.String("string"),
Targetjsonpath: &datadog.SyntheticsTestAssertionTargetjsonpathArgs{
Jsonpath: pulumi.String("string"),
Operator: pulumi.String("string"),
Elementsoperator: pulumi.String("string"),
Targetvalue: pulumi.String("string"),
},
Targetjsonschema: &datadog.SyntheticsTestAssertionTargetjsonschemaArgs{
Jsonschema: pulumi.String("string"),
Metaschema: pulumi.String("string"),
},
Targetxpath: &datadog.SyntheticsTestAssertionTargetxpathArgs{
Operator: pulumi.String("string"),
Xpath: pulumi.String("string"),
Targetvalue: pulumi.String("string"),
},
TimingsScope: pulumi.String("string"),
},
},
VariablesFromScript: pulumi.String("string"),
})
var syntheticsTestResource = new SyntheticsTest("syntheticsTestResource", SyntheticsTestArgs.builder()
.locations("string")
.type("string")
.status("string")
.name("string")
.requestClientCertificate(SyntheticsTestRequestClientCertificateArgs.builder()
.cert(SyntheticsTestRequestClientCertificateCertArgs.builder()
.content("string")
.filename("string")
.build())
.key(SyntheticsTestRequestClientCertificateKeyArgs.builder()
.content("string")
.filename("string")
.build())
.build())
.requestHeaders(Map.of("string", "string"))
.forceDeleteDependencies(false)
.configVariables(SyntheticsTestConfigVariableArgs.builder()
.name("string")
.type("string")
.example("string")
.id("string")
.pattern("string")
.secure(false)
.build())
.message("string")
.browserVariables(SyntheticsTestBrowserVariableArgs.builder()
.name("string")
.type("string")
.example("string")
.id("string")
.pattern("string")
.secure(false)
.build())
.optionsList(SyntheticsTestOptionsListArgs.builder()
.tickEvery(0)
.minFailureDuration(0)
.rumSettings(SyntheticsTestOptionsListRumSettingsArgs.builder()
.isEnabled(false)
.applicationId("string")
.clientTokenId(0)
.build())
.ci(SyntheticsTestOptionsListCiArgs.builder()
.executionRule("string")
.build())
.disableCors(false)
.disableCsp(false)
.followRedirects(false)
.httpVersion("string")
.minLocationFailed(0)
.allowInsecure(false)
.checkCertificateRevocation(false)
.ignoreServerCertificateError(false)
.monitorName("string")
.monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()
.renotifyInterval(0)
.build())
.monitorPriority(0)
.noScreenshot(false)
.restrictedRoles("string")
.retry(SyntheticsTestOptionsListRetryArgs.builder()
.count(0)
.interval(0)
.build())
.acceptSelfSigned(false)
.scheduling(SyntheticsTestOptionsListSchedulingArgs.builder()
.timeframes(SyntheticsTestOptionsListSchedulingTimeframeArgs.builder()
.day(0)
.from("string")
.to("string")
.build())
.timezone("string")
.build())
.initialNavigationTimeout(0)
.build())
.requestBasicauth(SyntheticsTestRequestBasicauthArgs.builder()
.accessKey("string")
.accessTokenUrl("string")
.audience("string")
.clientId("string")
.clientSecret("string")
.domain("string")
.password("string")
.region("string")
.resource("string")
.scope("string")
.secretKey("string")
.serviceName("string")
.sessionToken("string")
.tokenApiAuthentication("string")
.type("string")
.username("string")
.workstation("string")
.build())
.apiSteps(SyntheticsTestApiStepArgs.builder()
.name("string")
.requestFiles(SyntheticsTestApiStepRequestFileArgs.builder()
.name("string")
.size(0)
.type("string")
.bucketKey("string")
.content("string")
.originalFileName("string")
.build())
.requestHeaders(Map.of("string", "string"))
.isCritical(false)
.assertions(SyntheticsTestApiStepAssertionArgs.builder()
.operator("string")
.type("string")
.property("string")
.target("string")
.targetjsonpath(SyntheticsTestApiStepAssertionTargetjsonpathArgs.builder()
.jsonpath("string")
.operator("string")
.elementsoperator("string")
.targetvalue("string")
.build())
.targetjsonschema(SyntheticsTestApiStepAssertionTargetjsonschemaArgs.builder()
.jsonschema("string")
.metaschema("string")
.build())
.targetxpath(SyntheticsTestApiStepAssertionTargetxpathArgs.builder()
.operator("string")
.xpath("string")
.targetvalue("string")
.build())
.timingsScope("string")
.build())
.requestBasicauth(SyntheticsTestApiStepRequestBasicauthArgs.builder()
.accessKey("string")
.accessTokenUrl("string")
.audience("string")
.clientId("string")
.clientSecret("string")
.domain("string")
.password("string")
.region("string")
.resource("string")
.scope("string")
.secretKey("string")
.serviceName("string")
.sessionToken("string")
.tokenApiAuthentication("string")
.type("string")
.username("string")
.workstation("string")
.build())
.requestClientCertificate(SyntheticsTestApiStepRequestClientCertificateArgs.builder()
.cert(SyntheticsTestApiStepRequestClientCertificateCertArgs.builder()
.content("string")
.filename("string")
.build())
.key(SyntheticsTestApiStepRequestClientCertificateKeyArgs.builder()
.content("string")
.filename("string")
.build())
.build())
.extractedValues(SyntheticsTestApiStepExtractedValueArgs.builder()
.name("string")
.parser(SyntheticsTestApiStepExtractedValueParserArgs.builder()
.type("string")
.value("string")
.build())
.type("string")
.field("string")
.secure(false)
.build())
.allowFailure(false)
.requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
.allowInsecure(false)
.body("string")
.bodyType("string")
.callType("string")
.certificateDomains("string")
.dnsServer("string")
.dnsServerPort("string")
.followRedirects(false)
.host("string")
.httpVersion("string")
.message("string")
.method("string")
.noSavingResponseBody(false)
.numberOfPackets(0)
.persistCookies(false)
.plainProtoFile("string")
.port("string")
.servername("string")
.service("string")
.shouldTrackHops(false)
.timeout(0)
.url("string")
.build())
.requestMetadata(Map.of("string", "string"))
.requestProxy(SyntheticsTestApiStepRequestProxyArgs.builder()
.url("string")
.headers(Map.of("string", "string"))
.build())
.requestQuery(Map.of("string", "string"))
.retry(SyntheticsTestApiStepRetryArgs.builder()
.count(0)
.interval(0)
.build())
.subtype("string")
.value(0)
.build())
.requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
.body("string")
.bodyType("string")
.callType("string")
.certificateDomains("string")
.dnsServer("string")
.dnsServerPort("string")
.host("string")
.message("string")
.method("string")
.noSavingResponseBody(false)
.numberOfPackets(0)
.persistCookies(false)
.plainProtoFile("string")
.port("string")
.servername("string")
.service("string")
.shouldTrackHops(false)
.timeout(0)
.url("string")
.build())
.requestFiles(SyntheticsTestRequestFileArgs.builder()
.name("string")
.size(0)
.type("string")
.bucketKey("string")
.content("string")
.originalFileName("string")
.build())
.deviceIds("string")
.requestMetadata(Map.of("string", "string"))
.requestProxy(SyntheticsTestRequestProxyArgs.builder()
.url("string")
.headers(Map.of("string", "string"))
.build())
.requestQuery(Map.of("string", "string"))
.setCookie("string")
.browserSteps(SyntheticsTestBrowserStepArgs.builder()
.name("string")
.params(SyntheticsTestBrowserStepParamsArgs.builder()
.attribute("string")
.check("string")
.clickType("string")
.code("string")
.delay(0)
.element("string")
.elementUserLocator(SyntheticsTestBrowserStepParamsElementUserLocatorArgs.builder()
.value(SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs.builder()
.value("string")
.type("string")
.build())
.failTestOnCannotLocate(false)
.build())
.email("string")
.file("string")
.files("string")
.modifiers("string")
.playingTabId("string")
.request("string")
.subtestPublicId("string")
.value("string")
.variable(SyntheticsTestBrowserStepParamsVariableArgs.builder()
.example("string")
.name("string")
.build())
.withClick(false)
.x(0)
.y(0)
.build())
.type("string")
.allowFailure(false)
.forceElementUpdate(false)
.isCritical(false)
.noScreenshot(false)
.timeout(0)
.build())
.subtype("string")
.tags("string")
.assertions(SyntheticsTestAssertionArgs.builder()
.operator("string")
.type("string")
.property("string")
.target("string")
.targetjsonpath(SyntheticsTestAssertionTargetjsonpathArgs.builder()
.jsonpath("string")
.operator("string")
.elementsoperator("string")
.targetvalue("string")
.build())
.targetjsonschema(SyntheticsTestAssertionTargetjsonschemaArgs.builder()
.jsonschema("string")
.metaschema("string")
.build())
.targetxpath(SyntheticsTestAssertionTargetxpathArgs.builder()
.operator("string")
.xpath("string")
.targetvalue("string")
.build())
.timingsScope("string")
.build())
.variablesFromScript("string")
.build());
synthetics_test_resource = datadog.SyntheticsTest("syntheticsTestResource",
locations=["string"],
type="string",
status="string",
name="string",
request_client_certificate=datadog.SyntheticsTestRequestClientCertificateArgs(
cert=datadog.SyntheticsTestRequestClientCertificateCertArgs(
content="string",
filename="string",
),
key=datadog.SyntheticsTestRequestClientCertificateKeyArgs(
content="string",
filename="string",
),
),
request_headers={
"string": "string",
},
force_delete_dependencies=False,
config_variables=[datadog.SyntheticsTestConfigVariableArgs(
name="string",
type="string",
example="string",
id="string",
pattern="string",
secure=False,
)],
message="string",
browser_variables=[datadog.SyntheticsTestBrowserVariableArgs(
name="string",
type="string",
example="string",
id="string",
pattern="string",
secure=False,
)],
options_list=datadog.SyntheticsTestOptionsListArgs(
tick_every=0,
min_failure_duration=0,
rum_settings=datadog.SyntheticsTestOptionsListRumSettingsArgs(
is_enabled=False,
application_id="string",
client_token_id=0,
),
ci=datadog.SyntheticsTestOptionsListCiArgs(
execution_rule="string",
),
disable_cors=False,
disable_csp=False,
follow_redirects=False,
http_version="string",
min_location_failed=0,
allow_insecure=False,
check_certificate_revocation=False,
ignore_server_certificate_error=False,
monitor_name="string",
monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(
renotify_interval=0,
),
monitor_priority=0,
no_screenshot=False,
restricted_roles=["string"],
retry=datadog.SyntheticsTestOptionsListRetryArgs(
count=0,
interval=0,
),
accept_self_signed=False,
scheduling=datadog.SyntheticsTestOptionsListSchedulingArgs(
timeframes=[datadog.SyntheticsTestOptionsListSchedulingTimeframeArgs(
day=0,
from_="string",
to="string",
)],
timezone="string",
),
initial_navigation_timeout=0,
),
request_basicauth=datadog.SyntheticsTestRequestBasicauthArgs(
access_key="string",
access_token_url="string",
audience="string",
client_id="string",
client_secret="string",
domain="string",
password="string",
region="string",
resource="string",
scope="string",
secret_key="string",
service_name="string",
session_token="string",
token_api_authentication="string",
type="string",
username="string",
workstation="string",
),
api_steps=[datadog.SyntheticsTestApiStepArgs(
name="string",
request_files=[datadog.SyntheticsTestApiStepRequestFileArgs(
name="string",
size=0,
type="string",
bucket_key="string",
content="string",
original_file_name="string",
)],
request_headers={
"string": "string",
},
is_critical=False,
assertions=[datadog.SyntheticsTestApiStepAssertionArgs(
operator="string",
type="string",
property="string",
target="string",
targetjsonpath=datadog.SyntheticsTestApiStepAssertionTargetjsonpathArgs(
jsonpath="string",
operator="string",
elementsoperator="string",
targetvalue="string",
),
targetjsonschema=datadog.SyntheticsTestApiStepAssertionTargetjsonschemaArgs(
jsonschema="string",
metaschema="string",
),
targetxpath=datadog.SyntheticsTestApiStepAssertionTargetxpathArgs(
operator="string",
xpath="string",
targetvalue="string",
),
timings_scope="string",
)],
request_basicauth=datadog.SyntheticsTestApiStepRequestBasicauthArgs(
access_key="string",
access_token_url="string",
audience="string",
client_id="string",
client_secret="string",
domain="string",
password="string",
region="string",
resource="string",
scope="string",
secret_key="string",
service_name="string",
session_token="string",
token_api_authentication="string",
type="string",
username="string",
workstation="string",
),
request_client_certificate=datadog.SyntheticsTestApiStepRequestClientCertificateArgs(
cert=datadog.SyntheticsTestApiStepRequestClientCertificateCertArgs(
content="string",
filename="string",
),
key=datadog.SyntheticsTestApiStepRequestClientCertificateKeyArgs(
content="string",
filename="string",
),
),
extracted_values=[datadog.SyntheticsTestApiStepExtractedValueArgs(
name="string",
parser=datadog.SyntheticsTestApiStepExtractedValueParserArgs(
type="string",
value="string",
),
type="string",
field="string",
secure=False,
)],
allow_failure=False,
request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(
allow_insecure=False,
body="string",
body_type="string",
call_type="string",
certificate_domains=["string"],
dns_server="string",
dns_server_port="string",
follow_redirects=False,
host="string",
http_version="string",
message="string",
method="string",
no_saving_response_body=False,
number_of_packets=0,
persist_cookies=False,
plain_proto_file="string",
port="string",
servername="string",
service="string",
should_track_hops=False,
timeout=0,
url="string",
),
request_metadata={
"string": "string",
},
request_proxy=datadog.SyntheticsTestApiStepRequestProxyArgs(
url="string",
headers={
"string": "string",
},
),
request_query={
"string": "string",
},
retry=datadog.SyntheticsTestApiStepRetryArgs(
count=0,
interval=0,
),
subtype="string",
value=0,
)],
request_definition=datadog.SyntheticsTestRequestDefinitionArgs(
body="string",
body_type="string",
call_type="string",
certificate_domains=["string"],
dns_server="string",
dns_server_port="string",
host="string",
message="string",
method="string",
no_saving_response_body=False,
number_of_packets=0,
persist_cookies=False,
plain_proto_file="string",
port="string",
servername="string",
service="string",
should_track_hops=False,
timeout=0,
url="string",
),
request_files=[datadog.SyntheticsTestRequestFileArgs(
name="string",
size=0,
type="string",
bucket_key="string",
content="string",
original_file_name="string",
)],
device_ids=["string"],
request_metadata={
"string": "string",
},
request_proxy=datadog.SyntheticsTestRequestProxyArgs(
url="string",
headers={
"string": "string",
},
),
request_query={
"string": "string",
},
set_cookie="string",
browser_steps=[datadog.SyntheticsTestBrowserStepArgs(
name="string",
params=datadog.SyntheticsTestBrowserStepParamsArgs(
attribute="string",
check="string",
click_type="string",
code="string",
delay=0,
element="string",
element_user_locator=datadog.SyntheticsTestBrowserStepParamsElementUserLocatorArgs(
value=datadog.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs(
value="string",
type="string",
),
fail_test_on_cannot_locate=False,
),
email="string",
file="string",
files="string",
modifiers=["string"],
playing_tab_id="string",
request="string",
subtest_public_id="string",
value="string",
variable=datadog.SyntheticsTestBrowserStepParamsVariableArgs(
example="string",
name="string",
),
with_click=False,
x=0,
y=0,
),
type="string",
allow_failure=False,
force_element_update=False,
is_critical=False,
no_screenshot=False,
timeout=0,
)],
subtype="string",
tags=["string"],
assertions=[datadog.SyntheticsTestAssertionArgs(
operator="string",
type="string",
property="string",
target="string",
targetjsonpath=datadog.SyntheticsTestAssertionTargetjsonpathArgs(
jsonpath="string",
operator="string",
elementsoperator="string",
targetvalue="string",
),
targetjsonschema=datadog.SyntheticsTestAssertionTargetjsonschemaArgs(
jsonschema="string",
metaschema="string",
),
targetxpath=datadog.SyntheticsTestAssertionTargetxpathArgs(
operator="string",
xpath="string",
targetvalue="string",
),
timings_scope="string",
)],
variables_from_script="string")
const syntheticsTestResource = new datadog.SyntheticsTest("syntheticsTestResource", {
locations: ["string"],
type: "string",
status: "string",
name: "string",
requestClientCertificate: {
cert: {
content: "string",
filename: "string",
},
key: {
content: "string",
filename: "string",
},
},
requestHeaders: {
string: "string",
},
forceDeleteDependencies: false,
configVariables: [{
name: "string",
type: "string",
example: "string",
id: "string",
pattern: "string",
secure: false,
}],
message: "string",
browserVariables: [{
name: "string",
type: "string",
example: "string",
id: "string",
pattern: "string",
secure: false,
}],
optionsList: {
tickEvery: 0,
minFailureDuration: 0,
rumSettings: {
isEnabled: false,
applicationId: "string",
clientTokenId: 0,
},
ci: {
executionRule: "string",
},
disableCors: false,
disableCsp: false,
followRedirects: false,
httpVersion: "string",
minLocationFailed: 0,
allowInsecure: false,
checkCertificateRevocation: false,
ignoreServerCertificateError: false,
monitorName: "string",
monitorOptions: {
renotifyInterval: 0,
},
monitorPriority: 0,
noScreenshot: false,
restrictedRoles: ["string"],
retry: {
count: 0,
interval: 0,
},
acceptSelfSigned: false,
scheduling: {
timeframes: [{
day: 0,
from: "string",
to: "string",
}],
timezone: "string",
},
initialNavigationTimeout: 0,
},
requestBasicauth: {
accessKey: "string",
accessTokenUrl: "string",
audience: "string",
clientId: "string",
clientSecret: "string",
domain: "string",
password: "string",
region: "string",
resource: "string",
scope: "string",
secretKey: "string",
serviceName: "string",
sessionToken: "string",
tokenApiAuthentication: "string",
type: "string",
username: "string",
workstation: "string",
},
apiSteps: [{
name: "string",
requestFiles: [{
name: "string",
size: 0,
type: "string",
bucketKey: "string",
content: "string",
originalFileName: "string",
}],
requestHeaders: {
string: "string",
},
isCritical: false,
assertions: [{
operator: "string",
type: "string",
property: "string",
target: "string",
targetjsonpath: {
jsonpath: "string",
operator: "string",
elementsoperator: "string",
targetvalue: "string",
},
targetjsonschema: {
jsonschema: "string",
metaschema: "string",
},
targetxpath: {
operator: "string",
xpath: "string",
targetvalue: "string",
},
timingsScope: "string",
}],
requestBasicauth: {
accessKey: "string",
accessTokenUrl: "string",
audience: "string",
clientId: "string",
clientSecret: "string",
domain: "string",
password: "string",
region: "string",
resource: "string",
scope: "string",
secretKey: "string",
serviceName: "string",
sessionToken: "string",
tokenApiAuthentication: "string",
type: "string",
username: "string",
workstation: "string",
},
requestClientCertificate: {
cert: {
content: "string",
filename: "string",
},
key: {
content: "string",
filename: "string",
},
},
extractedValues: [{
name: "string",
parser: {
type: "string",
value: "string",
},
type: "string",
field: "string",
secure: false,
}],
allowFailure: false,
requestDefinition: {
allowInsecure: false,
body: "string",
bodyType: "string",
callType: "string",
certificateDomains: ["string"],
dnsServer: "string",
dnsServerPort: "string",
followRedirects: false,
host: "string",
httpVersion: "string",
message: "string",
method: "string",
noSavingResponseBody: false,
numberOfPackets: 0,
persistCookies: false,
plainProtoFile: "string",
port: "string",
servername: "string",
service: "string",
shouldTrackHops: false,
timeout: 0,
url: "string",
},
requestMetadata: {
string: "string",
},
requestProxy: {
url: "string",
headers: {
string: "string",
},
},
requestQuery: {
string: "string",
},
retry: {
count: 0,
interval: 0,
},
subtype: "string",
value: 0,
}],
requestDefinition: {
body: "string",
bodyType: "string",
callType: "string",
certificateDomains: ["string"],
dnsServer: "string",
dnsServerPort: "string",
host: "string",
message: "string",
method: "string",
noSavingResponseBody: false,
numberOfPackets: 0,
persistCookies: false,
plainProtoFile: "string",
port: "string",
servername: "string",
service: "string",
shouldTrackHops: false,
timeout: 0,
url: "string",
},
requestFiles: [{
name: "string",
size: 0,
type: "string",
bucketKey: "string",
content: "string",
originalFileName: "string",
}],
deviceIds: ["string"],
requestMetadata: {
string: "string",
},
requestProxy: {
url: "string",
headers: {
string: "string",
},
},
requestQuery: {
string: "string",
},
setCookie: "string",
browserSteps: [{
name: "string",
params: {
attribute: "string",
check: "string",
clickType: "string",
code: "string",
delay: 0,
element: "string",
elementUserLocator: {
value: {
value: "string",
type: "string",
},
failTestOnCannotLocate: false,
},
email: "string",
file: "string",
files: "string",
modifiers: ["string"],
playingTabId: "string",
request: "string",
subtestPublicId: "string",
value: "string",
variable: {
example: "string",
name: "string",
},
withClick: false,
x: 0,
y: 0,
},
type: "string",
allowFailure: false,
forceElementUpdate: false,
isCritical: false,
noScreenshot: false,
timeout: 0,
}],
subtype: "string",
tags: ["string"],
assertions: [{
operator: "string",
type: "string",
property: "string",
target: "string",
targetjsonpath: {
jsonpath: "string",
operator: "string",
elementsoperator: "string",
targetvalue: "string",
},
targetjsonschema: {
jsonschema: "string",
metaschema: "string",
},
targetxpath: {
operator: "string",
xpath: "string",
targetvalue: "string",
},
timingsScope: "string",
}],
variablesFromScript: "string",
});
type: datadog:SyntheticsTest
properties:
apiSteps:
- allowFailure: false
assertions:
- operator: string
property: string
target: string
targetjsonpath:
elementsoperator: string
jsonpath: string
operator: string
targetvalue: string
targetjsonschema:
jsonschema: string
metaschema: string
targetxpath:
operator: string
targetvalue: string
xpath: string
timingsScope: string
type: string
extractedValues:
- field: string
name: string
parser:
type: string
value: string
secure: false
type: string
isCritical: false
name: string
requestBasicauth:
accessKey: string
accessTokenUrl: string
audience: string
clientId: string
clientSecret: string
domain: string
password: string
region: string
resource: string
scope: string
secretKey: string
serviceName: string
sessionToken: string
tokenApiAuthentication: string
type: string
username: string
workstation: string
requestClientCertificate:
cert:
content: string
filename: string
key:
content: string
filename: string
requestDefinition:
allowInsecure: false
body: string
bodyType: string
callType: string
certificateDomains:
- string
dnsServer: string
dnsServerPort: string
followRedirects: false
host: string
httpVersion: string
message: string
method: string
noSavingResponseBody: false
numberOfPackets: 0
persistCookies: false
plainProtoFile: string
port: string
servername: string
service: string
shouldTrackHops: false
timeout: 0
url: string
requestFiles:
- bucketKey: string
content: string
name: string
originalFileName: string
size: 0
type: string
requestHeaders:
string: string
requestMetadata:
string: string
requestProxy:
headers:
string: string
url: string
requestQuery:
string: string
retry:
count: 0
interval: 0
subtype: string
value: 0
assertions:
- operator: string
property: string
target: string
targetjsonpath:
elementsoperator: string
jsonpath: string
operator: string
targetvalue: string
targetjsonschema:
jsonschema: string
metaschema: string
targetxpath:
operator: string
targetvalue: string
xpath: string
timingsScope: string
type: string
browserSteps:
- allowFailure: false
forceElementUpdate: false
isCritical: false
name: string
noScreenshot: false
params:
attribute: string
check: string
clickType: string
code: string
delay: 0
element: string
elementUserLocator:
failTestOnCannotLocate: false
value:
type: string
value: string
email: string
file: string
files: string
modifiers:
- string
playingTabId: string
request: string
subtestPublicId: string
value: string
variable:
example: string
name: string
withClick: false
x: 0
"y": 0
timeout: 0
type: string
browserVariables:
- example: string
id: string
name: string
pattern: string
secure: false
type: string
configVariables:
- example: string
id: string
name: string
pattern: string
secure: false
type: string
deviceIds:
- string
forceDeleteDependencies: false
locations:
- string
message: string
name: string
optionsList:
acceptSelfSigned: false
allowInsecure: false
checkCertificateRevocation: false
ci:
executionRule: string
disableCors: false
disableCsp: false
followRedirects: false
httpVersion: string
ignoreServerCertificateError: false
initialNavigationTimeout: 0
minFailureDuration: 0
minLocationFailed: 0
monitorName: string
monitorOptions:
renotifyInterval: 0
monitorPriority: 0
noScreenshot: false
restrictedRoles:
- string
retry:
count: 0
interval: 0
rumSettings:
applicationId: string
clientTokenId: 0
isEnabled: false
scheduling:
timeframes:
- day: 0
from: string
to: string
timezone: string
tickEvery: 0
requestBasicauth:
accessKey: string
accessTokenUrl: string
audience: string
clientId: string
clientSecret: string
domain: string
password: string
region: string
resource: string
scope: string
secretKey: string
serviceName: string
sessionToken: string
tokenApiAuthentication: string
type: string
username: string
workstation: string
requestClientCertificate:
cert:
content: string
filename: string
key:
content: string
filename: string
requestDefinition:
body: string
bodyType: string
callType: string
certificateDomains:
- string
dnsServer: string
dnsServerPort: string
host: string
message: string
method: string
noSavingResponseBody: false
numberOfPackets: 0
persistCookies: false
plainProtoFile: string
port: string
servername: string
service: string
shouldTrackHops: false
timeout: 0
url: string
requestFiles:
- bucketKey: string
content: string
name: string
originalFileName: string
size: 0
type: string
requestHeaders:
string: string
requestMetadata:
string: string
requestProxy:
headers:
string: string
url: string
requestQuery:
string: string
setCookie: string
status: string
subtype: string
tags:
- string
type: string
variablesFromScript: string
SyntheticsTest Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The SyntheticsTest resource accepts the following input properties:
- Locations List<string>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- Name string
- Name of Datadog synthetics test.
- Status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - Type string
- Synthetics test type. Valid values are
api
,browser
. - Api
Steps List<SyntheticsTest Api Step> - Steps for multi-step api tests
- Assertions
List<Synthetics
Test Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Browser
Steps List<SyntheticsTest Browser Step> - Steps for browser tests.
- Browser
Variables List<SyntheticsTest Browser Variable> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - Config
Variables List<SyntheticsTest Config Variable> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - Device
Ids List<string> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - Force
Delete boolDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- Message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - Options
List SyntheticsTest Options List - Request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - Request
Files List<SyntheticsTest Request File> - Files to be used as part of the request in the test.
- Request
Headers Dictionary<string, string> - Header name and value map.
- Request
Metadata Dictionary<string, string> - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- Request
Query Dictionary<string, string> - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- Subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<string>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - Variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- Locations []string
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- Name string
- Name of Datadog synthetics test.
- Status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - Type string
- Synthetics test type. Valid values are
api
,browser
. - Api
Steps []SyntheticsTest Api Step Args - Steps for multi-step api tests
- Assertions
[]Synthetics
Test Assertion Args - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Browser
Steps []SyntheticsTest Browser Step Args - Steps for browser tests.
- Browser
Variables []SyntheticsTest Browser Variable Args - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - Config
Variables []SyntheticsTest Config Variable Args - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - Device
Ids []string - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - Force
Delete boolDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- Message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - Options
List SyntheticsTest Options List Args - Request
Basicauth SyntheticsTest Request Basicauth Args - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Request Client Certificate Args - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Request Definition Args - Required if
type = "api"
. The synthetics test request. - Request
Files []SyntheticsTest Request File Args - Files to be used as part of the request in the test.
- Request
Headers map[string]string - Header name and value map.
- Request
Metadata map[string]string - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Request Proxy Args - The proxy to perform the test.
- Request
Query map[string]string - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- Subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - []string
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - Variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- locations List<String>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- name String
- Name of Datadog synthetics test.
- status String
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - type String
- Synthetics test type. Valid values are
api
,browser
. - api
Steps List<SyntheticsTest Api Step> - Steps for multi-step api tests
- assertions
List<Synthetics
Test Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps List<SyntheticsTest Browser Step> - Steps for browser tests.
- browser
Variables List<SyntheticsTest Browser Variable> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables List<SyntheticsTest Config Variable> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids List<String> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete BooleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- message String
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - options
List SyntheticsTest Options List - request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - request
Files List<SyntheticsTest Request File> - Files to be used as part of the request in the test.
- request
Headers Map<String,String> - Header name and value map.
- request
Metadata Map<String,String> - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- request
Query Map<String,String> - Query arguments name and value map.
- String
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- subtype String
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<String>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - variables
From StringScript - Variables defined from JavaScript code for API HTTP tests.
- locations string[]
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- name string
- Name of Datadog synthetics test.
- status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - type string
- Synthetics test type. Valid values are
api
,browser
. - api
Steps SyntheticsTest Api Step[] - Steps for multi-step api tests
- assertions
Synthetics
Test Assertion[] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps SyntheticsTest Browser Step[] - Steps for browser tests.
- browser
Variables SyntheticsTest Browser Variable[] - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables SyntheticsTest Config Variable[] - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids string[] - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete booleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - options
List SyntheticsTest Options List - request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - request
Files SyntheticsTest Request File[] - Files to be used as part of the request in the test.
- request
Headers {[key: string]: string} - Header name and value map.
- request
Metadata {[key: string]: string} - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- request
Query {[key: string]: string} - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - string[]
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- locations Sequence[str]
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- name str
- Name of Datadog synthetics test.
- status str
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - type str
- Synthetics test type. Valid values are
api
,browser
. - api_
steps Sequence[SyntheticsTest Api Step Args] - Steps for multi-step api tests
- assertions
Sequence[Synthetics
Test Assertion Args] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser_
steps Sequence[SyntheticsTest Browser Step Args] - Steps for browser tests.
- browser_
variables Sequence[SyntheticsTest Browser Variable Args] - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config_
variables Sequence[SyntheticsTest Config Variable Args] - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device_
ids Sequence[str] - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force_
delete_ booldependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- message str
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - options_
list SyntheticsTest Options List Args - request_
basicauth SyntheticsTest Request Basicauth Args - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request_
client_ Syntheticscertificate Test Request Client Certificate Args - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request_
definition SyntheticsTest Request Definition Args - Required if
type = "api"
. The synthetics test request. - request_
files Sequence[SyntheticsTest Request File Args] - Files to be used as part of the request in the test.
- request_
headers Mapping[str, str] - Header name and value map.
- request_
metadata Mapping[str, str] - Metadata to include when performing the gRPC request.
- request_
proxy SyntheticsTest Request Proxy Args - The proxy to perform the test.
- request_
query Mapping[str, str] - Query arguments name and value map.
- str
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- subtype str
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - Sequence[str]
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - variables_
from_ strscript - Variables defined from JavaScript code for API HTTP tests.
- locations List<String>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- name String
- Name of Datadog synthetics test.
- status String
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - type String
- Synthetics test type. Valid values are
api
,browser
. - api
Steps List<Property Map> - Steps for multi-step api tests
- assertions List<Property Map>
- Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps List<Property Map> - Steps for browser tests.
- browser
Variables List<Property Map> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables List<Property Map> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids List<String> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete BooleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- message String
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - options
List Property Map - request
Basicauth Property Map - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client Property MapCertificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition Property Map - Required if
type = "api"
. The synthetics test request. - request
Files List<Property Map> - Files to be used as part of the request in the test.
- request
Headers Map<String> - Header name and value map.
- request
Metadata Map<String> - Metadata to include when performing the gRPC request.
- request
Proxy Property Map - The proxy to perform the test.
- request
Query Map<String> - Query arguments name and value map.
- String
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- subtype String
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<String>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - variables
From StringScript - Variables defined from JavaScript code for API HTTP tests.
Outputs
All input properties are implicitly available as output properties. Additionally, the SyntheticsTest resource produces the following output properties:
- id str
- The provider-assigned unique ID for this managed resource.
- monitor_
id int - ID of the monitor associated with the Datadog synthetics test.
Look up Existing SyntheticsTest Resource
Get an existing SyntheticsTest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SyntheticsTestState, opts?: CustomResourceOptions): SyntheticsTest
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
api_steps: Optional[Sequence[SyntheticsTestApiStepArgs]] = None,
assertions: Optional[Sequence[SyntheticsTestAssertionArgs]] = None,
browser_steps: Optional[Sequence[SyntheticsTestBrowserStepArgs]] = None,
browser_variables: Optional[Sequence[SyntheticsTestBrowserVariableArgs]] = None,
config_variables: Optional[Sequence[SyntheticsTestConfigVariableArgs]] = None,
device_ids: Optional[Sequence[str]] = None,
force_delete_dependencies: Optional[bool] = None,
locations: Optional[Sequence[str]] = None,
message: Optional[str] = None,
monitor_id: Optional[int] = None,
name: Optional[str] = None,
options_list: Optional[SyntheticsTestOptionsListArgs] = None,
request_basicauth: Optional[SyntheticsTestRequestBasicauthArgs] = None,
request_client_certificate: Optional[SyntheticsTestRequestClientCertificateArgs] = None,
request_definition: Optional[SyntheticsTestRequestDefinitionArgs] = None,
request_files: Optional[Sequence[SyntheticsTestRequestFileArgs]] = None,
request_headers: Optional[Mapping[str, str]] = None,
request_metadata: Optional[Mapping[str, str]] = None,
request_proxy: Optional[SyntheticsTestRequestProxyArgs] = None,
request_query: Optional[Mapping[str, str]] = None,
set_cookie: Optional[str] = None,
status: Optional[str] = None,
subtype: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
type: Optional[str] = None,
variables_from_script: Optional[str] = None) -> SyntheticsTest
func GetSyntheticsTest(ctx *Context, name string, id IDInput, state *SyntheticsTestState, opts ...ResourceOption) (*SyntheticsTest, error)
public static SyntheticsTest Get(string name, Input<string> id, SyntheticsTestState? state, CustomResourceOptions? opts = null)
public static SyntheticsTest get(String name, Output<String> id, SyntheticsTestState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Api
Steps List<SyntheticsTest Api Step> - Steps for multi-step api tests
- Assertions
List<Synthetics
Test Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Browser
Steps List<SyntheticsTest Browser Step> - Steps for browser tests.
- Browser
Variables List<SyntheticsTest Browser Variable> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - Config
Variables List<SyntheticsTest Config Variable> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - Device
Ids List<string> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - Force
Delete boolDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- Locations List<string>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- Message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - Monitor
Id int - ID of the monitor associated with the Datadog synthetics test.
- Name string
- Name of Datadog synthetics test.
- Options
List SyntheticsTest Options List - Request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - Request
Files List<SyntheticsTest Request File> - Files to be used as part of the request in the test.
- Request
Headers Dictionary<string, string> - Header name and value map.
- Request
Metadata Dictionary<string, string> - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- Request
Query Dictionary<string, string> - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- Status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - Subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<string>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - Type string
- Synthetics test type. Valid values are
api
,browser
. - Variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- Api
Steps []SyntheticsTest Api Step Args - Steps for multi-step api tests
- Assertions
[]Synthetics
Test Assertion Args - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Browser
Steps []SyntheticsTest Browser Step Args - Steps for browser tests.
- Browser
Variables []SyntheticsTest Browser Variable Args - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - Config
Variables []SyntheticsTest Config Variable Args - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - Device
Ids []string - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - Force
Delete boolDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- Locations []string
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- Message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - Monitor
Id int - ID of the monitor associated with the Datadog synthetics test.
- Name string
- Name of Datadog synthetics test.
- Options
List SyntheticsTest Options List Args - Request
Basicauth SyntheticsTest Request Basicauth Args - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Request Client Certificate Args - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Request Definition Args - Required if
type = "api"
. The synthetics test request. - Request
Files []SyntheticsTest Request File Args - Files to be used as part of the request in the test.
- Request
Headers map[string]string - Header name and value map.
- Request
Metadata map[string]string - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Request Proxy Args - The proxy to perform the test.
- Request
Query map[string]string - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- Status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - Subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - []string
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - Type string
- Synthetics test type. Valid values are
api
,browser
. - Variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- api
Steps List<SyntheticsTest Api Step> - Steps for multi-step api tests
- assertions
List<Synthetics
Test Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps List<SyntheticsTest Browser Step> - Steps for browser tests.
- browser
Variables List<SyntheticsTest Browser Variable> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables List<SyntheticsTest Config Variable> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids List<String> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete BooleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- locations List<String>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- message String
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - monitor
Id Integer - ID of the monitor associated with the Datadog synthetics test.
- name String
- Name of Datadog synthetics test.
- options
List SyntheticsTest Options List - request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - request
Files List<SyntheticsTest Request File> - Files to be used as part of the request in the test.
- request
Headers Map<String,String> - Header name and value map.
- request
Metadata Map<String,String> - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- request
Query Map<String,String> - Query arguments name and value map.
- String
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- status String
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - subtype String
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<String>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - type String
- Synthetics test type. Valid values are
api
,browser
. - variables
From StringScript - Variables defined from JavaScript code for API HTTP tests.
- api
Steps SyntheticsTest Api Step[] - Steps for multi-step api tests
- assertions
Synthetics
Test Assertion[] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps SyntheticsTest Browser Step[] - Steps for browser tests.
- browser
Variables SyntheticsTest Browser Variable[] - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables SyntheticsTest Config Variable[] - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids string[] - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete booleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- locations string[]
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- message string
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - monitor
Id number - ID of the monitor associated with the Datadog synthetics test.
- name string
- Name of Datadog synthetics test.
- options
List SyntheticsTest Options List - request
Basicauth SyntheticsTest Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Request Definition - Required if
type = "api"
. The synthetics test request. - request
Files SyntheticsTest Request File[] - Files to be used as part of the request in the test.
- request
Headers {[key: string]: string} - Header name and value map.
- request
Metadata {[key: string]: string} - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Request Proxy - The proxy to perform the test.
- request
Query {[key: string]: string} - Query arguments name and value map.
- string
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- status string
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - subtype string
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - string[]
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - type string
- Synthetics test type. Valid values are
api
,browser
. - variables
From stringScript - Variables defined from JavaScript code for API HTTP tests.
- api_
steps Sequence[SyntheticsTest Api Step Args] - Steps for multi-step api tests
- assertions
Sequence[Synthetics
Test Assertion Args] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser_
steps Sequence[SyntheticsTest Browser Step Args] - Steps for browser tests.
- browser_
variables Sequence[SyntheticsTest Browser Variable Args] - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config_
variables Sequence[SyntheticsTest Config Variable Args] - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device_
ids Sequence[str] - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force_
delete_ booldependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- locations Sequence[str]
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- message str
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - monitor_
id int - ID of the monitor associated with the Datadog synthetics test.
- name str
- Name of Datadog synthetics test.
- options_
list SyntheticsTest Options List Args - request_
basicauth SyntheticsTest Request Basicauth Args - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request_
client_ Syntheticscertificate Test Request Client Certificate Args - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request_
definition SyntheticsTest Request Definition Args - Required if
type = "api"
. The synthetics test request. - request_
files Sequence[SyntheticsTest Request File Args] - Files to be used as part of the request in the test.
- request_
headers Mapping[str, str] - Header name and value map.
- request_
metadata Mapping[str, str] - Metadata to include when performing the gRPC request.
- request_
proxy SyntheticsTest Request Proxy Args - The proxy to perform the test.
- request_
query Mapping[str, str] - Query arguments name and value map.
- str
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- status str
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - subtype str
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - Sequence[str]
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - type str
- Synthetics test type. Valid values are
api
,browser
. - variables_
from_ strscript - Variables defined from JavaScript code for API HTTP tests.
- api
Steps List<Property Map> - Steps for multi-step api tests
- assertions List<Property Map>
- Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - browser
Steps List<Property Map> - Steps for browser tests.
- browser
Variables List<Property Map> - Variables used for a browser test steps. Multiple
variable
blocks are allowed with the structure below. - config
Variables List<Property Map> - Variables used for the test configuration. Multiple
config_variable
blocks are allowed with the structure below. - device
Ids List<String> - Required if
type = "browser"
. Array with the different device IDs used to run the test. Valid values arelaptop_large
,tablet
,mobile_small
,chrome.laptop_large
,chrome.tablet
,chrome.mobile_small
,firefox.laptop_large
,firefox.tablet
,firefox.mobile_small
,edge.laptop_large
,edge.tablet
,edge.mobile_small
. - force
Delete BooleanDependencies - A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors).
- locations List<String>
- Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations.
- message String
- A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same
@username
notation as events. Defaults to""
. - monitor
Id Number - ID of the monitor associated with the Datadog synthetics test.
- name String
- Name of Datadog synthetics test.
- options
List Property Map - request
Basicauth Property Map - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client Property MapCertificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition Property Map - Required if
type = "api"
. The synthetics test request. - request
Files List<Property Map> - Files to be used as part of the request in the test.
- request
Headers Map<String> - Header name and value map.
- request
Metadata Map<String> - Metadata to include when performing the gRPC request.
- request
Proxy Property Map - The proxy to perform the test.
- request
Query Map<String> - Query arguments name and value map.
- String
- Cookies to be used for a browser test request, using the Set-Cookie syntax.
- status String
- Define whether you want to start (
live
) or pause (paused
) a Synthetic test. Valid values arelive
,paused
. - subtype String
- The subtype of the Synthetic API test. Defaults to
http
. Valid values arehttp
,ssl
,tcp
,dns
,multi
,icmp
,udp
,websocket
,grpc
. - List<String>
- A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (
[]
). - type String
- Synthetics test type. Valid values are
api
,browser
. - variables
From StringScript - Variables defined from JavaScript code for API HTTP tests.
Supporting Types
SyntheticsTestApiStep, SyntheticsTestApiStepArgs
- Name string
- The name of the step.
- Allow
Failure bool - Determines whether or not to continue with test if this step fails.
- Assertions
List<Synthetics
Test Api Step Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Extracted
Values List<SyntheticsTest Api Step Extracted Value> - Values to parse and save as variables from the response.
- Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - Request
Basicauth SyntheticsTest Api Step Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Api Step Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Api Step Request Definition - The request for the api step.
- Request
Files List<SyntheticsTest Api Step Request File> - Files to be used as part of the request in the test.
- Request
Headers Dictionary<string, string> - Header name and value map.
- Request
Metadata Dictionary<string, string> - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Api Step Request Proxy - The proxy to perform the test.
- Request
Query Dictionary<string, string> - Query arguments name and value map.
- Retry
Synthetics
Test Api Step Retry - Subtype string
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - Value int
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
- Name string
- The name of the step.
- Allow
Failure bool - Determines whether or not to continue with test if this step fails.
- Assertions
[]Synthetics
Test Api Step Assertion - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - Extracted
Values []SyntheticsTest Api Step Extracted Value - Values to parse and save as variables from the response.
- Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - Request
Basicauth SyntheticsTest Api Step Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- Request
Client SyntheticsCertificate Test Api Step Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- Request
Definition SyntheticsTest Api Step Request Definition - The request for the api step.
- Request
Files []SyntheticsTest Api Step Request File - Files to be used as part of the request in the test.
- Request
Headers map[string]string - Header name and value map.
- Request
Metadata map[string]string - Metadata to include when performing the gRPC request.
- Request
Proxy SyntheticsTest Api Step Request Proxy - The proxy to perform the test.
- Request
Query map[string]string - Query arguments name and value map.
- Retry
Synthetics
Test Api Step Retry - Subtype string
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - Value int
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
- name String
- The name of the step.
- allow
Failure Boolean - Determines whether or not to continue with test if this step fails.
- assertions
List<Synthetics
Test Api Step Assertion> - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - extracted
Values List<SyntheticsTest Api Step Extracted Value> - Values to parse and save as variables from the response.
- is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - request
Basicauth SyntheticsTest Api Step Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Api Step Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Api Step Request Definition - The request for the api step.
- request
Files List<SyntheticsTest Api Step Request File> - Files to be used as part of the request in the test.
- request
Headers Map<String,String> - Header name and value map.
- request
Metadata Map<String,String> - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Api Step Request Proxy - The proxy to perform the test.
- request
Query Map<String,String> - Query arguments name and value map.
- retry
Synthetics
Test Api Step Retry - subtype String
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - value Integer
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
- name string
- The name of the step.
- allow
Failure boolean - Determines whether or not to continue with test if this step fails.
- assertions
Synthetics
Test Api Step Assertion[] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - extracted
Values SyntheticsTest Api Step Extracted Value[] - Values to parse and save as variables from the response.
- is
Critical boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - request
Basicauth SyntheticsTest Api Step Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client SyntheticsCertificate Test Api Step Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition SyntheticsTest Api Step Request Definition - The request for the api step.
- request
Files SyntheticsTest Api Step Request File[] - Files to be used as part of the request in the test.
- request
Headers {[key: string]: string} - Header name and value map.
- request
Metadata {[key: string]: string} - Metadata to include when performing the gRPC request.
- request
Proxy SyntheticsTest Api Step Request Proxy - The proxy to perform the test.
- request
Query {[key: string]: string} - Query arguments name and value map.
- retry
Synthetics
Test Api Step Retry - subtype string
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - value number
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
- name str
- The name of the step.
- allow_
failure bool - Determines whether or not to continue with test if this step fails.
- assertions
Sequence[Synthetics
Test Api Step Assertion] - Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - extracted_
values Sequence[SyntheticsTest Api Step Extracted Value] - Values to parse and save as variables from the response.
- is_
critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - request_
basicauth SyntheticsTest Api Step Request Basicauth - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request_
client_ Syntheticscertificate Test Api Step Request Client Certificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request_
definition SyntheticsTest Api Step Request Definition - The request for the api step.
- request_
files Sequence[SyntheticsTest Api Step Request File] - Files to be used as part of the request in the test.
- request_
headers Mapping[str, str] - Header name and value map.
- request_
metadata Mapping[str, str] - Metadata to include when performing the gRPC request.
- request_
proxy SyntheticsTest Api Step Request Proxy - The proxy to perform the test.
- request_
query Mapping[str, str] - Query arguments name and value map.
- retry
Synthetics
Test Api Step Retry - subtype str
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - value int
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
- name String
- The name of the step.
- allow
Failure Boolean - Determines whether or not to continue with test if this step fails.
- assertions List<Property Map>
- Assertions used for the test. Multiple
assertion
blocks are allowed with the structure below. - extracted
Values List<Property Map> - Values to parse and save as variables from the response.
- is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if
allow_failure
istrue
. - request
Basicauth Property Map - The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below.
- request
Client Property MapCertificate - Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below.
- request
Definition Property Map - The request for the api step.
- request
Files List<Property Map> - Files to be used as part of the request in the test.
- request
Headers Map<String> - Header name and value map.
- request
Metadata Map<String> - Metadata to include when performing the gRPC request.
- request
Proxy Property Map - The proxy to perform the test.
- request
Query Map<String> - Query arguments name and value map.
- retry Property Map
- subtype String
- The subtype of the Synthetic multi-step API test step. Valid values are
http
,grpc
,wait
. Defaults to"http"
. - value Number
- The time to wait in seconds. Minimum value: 0. Maximum value: 180.
SyntheticsTestApiStepAssertion, SyntheticsTestApiStepAssertionArgs
- Operator string
- Assertion operator. Note Only some combinations of
type
andoperator
are valid (please refer to Datadog documentation). - Type string
- Type of assertion. Note Only some combinations of
type
andoperator
are valid (please refer to Datadog documentation). Valid values arebody
,header
,statusCode
,certificate
,responseTime
,property
,recordEvery
,recordSome
,tlsVersion
,minTlsVersion
,latency
,packetLossPercentage
,packetsReceived
,networkHop
,receivedMessage
,grpcHealthcheckStatus
,grpcMetadata
,grpcProto
,connection
,bodyHash
. - Property string
- If assertion type is
header
, this is the header name. - Target string
- Expected value. Depends on the assertion type, refer to Datadog documentation for details.
- Targetjsonpath
Synthetics
Test Api Step Assertion Targetjsonpath - Expected structure if
operator
isvalidatesJSONPath
. Exactly one nested block is allowed with the structure below. - Targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema - Expected structure if
operator
isvalidatesJSONSchema
. Exactly one nested block is allowed with the structure below. - Targetxpath
Synthetics
Test Api Step Assertion Targetxpath - Expected structure if
operator
isvalidatesXPath
. Exactly one nested block is allowed with the structure below. - Timings
Scope string - Timings scope for response time assertions. Valid values are
all
,withoutDNS
.
- Operator string
- Assertion operator. Note Only some combinations of
type
andoperator
are valid (please refer to Datadog documentation).