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 ICMP test)
// Create a new Datadog Synthetics ICMP test on example.org
const testApiIcmp = new datadog.SyntheticsTest("test_api_icmp", {
    name: "ICMP Test on example.com",
    type: "api",
    subtype: "icmp",
    status: "live",
    locations: ["aws:eu-central-1"],
    tags: [
        "foo:bar",
        "foo",
        "env:test",
    ],
    requestDefinition: {
        host: "example.com",
        noSavingResponseBody: false,
        numberOfPackets: 1,
        persistCookies: false,
        shouldTrackHops: false,
        timeout: 0,
    },
    assertions: [
        {
            operator: "is",
            target: "0",
            type: "packetLossPercentage",
        },
        {
            operator: "lessThan",
            property: "avg",
            target: "1000",
            type: "latency",
        },
        {
            operator: "moreThanOrEqual",
            target: "1",
            type: "packetsReceived",
        },
    ],
    optionsList: {
        tickEvery: 900,
        retry: {
            count: 2,
            interval: 300,
        },
        monitorOptions: {
            renotifyInterval: 120,
        },
    },
});
// 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: "grpcMetadata",
                operator: "is",
                property: "X-Header",
                target: "test",
            }],
            requestDefinition: {
                host: "example.org",
                port: "443",
                callType: "healthcheck",
                service: "greeter.Greeter",
            },
        },
        {
            name: "A gRPC behavior check on example.org",
            subtype: "grpc",
            assertions: [{
                type: "grpcHealthcheckStatus",
                operator: "is",
                target: "1",
            }],
            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",
                    },
                }),
            },
        },
        {
            name: "Upload a file",
            type: "uploadFiles",
            params: {
                files: JSON.stringify([{
                    name: "hello.txt",
                    size: 11,
                    content: "Hello world",
                }]),
                element: "*[@id='simple-file-upload']",
                elementUserLocator: {
                    value: {
                        type: "css",
                        value: "#simple-file-upload",
                    },
                },
            },
        },
    ],
    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 (Synthetics Mobile test)
// Create a new Datadog Synthetics Mobile test starting on https://www.example.org
const testMobile = new datadog.SyntheticsTest("test_mobile", {
    type: "mobile",
    name: "A Mobile test on example.org",
    status: "paused",
    message: "Notify @datadog.user",
    tags: [
        "foo:bar",
        "baz",
    ],
    configVariables: [{
        example: "123",
        name: "VARIABLE_NAME",
        pattern: "{{numeric(3)}}",
        type: "text",
        secure: false,
    }],
    configInitialApplicationArguments: {
        test_process_argument: "test1",
    },
    deviceIds: ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"],
    locations: ["aws:eu-central-1"],
    mobileOptionsList: {
        minFailureDuration: 0,
        retry: {
            count: 0,
            interval: 300,
        },
        tickEvery: 43200,
        scheduling: {
            timeframes: [
                {
                    day: 5,
                    from: "07:00",
                    to: "16:00",
                },
                {
                    day: 7,
                    from: "07:00",
                    to: "16:00",
                },
            ],
            timezone: "UTC",
        },
        monitorName: "mobile-test-monitor",
        monitorOptions: {
            renotifyInterval: 10,
            escalationMessage: "test escalation message",
            renotifyOccurrences: 3,
            notificationPresetName: "show_all",
        },
        monitorPriority: 5,
        ci: {
            executionRule: "blocking",
        },
        defaultStepTimeout: 10,
        deviceIds: ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"],
        noScreenshot: true,
        allowApplicationCrash: false,
        disableAutoAcceptAlert: true,
        mobileApplication: {
            applicationId: "5f055d15-0000-aaaa-zzzz-6739f83346aa",
            referenceId: "434d4719-0000-aaaa-zzzz-31082b544718",
            referenceType: "version",
        },
    },
    mobileSteps: [
        {
            name: "Tap on StaticText \"Tap\"",
            params: {
                element: {
                    context: "NATIVE_APP",
                    viewName: "StaticText",
                    contextType: "native",
                    textContent: "Tap",
                    multiLocator: {},
                    relativePosition: {
                        x: 0.07256155303030302,
                        y: 0.41522381756756754,
                    },
                    userLocator: {
                        failTestOnCannotLocate: false,
                        values: [{
                            type: "id",
                            value: "some_id",
                        }],
                    },
                    elementDescription: "<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">",
                },
            },
            timeout: 100,
            type: "tap",
            allowFailure: false,
            isCritical: true,
            noScreenshot: false,
            hasNewStepElement: false,
        },
        {
            name: "Test View \"Tap\" content",
            params: {
                check: "contains",
                value: "Tap",
                element: {
                    context: "NATIVE_APP",
                    viewName: "View",
                    contextType: "native",
                    textContent: "Tap",
                    multiLocator: {},
                    relativePosition: {
                        x: 0.27660448306074764,
                        y: 0.6841517857142857,
                    },
                    userLocator: {
                        failTestOnCannotLocate: false,
                        values: [{
                            type: "id",
                            value: "some_id",
                        }],
                    },
                    elementDescription: "<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">",
                },
            },
            timeout: 100,
            type: "assertElementContent",
            allowFailure: false,
            isCritical: true,
            noScreenshot: false,
            hasNewStepElement: false,
        },
    ],
});
// 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 ICMP test)
# Create a new Datadog Synthetics ICMP test on example.org
test_api_icmp = datadog.SyntheticsTest("test_api_icmp",
    name="ICMP Test on example.com",
    type="api",
    subtype="icmp",
    status="live",
    locations=["aws:eu-central-1"],
    tags=[
        "foo:bar",
        "foo",
        "env:test",
    ],
    request_definition={
        "host": "example.com",
        "no_saving_response_body": False,
        "number_of_packets": 1,
        "persist_cookies": False,
        "should_track_hops": False,
        "timeout": 0,
    },
    assertions=[
        {
            "operator": "is",
            "target": "0",
            "type": "packetLossPercentage",
        },
        {
            "operator": "lessThan",
            "property": "avg",
            "target": "1000",
            "type": "latency",
        },
        {
            "operator": "moreThanOrEqual",
            "target": "1",
            "type": "packetsReceived",
        },
    ],
    options_list={
        "tick_every": 900,
        "retry": {
            "count": 2,
            "interval": 300,
        },
        "monitor_options": {
            "renotify_interval": 120,
        },
    })
# 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": "grpcMetadata",
                "operator": "is",
                "property": "X-Header",
                "target": "test",
            }],
            "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": "grpcHealthcheckStatus",
                "operator": "is",
                "target": "1",
            }],
            "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",
                    "sizeCheck": {
                        "type": "equals",
                        "value": 1,
                    },
                    "nameCheck": {
                        "type": "contains",
                        "value": ".xls",
                    },
                }),
            },
        },
        {
            "name": "Upload a file",
            "type": "uploadFiles",
            "params": {
                "files": json.dumps([{
                    "name": "hello.txt",
                    "size": 11,
                    "content": "Hello world",
                }]),
                "element": "*[@id='simple-file-upload']",
                "element_user_locator": {
                    "value": {
                        "type": "css",
                        "value": "#simple-file-upload",
                    },
                },
            },
        },
    ],
    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 (Synthetics Mobile test)
# Create a new Datadog Synthetics Mobile test starting on https://www.example.org
test_mobile = datadog.SyntheticsTest("test_mobile",
    type="mobile",
    name="A Mobile test on example.org",
    status="paused",
    message="Notify @datadog.user",
    tags=[
        "foo:bar",
        "baz",
    ],
    config_variables=[{
        "example": "123",
        "name": "VARIABLE_NAME",
        "pattern": "{{numeric(3)}}",
        "type": "text",
        "secure": False,
    }],
    config_initial_application_arguments={
        "test_process_argument": "test1",
    },
    device_ids=["synthetics:mobile:device:apple_iphone_14_plus_ios_16"],
    locations=["aws:eu-central-1"],
    mobile_options_list={
        "min_failure_duration": 0,
        "retry": {
            "count": 0,
            "interval": 300,
        },
        "tick_every": 43200,
        "scheduling": {
            "timeframes": [
                {
                    "day": 5,
                    "from_": "07:00",
                    "to": "16:00",
                },
                {
                    "day": 7,
                    "from_": "07:00",
                    "to": "16:00",
                },
            ],
            "timezone": "UTC",
        },
        "monitor_name": "mobile-test-monitor",
        "monitor_options": {
            "renotify_interval": 10,
            "escalation_message": "test escalation message",
            "renotify_occurrences": 3,
            "notification_preset_name": "show_all",
        },
        "monitor_priority": 5,
        "ci": {
            "execution_rule": "blocking",
        },
        "default_step_timeout": 10,
        "device_ids": ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"],
        "no_screenshot": True,
        "allow_application_crash": False,
        "disable_auto_accept_alert": True,
        "mobile_application": {
            "application_id": "5f055d15-0000-aaaa-zzzz-6739f83346aa",
            "reference_id": "434d4719-0000-aaaa-zzzz-31082b544718",
            "reference_type": "version",
        },
    },
    mobile_steps=[
        {
            "name": "Tap on StaticText \"Tap\"",
            "params": {
                "element": {
                    "context": "NATIVE_APP",
                    "view_name": "StaticText",
                    "context_type": "native",
                    "text_content": "Tap",
                    "multi_locator": {},
                    "relative_position": {
                        "x": 0.07256155303030302,
                        "y": 0.41522381756756754,
                    },
                    "user_locator": {
                        "fail_test_on_cannot_locate": False,
                        "values": [{
                            "type": "id",
                            "value": "some_id",
                        }],
                    },
                    "element_description": "<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">",
                },
            },
            "timeout": 100,
            "type": "tap",
            "allow_failure": False,
            "is_critical": True,
            "no_screenshot": False,
            "has_new_step_element": False,
        },
        {
            "name": "Test View \"Tap\" content",
            "params": {
                "check": "contains",
                "value": "Tap",
                "element": {
                    "context": "NATIVE_APP",
                    "view_name": "View",
                    "context_type": "native",
                    "text_content": "Tap",
                    "multi_locator": {},
                    "relative_position": {
                        "x": 0.27660448306074764,
                        "y": 0.6841517857142857,
                    },
                    "user_locator": {
                        "fail_test_on_cannot_locate": False,
                        "values": [{
                            "type": "id",
                            "value": "some_id",
                        }],
                    },
                    "element_description": "<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">",
                },
            },
            "timeout": 100,
            "type": "assertElementContent",
            "allow_failure": False,
            "is_critical": True,
            "no_screenshot": False,
            "has_new_step_element": False,
        },
    ])
# 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 ICMP test)
		// Create a new Datadog Synthetics ICMP test on example.org
		_, err = datadog.NewSyntheticsTest(ctx, "test_api_icmp", &datadog.SyntheticsTestArgs{
			Name:    pulumi.String("ICMP Test on example.com"),
			Type:    pulumi.String("api"),
			Subtype: pulumi.String("icmp"),
			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.com"),
				NoSavingResponseBody: pulumi.Bool(false),
				NumberOfPackets:      pulumi.Int(1),
				PersistCookies:       pulumi.Bool(false),
				ShouldTrackHops:      pulumi.Bool(false),
				Timeout:              pulumi.Int(0),
			},
			Assertions: datadog.SyntheticsTestAssertionArray{
				&datadog.SyntheticsTestAssertionArgs{
					Operator: pulumi.String("is"),
					Target:   pulumi.String("0"),
					Type:     pulumi.String("packetLossPercentage"),
				},
				&datadog.SyntheticsTestAssertionArgs{
					Operator: pulumi.String("lessThan"),
					Property: pulumi.String("avg"),
					Target:   pulumi.String("1000"),
					Type:     pulumi.String("latency"),
				},
				&datadog.SyntheticsTestAssertionArgs{
					Operator: pulumi.String("moreThanOrEqual"),
					Target:   pulumi.String("1"),
					Type:     pulumi.String("packetsReceived"),
				},
			},
			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 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("grpcMetadata"),
							Operator: pulumi.String("is"),
							Property: pulumi.String("X-Header"),
							Target:   pulumi.String("test"),
						},
					},
					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("grpcHealthcheckStatus"),
							Operator: pulumi.String("is"),
							Target:   pulumi.String("1"),
						},
					},
					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)
		tmpJSON1, err := json.Marshal([]map[string]interface{}{
			map[string]interface{}{
				"name":    "hello.txt",
				"size":    11,
				"content": "Hello world",
			},
		})
		if err != nil {
			return err
		}
		json1 := string(tmpJSON1)
		// 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),
					},
				},
				&datadog.SyntheticsTestBrowserStepArgs{
					Name: pulumi.String("Upload a file"),
					Type: pulumi.String("uploadFiles"),
					Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
						Files:   pulumi.String(json1),
						Element: pulumi.String("*[@id='simple-file-upload']"),
						ElementUserLocator: &datadog.SyntheticsTestBrowserStepParamsElementUserLocatorArgs{
							Value: &datadog.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs{
								Type:  pulumi.String("css"),
								Value: pulumi.String("#simple-file-upload"),
							},
						},
					},
				},
			},
			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 (Synthetics Mobile test)
		// Create a new Datadog Synthetics Mobile test starting on https://www.example.org
		_, err = datadog.NewSyntheticsTest(ctx, "test_mobile", &datadog.SyntheticsTestArgs{
			Type:    pulumi.String("mobile"),
			Name:    pulumi.String("A Mobile test on example.org"),
			Status:  pulumi.String("paused"),
			Message: pulumi.String("Notify @datadog.user"),
			Tags: pulumi.StringArray{
				pulumi.String("foo:bar"),
				pulumi.String("baz"),
			},
			ConfigVariables: datadog.SyntheticsTestConfigVariableArray{
				&datadog.SyntheticsTestConfigVariableArgs{
					Example: pulumi.String("123"),
					Name:    pulumi.String("VARIABLE_NAME"),
					Pattern: pulumi.String("{{numeric(3)}}"),
					Type:    pulumi.String("text"),
					Secure:  pulumi.Bool(false),
				},
			},
			ConfigInitialApplicationArguments: pulumi.StringMap{
				"test_process_argument": pulumi.String("test1"),
			},
			DeviceIds: pulumi.StringArray{
				pulumi.String("synthetics:mobile:device:apple_iphone_14_plus_ios_16"),
			},
			Locations: pulumi.StringArray{
				pulumi.String("aws:eu-central-1"),
			},
			MobileOptionsList: &datadog.SyntheticsTestMobileOptionsListArgs{
				MinFailureDuration: pulumi.Int(0),
				Retry: &datadog.SyntheticsTestMobileOptionsListRetryArgs{
					Count:    pulumi.Int(0),
					Interval: pulumi.Int(300),
				},
				TickEvery: pulumi.Int(43200),
				Scheduling: &datadog.SyntheticsTestMobileOptionsListSchedulingArgs{
					Timeframes: datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArray{
						&datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{
							Day:  pulumi.Int(5),
							From: pulumi.String("07:00"),
							To:   pulumi.String("16:00"),
						},
						&datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{
							Day:  pulumi.Int(7),
							From: pulumi.String("07:00"),
							To:   pulumi.String("16:00"),
						},
					},
					Timezone: pulumi.String("UTC"),
				},
				MonitorName: pulumi.String("mobile-test-monitor"),
				MonitorOptions: &datadog.SyntheticsTestMobileOptionsListMonitorOptionsArgs{
					RenotifyInterval:       pulumi.Int(10),
					EscalationMessage:      pulumi.String("test escalation message"),
					RenotifyOccurrences:    pulumi.Int(3),
					NotificationPresetName: pulumi.String("show_all"),
				},
				MonitorPriority: pulumi.Int(5),
				Ci: &datadog.SyntheticsTestMobileOptionsListCiArgs{
					ExecutionRule: pulumi.String("blocking"),
				},
				DefaultStepTimeout: pulumi.Int(10),
				DeviceIds: pulumi.StringArray{
					pulumi.String("synthetics:mobile:device:apple_iphone_14_plus_ios_16"),
				},
				NoScreenshot:           pulumi.Bool(true),
				AllowApplicationCrash:  pulumi.Bool(false),
				DisableAutoAcceptAlert: pulumi.Bool(true),
				MobileApplication: &datadog.SyntheticsTestMobileOptionsListMobileApplicationArgs{
					ApplicationId: pulumi.String("5f055d15-0000-aaaa-zzzz-6739f83346aa"),
					ReferenceId:   pulumi.String("434d4719-0000-aaaa-zzzz-31082b544718"),
					ReferenceType: pulumi.String("version"),
				},
			},
			MobileSteps: datadog.SyntheticsTestMobileStepArray{
				&datadog.SyntheticsTestMobileStepArgs{
					Name: pulumi.String("Tap on StaticText \"Tap\""),
					Params: &datadog.SyntheticsTestMobileStepParamsArgs{
						Element: &datadog.SyntheticsTestMobileStepParamsElementArgs{
							Context:      pulumi.String("NATIVE_APP"),
							ViewName:     pulumi.String("StaticText"),
							ContextType:  pulumi.String("native"),
							TextContent:  pulumi.String("Tap"),
							MultiLocator: pulumi.StringMap{},
							RelativePosition: &datadog.SyntheticsTestMobileStepParamsElementRelativePositionArgs{
								X: pulumi.Float64(0.07256155303030302),
								Y: pulumi.Float64(0.41522381756756754),
							},
							UserLocator: &datadog.SyntheticsTestMobileStepParamsElementUserLocatorArgs{
								FailTestOnCannotLocate: pulumi.Bool(false),
								Values: datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArray{
									&datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{
										Type:  pulumi.String("id"),
										Value: pulumi.String("some_id"),
									},
								},
							},
							ElementDescription: pulumi.String("<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">"),
						},
					},
					Timeout:           pulumi.Int(100),
					Type:              pulumi.String("tap"),
					AllowFailure:      pulumi.Bool(false),
					IsCritical:        pulumi.Bool(true),
					NoScreenshot:      pulumi.Bool(false),
					HasNewStepElement: pulumi.Bool(false),
				},
				&datadog.SyntheticsTestMobileStepArgs{
					Name: pulumi.String("Test View \"Tap\" content"),
					Params: &datadog.SyntheticsTestMobileStepParamsArgs{
						Check: pulumi.String("contains"),
						Value: pulumi.String("Tap"),
						Element: &datadog.SyntheticsTestMobileStepParamsElementArgs{
							Context:      pulumi.String("NATIVE_APP"),
							ViewName:     pulumi.String("View"),
							ContextType:  pulumi.String("native"),
							TextContent:  pulumi.String("Tap"),
							MultiLocator: pulumi.StringMap{},
							RelativePosition: &datadog.SyntheticsTestMobileStepParamsElementRelativePositionArgs{
								X: pulumi.Float64(0.27660448306074764),
								Y: pulumi.Float64(0.6841517857142857),
							},
							UserLocator: &datadog.SyntheticsTestMobileStepParamsElementUserLocatorArgs{
								FailTestOnCannotLocate: pulumi.Bool(false),
								Values: datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArray{
									&datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{
										Type:  pulumi.String("id"),
										Value: pulumi.String("some_id"),
									},
								},
							},
							ElementDescription: pulumi.String("<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">"),
						},
					},
					Timeout:           pulumi.Int(100),
					Type:              pulumi.String("assertElementContent"),
					AllowFailure:      pulumi.Bool(false),
					IsCritical:        pulumi.Bool(true),
					NoScreenshot:      pulumi.Bool(false),
					HasNewStepElement: pulumi.Bool(false),
				},
			},
		})
		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 ICMP test)
    // Create a new Datadog Synthetics ICMP test on example.org
    var testApiIcmp = new Datadog.SyntheticsTest("test_api_icmp", new()
    {
        Name = "ICMP Test on example.com",
        Type = "api",
        Subtype = "icmp",
        Status = "live",
        Locations = new[]
        {
            "aws:eu-central-1",
        },
        Tags = new[]
        {
            "foo:bar",
            "foo",
            "env:test",
        },
        RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
        {
            Host = "example.com",
            NoSavingResponseBody = false,
            NumberOfPackets = 1,
            PersistCookies = false,
            ShouldTrackHops = false,
            Timeout = 0,
        },
        Assertions = new[]
        {
            new Datadog.Inputs.SyntheticsTestAssertionArgs
            {
                Operator = "is",
                Target = "0",
                Type = "packetLossPercentage",
            },
            new Datadog.Inputs.SyntheticsTestAssertionArgs
            {
                Operator = "lessThan",
                Property = "avg",
                Target = "1000",
                Type = "latency",
            },
            new Datadog.Inputs.SyntheticsTestAssertionArgs
            {
                Operator = "moreThanOrEqual",
                Target = "1",
                Type = "packetsReceived",
            },
        },
        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 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 = "grpcMetadata",
                        Operator = "is",
                        Property = "X-Header",
                        Target = "test",
                    },
                },
                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 = "grpcHealthcheckStatus",
                        Operator = "is",
                        Target = "1",
                    },
                },
                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",
                        },
                    }),
                },
            },
            new Datadog.Inputs.SyntheticsTestBrowserStepArgs
            {
                Name = "Upload a file",
                Type = "uploadFiles",
                Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
                {
                    Files = JsonSerializer.Serialize(new[]
                    {
                        new Dictionary<string, object?>
                        {
                            ["name"] = "hello.txt",
                            ["size"] = 11,
                            ["content"] = "Hello world",
                        },
                    }),
                    Element = "*[@id='simple-file-upload']",
                    ElementUserLocator = new Datadog.Inputs.SyntheticsTestBrowserStepParamsElementUserLocatorArgs
                    {
                        Value = new Datadog.Inputs.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs
                        {
                            Type = "css",
                            Value = "#simple-file-upload",
                        },
                    },
                },
            },
        },
        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 (Synthetics Mobile test)
    // Create a new Datadog Synthetics Mobile test starting on https://www.example.org
    var testMobile = new Datadog.SyntheticsTest("test_mobile", new()
    {
        Type = "mobile",
        Name = "A Mobile test on example.org",
        Status = "paused",
        Message = "Notify @datadog.user",
        Tags = new[]
        {
            "foo:bar",
            "baz",
        },
        ConfigVariables = new[]
        {
            new Datadog.Inputs.SyntheticsTestConfigVariableArgs
            {
                Example = "123",
                Name = "VARIABLE_NAME",
                Pattern = "{{numeric(3)}}",
                Type = "text",
                Secure = false,
            },
        },
        ConfigInitialApplicationArguments = 
        {
            { "test_process_argument", "test1" },
        },
        DeviceIds = new[]
        {
            "synthetics:mobile:device:apple_iphone_14_plus_ios_16",
        },
        Locations = new[]
        {
            "aws:eu-central-1",
        },
        MobileOptionsList = new Datadog.Inputs.SyntheticsTestMobileOptionsListArgs
        {
            MinFailureDuration = 0,
            Retry = new Datadog.Inputs.SyntheticsTestMobileOptionsListRetryArgs
            {
                Count = 0,
                Interval = 300,
            },
            TickEvery = 43200,
            Scheduling = new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingArgs
            {
                Timeframes = new[]
                {
                    new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs
                    {
                        Day = 5,
                        From = "07:00",
                        To = "16:00",
                    },
                    new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs
                    {
                        Day = 7,
                        From = "07:00",
                        To = "16:00",
                    },
                },
                Timezone = "UTC",
            },
            MonitorName = "mobile-test-monitor",
            MonitorOptions = new Datadog.Inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs
            {
                RenotifyInterval = 10,
                EscalationMessage = "test escalation message",
                RenotifyOccurrences = 3,
                NotificationPresetName = "show_all",
            },
            MonitorPriority = 5,
            Ci = new Datadog.Inputs.SyntheticsTestMobileOptionsListCiArgs
            {
                ExecutionRule = "blocking",
            },
            DefaultStepTimeout = 10,
            DeviceIds = new[]
            {
                "synthetics:mobile:device:apple_iphone_14_plus_ios_16",
            },
            NoScreenshot = true,
            AllowApplicationCrash = false,
            DisableAutoAcceptAlert = true,
            MobileApplication = new Datadog.Inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs
            {
                ApplicationId = "5f055d15-0000-aaaa-zzzz-6739f83346aa",
                ReferenceId = "434d4719-0000-aaaa-zzzz-31082b544718",
                ReferenceType = "version",
            },
        },
        MobileSteps = new[]
        {
            new Datadog.Inputs.SyntheticsTestMobileStepArgs
            {
                Name = "Tap on StaticText \"Tap\"",
                Params = new Datadog.Inputs.SyntheticsTestMobileStepParamsArgs
                {
                    Element = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementArgs
                    {
                        Context = "NATIVE_APP",
                        ViewName = "StaticText",
                        ContextType = "native",
                        TextContent = "Tap",
                        MultiLocator = null,
                        RelativePosition = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs
                        {
                            X = 0.07256155303030302,
                            Y = 0.41522381756756754,
                        },
                        UserLocator = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs
                        {
                            FailTestOnCannotLocate = false,
                            Values = new[]
                            {
                                new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs
                                {
                                    Type = "id",
                                    Value = "some_id",
                                },
                            },
                        },
                        ElementDescription = "<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">",
                    },
                },
                Timeout = 100,
                Type = "tap",
                AllowFailure = false,
                IsCritical = true,
                NoScreenshot = false,
                HasNewStepElement = false,
            },
            new Datadog.Inputs.SyntheticsTestMobileStepArgs
            {
                Name = "Test View \"Tap\" content",
                Params = new Datadog.Inputs.SyntheticsTestMobileStepParamsArgs
                {
                    Check = "contains",
                    Value = "Tap",
                    Element = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementArgs
                    {
                        Context = "NATIVE_APP",
                        ViewName = "View",
                        ContextType = "native",
                        TextContent = "Tap",
                        MultiLocator = null,
                        RelativePosition = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs
                        {
                            X = 0.27660448306074764,
                            Y = 0.6841517857142857,
                        },
                        UserLocator = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs
                        {
                            FailTestOnCannotLocate = false,
                            Values = new[]
                            {
                                new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs
                                {
                                    Type = "id",
                                    Value = "some_id",
                                },
                            },
                        },
                        ElementDescription = "<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">",
                    },
                },
                Timeout = 100,
                Type = "assertElementContent",
                AllowFailure = false,
                IsCritical = true,
                NoScreenshot = false,
                HasNewStepElement = false,
            },
        },
    });
    // 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.SyntheticsTestBrowserStepParamsElementUserLocatorArgs;
import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs;
import com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListRetryArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListSchedulingArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListCiArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileStepArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs;
import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs;
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 ICMP test)
        // Create a new Datadog Synthetics ICMP test on example.org
        var testApiIcmp = new SyntheticsTest("testApiIcmp", SyntheticsTestArgs.builder()
            .name("ICMP Test on example.com")
            .type("api")
            .subtype("icmp")
            .status("live")
            .locations("aws:eu-central-1")
            .tags(            
                "foo:bar",
                "foo",
                "env:test")
            .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
                .host("example.com")
                .noSavingResponseBody(false)
                .numberOfPackets(1)
                .persistCookies(false)
                .shouldTrackHops(false)
                .timeout(0)
                .build())
            .assertions(            
                SyntheticsTestAssertionArgs.builder()
                    .operator("is")
                    .target("0")
                    .type("packetLossPercentage")
                    .build(),
                SyntheticsTestAssertionArgs.builder()
                    .operator("lessThan")
                    .property("avg")
                    .target("1000")
                    .type("latency")
                    .build(),
                SyntheticsTestAssertionArgs.builder()
                    .operator("moreThanOrEqual")
                    .target("1")
                    .type("packetsReceived")
                    .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 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("grpcMetadata")
                        .operator("is")
                        .property("X-Header")
                        .target("test")
                        .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("grpcHealthcheckStatus")
                        .operator("is")
                        .target("1")
                        .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(),
                SyntheticsTestBrowserStepArgs.builder()
                    .name("Upload a file")
                    .type("uploadFiles")
                    .params(SyntheticsTestBrowserStepParamsArgs.builder()
                        .files(serializeJson(
                            jsonArray(jsonObject(
                                jsonProperty("name", "hello.txt"),
                                jsonProperty("size", 11),
                                jsonProperty("content", "Hello world")
                            ))))
                        .element("*[@id='simple-file-upload']")
                        .elementUserLocator(SyntheticsTestBrowserStepParamsElementUserLocatorArgs.builder()
                            .value(SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs.builder()
                                .type("css")
                                .value("#simple-file-upload")
                                .build())
                            .build())
                        .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 (Synthetics Mobile test)
        // Create a new Datadog Synthetics Mobile test starting on https://www.example.org
        var testMobile = new SyntheticsTest("testMobile", SyntheticsTestArgs.builder()
            .type("mobile")
            .name("A Mobile test on example.org")
            .status("paused")
            .message("Notify @datadog.user")
            .tags(            
                "foo:bar",
                "baz")
            .configVariables(SyntheticsTestConfigVariableArgs.builder()
                .example("123")
                .name("VARIABLE_NAME")
                .pattern("{{numeric(3)}}")
                .type("text")
                .secure(false)
                .build())
            .configInitialApplicationArguments(Map.of("test_process_argument", "test1"))
            .deviceIds("synthetics:mobile:device:apple_iphone_14_plus_ios_16")
            .locations("aws:eu-central-1")
            .mobileOptionsList(SyntheticsTestMobileOptionsListArgs.builder()
                .minFailureDuration(0)
                .retry(SyntheticsTestMobileOptionsListRetryArgs.builder()
                    .count(0)
                    .interval(300)
                    .build())
                .tickEvery(43200)
                .scheduling(SyntheticsTestMobileOptionsListSchedulingArgs.builder()
                    .timeframes(                    
                        SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.builder()
                            .day(5)
                            .from("07:00")
                            .to("16:00")
                            .build(),
                        SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.builder()
                            .day(7)
                            .from("07:00")
                            .to("16:00")
                            .build())
                    .timezone("UTC")
                    .build())
                .monitorName("mobile-test-monitor")
                .monitorOptions(SyntheticsTestMobileOptionsListMonitorOptionsArgs.builder()
                    .renotifyInterval(10)
                    .escalationMessage("test escalation message")
                    .renotifyOccurrences(3)
                    .notificationPresetName("show_all")
                    .build())
                .monitorPriority(5)
                .ci(SyntheticsTestMobileOptionsListCiArgs.builder()
                    .executionRule("blocking")
                    .build())
                .defaultStepTimeout(10)
                .deviceIds("synthetics:mobile:device:apple_iphone_14_plus_ios_16")
                .noScreenshot(true)
                .allowApplicationCrash(false)
                .disableAutoAcceptAlert(true)
                .mobileApplication(SyntheticsTestMobileOptionsListMobileApplicationArgs.builder()
                    .applicationId("5f055d15-0000-aaaa-zzzz-6739f83346aa")
                    .referenceId("434d4719-0000-aaaa-zzzz-31082b544718")
                    .referenceType("version")
                    .build())
                .build())
            .mobileSteps(            
                SyntheticsTestMobileStepArgs.builder()
                    .name("Tap on StaticText \"Tap\"")
                    .params(SyntheticsTestMobileStepParamsArgs.builder()
                        .element(SyntheticsTestMobileStepParamsElementArgs.builder()
                            .context("NATIVE_APP")
                            .viewName("StaticText")
                            .contextType("native")
                            .textContent("Tap")
                            .multiLocator(Map.ofEntries(
                            ))
                            .relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs.builder()
                                .x(0.07256155303030302)
                                .y(0.41522381756756754)
                                .build())
                            .userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs.builder()
                                .failTestOnCannotLocate(false)
                                .values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.builder()
                                    .type("id")
                                    .value("some_id")
                                    .build())
                                .build())
                            .elementDescription("<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">")
                            .build())
                        .build())
                    .timeout(100)
                    .type("tap")
                    .allowFailure(false)
                    .isCritical(true)
                    .noScreenshot(false)
                    .hasNewStepElement(false)
                    .build(),
                SyntheticsTestMobileStepArgs.builder()
                    .name("Test View \"Tap\" content")
                    .params(SyntheticsTestMobileStepParamsArgs.builder()
                        .check("contains")
                        .value("Tap")
                        .element(SyntheticsTestMobileStepParamsElementArgs.builder()
                            .context("NATIVE_APP")
                            .viewName("View")
                            .contextType("native")
                            .textContent("Tap")
                            .multiLocator(Map.ofEntries(
                            ))
                            .relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs.builder()
                                .x(0.27660448306074764)
                                .y(0.6841517857142857)
                                .build())
                            .userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs.builder()
                                .failTestOnCannotLocate(false)
                                .values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.builder()
                                    .type("id")
                                    .value("some_id")
                                    .build())
                                .build())
                            .elementDescription("<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">")
                            .build())
                        .build())
                    .timeout(100)
                    .type("assertElementContent")
                    .allowFailure(false)
                    .isCritical(true)
                    .noScreenshot(false)
                    .hasNewStepElement(false)
                    .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 ICMP test)
  # Create a new Datadog Synthetics ICMP test on example.org
  testApiIcmp:
    type: datadog:SyntheticsTest
    name: test_api_icmp
    properties:
      name: ICMP Test on example.com
      type: api
      subtype: icmp
      status: live
      locations:
        - aws:eu-central-1
      tags:
        - foo:bar
        - foo
        - env:test
      requestDefinition:
        host: example.com
        noSavingResponseBody: 'false'
        numberOfPackets: '1'
        persistCookies: 'false'
        shouldTrackHops: 'false'
        timeout: '0'
      assertions:
        - operator: is
          target: '0'
          type: packetLossPercentage
        - operator: lessThan
          property: avg
          target: '1000'
          type: latency
        - operator: moreThanOrEqual
          target: '1'
          type: packetsReceived
      optionsList:
        tickEvery: 900
        retry:
          count: 2
          interval: 300
        monitorOptions:
          renotifyInterval: 120
  # 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: grpcMetadata
              operator: is
              property: X-Header
              target: test
          requestDefinition:
            host: example.org
            port: '443'
            callType: healthcheck
            service: greeter.Greeter
        - name: A gRPC behavior check on example.org
          subtype: grpc
          assertions:
            - type: grpcHealthcheckStatus
              operator: is
              target: '1'
          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
        - name: Upload a file
          type: uploadFiles
          params:
            files:
              fn::toJSON:
                - name: hello.txt
                  size: 11
                  content: Hello world
            element: '*[@id=''simple-file-upload'']'
            elementUserLocator:
              value:
                type: css
                value: '#simple-file-upload'
      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 (Synthetics Mobile test)
  # Create a new Datadog Synthetics Mobile test starting on https://www.example.org
  testMobile:
    type: datadog:SyntheticsTest
    name: test_mobile
    properties:
      type: mobile
      name: A Mobile test on example.org
      status: paused
      message: Notify @datadog.user
      tags:
        - foo:bar
        - baz
      configVariables:
        - example: '123'
          name: VARIABLE_NAME
          pattern: '{{numeric(3)}}'
          type: text
          secure: false
      configInitialApplicationArguments:
        test_process_argument: test1
      deviceIds:
        - synthetics:mobile:device:apple_iphone_14_plus_ios_16
      locations:
        - aws:eu-central-1
      mobileOptionsList:
        minFailureDuration: 0
        retry:
          count: 0
          interval: 300
        tickEvery: 43200
        scheduling:
          timeframes:
            - day: 5
              from: 07:00
              to: 16:00
            - day: 7
              from: 07:00
              to: 16:00
          timezone: UTC
        monitorName: mobile-test-monitor
        monitorOptions:
          renotifyInterval: 10
          escalationMessage: test escalation message
          renotifyOccurrences: 3
          notificationPresetName: show_all
        monitorPriority: 5
        ci:
          executionRule: blocking
        defaultStepTimeout: 10
        deviceIds:
          - synthetics:mobile:device:apple_iphone_14_plus_ios_16
        noScreenshot: true
        allowApplicationCrash: false
        disableAutoAcceptAlert: true
        mobileApplication:
          applicationId: 5f055d15-0000-aaaa-zzzz-6739f83346aa
          referenceId: 434d4719-0000-aaaa-zzzz-31082b544718
          referenceType: version
      mobileSteps:
        - name: Tap on StaticText "Tap"
          params:
            element:
              context: NATIVE_APP
              viewName: StaticText
              contextType: native
              textContent: Tap
              multiLocator: {}
              relativePosition:
                x: 0.07256155303030302
                y: 0.41522381756756754
              userLocator:
                failTestOnCannotLocate: false
                values:
                  - type: id
                    value: some_id
              elementDescription: <XCUIElementTypeStaticText value="Tap" name="Tap" label="Tap">
          timeout: 100
          type: tap
          allowFailure: false
          isCritical: true
          noScreenshot: false
          hasNewStepElement: false
        - name: Test View "Tap" content
          params:
            check: contains
            value: Tap
            element:
              context: NATIVE_APP
              viewName: View
              contextType: native
              textContent: Tap
              multiLocator: {}
              relativePosition:
                x: 0.27660448306074764
                y: 0.6841517857142857
              userLocator:
                failTestOnCannotLocate: false
                values:
                  - type: id
                    value: some_id
              elementDescription: <XCUIElementTypeOther name="Tap" label="Tap">
          timeout: 100
          type: assertElementContent
          allowFailure: false
          isCritical: true
          noScreenshot: false
          hasNewStepElement: false
  # 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_basicauth: Optional[SyntheticsTestRequestBasicauthArgs] = None,
                   request_client_certificate: Optional[SyntheticsTestRequestClientCertificateArgs] = None,
                   device_ids: Optional[Sequence[str]] = None,
                   force_delete_dependencies: Optional[bool] = None,
                   config_initial_application_arguments: Optional[Mapping[str, str]] = None,
                   message: Optional[str] = None,
                   mobile_options_list: Optional[SyntheticsTestMobileOptionsListArgs] = None,
                   mobile_steps: Optional[Sequence[SyntheticsTestMobileStepArgs]] = None,
                   browser_variables: Optional[Sequence[SyntheticsTestBrowserVariableArgs]] = None,
                   options_list: Optional[SyntheticsTestOptionsListArgs] = None,
                   api_steps: Optional[Sequence[SyntheticsTestApiStepArgs]] = None,
                   config_variables: Optional[Sequence[SyntheticsTestConfigVariableArgs]] = 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,
                   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",
    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",
    },
    RequestClientCertificate = new Datadog.Inputs.SyntheticsTestRequestClientCertificateArgs
    {
        Cert = new Datadog.Inputs.SyntheticsTestRequestClientCertificateCertArgs
        {
            Content = "string",
            Filename = "string",
        },
        Key = new Datadog.Inputs.SyntheticsTestRequestClientCertificateKeyArgs
        {
            Content = "string",
            Filename = "string",
        },
    },
    DeviceIds = new[]
    {
        "string",
    },
    ForceDeleteDependencies = false,
    ConfigInitialApplicationArguments = 
    {
        { "string", "string" },
    },
    Message = "string",
    MobileOptionsList = new Datadog.Inputs.SyntheticsTestMobileOptionsListArgs
    {
        DeviceIds = new[]
        {
            "string",
        },
        TickEvery = 0,
        MobileApplication = new Datadog.Inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs
        {
            ApplicationId = "string",
            ReferenceId = "string",
            ReferenceType = "string",
        },
        MonitorName = "string",
        MonitorPriority = 0,
        DisableAutoAcceptAlert = false,
        MinFailureDuration = 0,
        Ci = new Datadog.Inputs.SyntheticsTestMobileOptionsListCiArgs
        {
            ExecutionRule = "string",
        },
        AllowApplicationCrash = false,
        MonitorOptions = new Datadog.Inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs
        {
            EscalationMessage = "string",
            NotificationPresetName = "string",
            RenotifyInterval = 0,
            RenotifyOccurrences = 0,
        },
        DefaultStepTimeout = 0,
        NoScreenshot = false,
        Retry = new Datadog.Inputs.SyntheticsTestMobileOptionsListRetryArgs
        {
            Count = 0,
            Interval = 0,
        },
        Scheduling = new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingArgs
        {
            Timeframes = new[]
            {
                new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs
                {
                    Day = 0,
                    From = "string",
                    To = "string",
                },
            },
            Timezone = "string",
        },
        Bindings = new[]
        {
            new Datadog.Inputs.SyntheticsTestMobileOptionsListBindingArgs
            {
                Principals = new[]
                {
                    "string",
                },
                Relation = "string",
            },
        },
        Verbosity = 0,
    },
    MobileSteps = new[]
    {
        new Datadog.Inputs.SyntheticsTestMobileStepArgs
        {
            Name = "string",
            Params = new Datadog.Inputs.SyntheticsTestMobileStepParamsArgs
            {
                Check = "string",
                Delay = 0,
                Direction = "string",
                Element = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementArgs
                {
                    Context = "string",
                    ContextType = "string",
                    ElementDescription = "string",
                    MultiLocator = 
                    {
                        { "string", "string" },
                    },
                    RelativePosition = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs
                    {
                        X = 0,
                        Y = 0,
                    },
                    TextContent = "string",
                    UserLocator = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs
                    {
                        FailTestOnCannotLocate = false,
                        Values = new[]
                        {
                            new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs
                            {
                                Type = "string",
                                Value = "string",
                            },
                        },
                    },
                    ViewName = "string",
                },
                Enable = false,
                MaxScrolls = 0,
                Positions = new[]
                {
                    new Datadog.Inputs.SyntheticsTestMobileStepParamsPositionArgs
                    {
                        X = 0,
                        Y = 0,
                    },
                },
                SubtestPublicId = "string",
                Value = "string",
                Variable = new Datadog.Inputs.SyntheticsTestMobileStepParamsVariableArgs
                {
                    Name = "string",
                    Example = "string",
                },
                WithEnter = false,
                X = 0,
                Y = 0,
            },
            Type = "string",
            AllowFailure = false,
            HasNewStepElement = false,
            IsCritical = false,
            NoScreenshot = false,
            PublicId = "string",
            Timeout = 0,
        },
    },
    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,
        CheckCertificateRevocation = false,
        Ci = new Datadog.Inputs.SyntheticsTestOptionsListCiArgs
        {
            ExecutionRule = "string",
        },
        DisableCors = false,
        DisableCsp = false,
        FollowRedirects = false,
        HttpVersion = "string",
        IgnoreServerCertificateError = false,
        AcceptSelfSigned = false,
        InitialNavigationTimeout = 0,
        MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs
        {
            RenotifyInterval = 0,
            RenotifyOccurrences = 0,
        },
        MonitorName = "string",
        MinLocationFailed = 0,
        MonitorPriority = 0,
        NoScreenshot = false,
        Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs
        {
            Count = 0,
            Interval = 0,
        },
        RumSettings = new Datadog.Inputs.SyntheticsTestOptionsListRumSettingsArgs
        {
            IsEnabled = false,
            ApplicationId = "string",
            ClientTokenId = 0,
        },
        Scheduling = new Datadog.Inputs.SyntheticsTestOptionsListSchedulingArgs
        {
            Timeframes = new[]
            {
                new Datadog.Inputs.SyntheticsTestOptionsListSchedulingTimeframeArgs
                {
                    Day = 0,
                    From = "string",
                    To = "string",
                },
            },
            Timezone = "string",
        },
        AllowInsecure = false,
    },
    ApiSteps = new[]
    {
        new Datadog.Inputs.SyntheticsTestApiStepArgs
        {
            Name = "string",
            RequestClientCertificate = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateArgs
            {
                Cert = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateCertArgs
                {
                    Content = "string",
                    Filename = "string",
                },
                Key = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateKeyArgs
                {
                    Content = "string",
                    Filename = "string",
                },
            },
            RequestFiles = new[]
            {
                new Datadog.Inputs.SyntheticsTestApiStepRequestFileArgs
                {
                    Name = "string",
                    Size = 0,
                    Type = "string",
                    BucketKey = "string",
                    Content = "string",
                    OriginalFileName = "string",
                },
            },
            ExtractedValues = new[]
            {
                new Datadog.Inputs.SyntheticsTestApiStepExtractedValueArgs
                {
                    Name = "string",
                    Parser = new Datadog.Inputs.SyntheticsTestApiStepExtractedValueParserArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                    Type = "string",
                    Field = "string",
                    Secure = false,
                },
            },
            ExtractedValuesFromScript = "string",
            IsCritical = false,
            Assertions = new[]
            {
                new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
                {
                    Type = "string",
                    Code = "string",
                    Operator = "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",
            },
            AllowFailure = false,
            ExitIfSucceed = false,
            RequestHeaders = 
            {
                { "string", "string" },
            },
            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,
        },
    },
    ConfigVariables = new[]
    {
        new Datadog.Inputs.SyntheticsTestConfigVariableArgs
        {
            Name = "string",
            Type = "string",
            Example = "string",
            Id = "string",
            Pattern = "string",
            Secure = false,
        },
    },
    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",
        },
    },
    RequestHeaders = 
    {
        { "string", "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",
                    Secure = false,
                },
                WithClick = false,
                X = 0,
                Y = 0,
            },
            Type = "string",
            AllowFailure = false,
            AlwaysExecute = false,
            ExitIfSucceed = false,
            ForceElementUpdate = false,
            IsCritical = false,
            LocalKey = "string",
            NoScreenshot = false,
            PublicId = "string",
            Timeout = 0,
        },
    },
    Subtype = "string",
    Tags = new[]
    {
        "string",
    },
    Assertions = new[]
    {
        new Datadog.Inputs.SyntheticsTestAssertionArgs
        {
            Type = "string",
            Code = "string",
            Operator = "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"),
	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"),
	},
	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"),
		},
	},
	DeviceIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	ForceDeleteDependencies: pulumi.Bool(false),
	ConfigInitialApplicationArguments: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Message: pulumi.String("string"),
	MobileOptionsList: &datadog.SyntheticsTestMobileOptionsListArgs{
		DeviceIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		TickEvery: pulumi.Int(0),
		MobileApplication: &datadog.SyntheticsTestMobileOptionsListMobileApplicationArgs{
			ApplicationId: pulumi.String("string"),
			ReferenceId:   pulumi.String("string"),
			ReferenceType: pulumi.String("string"),
		},
		MonitorName:            pulumi.String("string"),
		MonitorPriority:        pulumi.Int(0),
		DisableAutoAcceptAlert: pulumi.Bool(false),
		MinFailureDuration:     pulumi.Int(0),
		Ci: &datadog.SyntheticsTestMobileOptionsListCiArgs{
			ExecutionRule: pulumi.String("string"),
		},
		AllowApplicationCrash: pulumi.Bool(false),
		MonitorOptions: &datadog.SyntheticsTestMobileOptionsListMonitorOptionsArgs{
			EscalationMessage:      pulumi.String("string"),
			NotificationPresetName: pulumi.String("string"),
			RenotifyInterval:       pulumi.Int(0),
			RenotifyOccurrences:    pulumi.Int(0),
		},
		DefaultStepTimeout: pulumi.Int(0),
		NoScreenshot:       pulumi.Bool(false),
		Retry: &datadog.SyntheticsTestMobileOptionsListRetryArgs{
			Count:    pulumi.Int(0),
			Interval: pulumi.Int(0),
		},
		Scheduling: &datadog.SyntheticsTestMobileOptionsListSchedulingArgs{
			Timeframes: datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArray{
				&datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{
					Day:  pulumi.Int(0),
					From: pulumi.String("string"),
					To:   pulumi.String("string"),
				},
			},
			Timezone: pulumi.String("string"),
		},
		Bindings: datadog.SyntheticsTestMobileOptionsListBindingArray{
			&datadog.SyntheticsTestMobileOptionsListBindingArgs{
				Principals: pulumi.StringArray{
					pulumi.String("string"),
				},
				Relation: pulumi.String("string"),
			},
		},
		Verbosity: pulumi.Int(0),
	},
	MobileSteps: datadog.SyntheticsTestMobileStepArray{
		&datadog.SyntheticsTestMobileStepArgs{
			Name: pulumi.String("string"),
			Params: &datadog.SyntheticsTestMobileStepParamsArgs{
				Check:     pulumi.String("string"),
				Delay:     pulumi.Int(0),
				Direction: pulumi.String("string"),
				Element: &datadog.SyntheticsTestMobileStepParamsElementArgs{
					Context:            pulumi.String("string"),
					ContextType:        pulumi.String("string"),
					ElementDescription: pulumi.String("string"),
					MultiLocator: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					RelativePosition: &datadog.SyntheticsTestMobileStepParamsElementRelativePositionArgs{
						X: pulumi.Float64(0),
						Y: pulumi.Float64(0),
					},
					TextContent: pulumi.String("string"),
					UserLocator: &datadog.SyntheticsTestMobileStepParamsElementUserLocatorArgs{
						FailTestOnCannotLocate: pulumi.Bool(false),
						Values: datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArray{
							&datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{
								Type:  pulumi.String("string"),
								Value: pulumi.String("string"),
							},
						},
					},
					ViewName: pulumi.String("string"),
				},
				Enable:     pulumi.Bool(false),
				MaxScrolls: pulumi.Int(0),
				Positions: datadog.SyntheticsTestMobileStepParamsPositionArray{
					&datadog.SyntheticsTestMobileStepParamsPositionArgs{
						X: pulumi.Float64(0),
						Y: pulumi.Float64(0),
					},
				},
				SubtestPublicId: pulumi.String("string"),
				Value:           pulumi.String("string"),
				Variable: &datadog.SyntheticsTestMobileStepParamsVariableArgs{
					Name:    pulumi.String("string"),
					Example: pulumi.String("string"),
				},
				WithEnter: pulumi.Bool(false),
				X:         pulumi.Float64(0),
				Y:         pulumi.Float64(0),
			},
			Type:              pulumi.String("string"),
			AllowFailure:      pulumi.Bool(false),
			HasNewStepElement: pulumi.Bool(false),
			IsCritical:        pulumi.Bool(false),
			NoScreenshot:      pulumi.Bool(false),
			PublicId:          pulumi.String("string"),
			Timeout:           pulumi.Int(0),
		},
	},
	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),
		CheckCertificateRevocation: pulumi.Bool(false),
		Ci: &datadog.SyntheticsTestOptionsListCiArgs{
			ExecutionRule: pulumi.String("string"),
		},
		DisableCors:                  pulumi.Bool(false),
		DisableCsp:                   pulumi.Bool(false),
		FollowRedirects:              pulumi.Bool(false),
		HttpVersion:                  pulumi.String("string"),
		IgnoreServerCertificateError: pulumi.Bool(false),
		AcceptSelfSigned:             pulumi.Bool(false),
		InitialNavigationTimeout:     pulumi.Int(0),
		MonitorOptions: &datadog.SyntheticsTestOptionsListMonitorOptionsArgs{
			RenotifyInterval:    pulumi.Int(0),
			RenotifyOccurrences: pulumi.Int(0),
		},
		MonitorName:       pulumi.String("string"),
		MinLocationFailed: pulumi.Int(0),
		MonitorPriority:   pulumi.Int(0),
		NoScreenshot:      pulumi.Bool(false),
		Retry: &datadog.SyntheticsTestOptionsListRetryArgs{
			Count:    pulumi.Int(0),
			Interval: pulumi.Int(0),
		},
		RumSettings: &datadog.SyntheticsTestOptionsListRumSettingsArgs{
			IsEnabled:     pulumi.Bool(false),
			ApplicationId: pulumi.String("string"),
			ClientTokenId: pulumi.Int(0),
		},
		Scheduling: &datadog.SyntheticsTestOptionsListSchedulingArgs{
			Timeframes: datadog.SyntheticsTestOptionsListSchedulingTimeframeArray{
				&datadog.SyntheticsTestOptionsListSchedulingTimeframeArgs{
					Day:  pulumi.Int(0),
					From: pulumi.String("string"),
					To:   pulumi.String("string"),
				},
			},
			Timezone: pulumi.String("string"),
		},
		AllowInsecure: pulumi.Bool(false),
	},
	ApiSteps: datadog.SyntheticsTestApiStepArray{
		&datadog.SyntheticsTestApiStepArgs{
			Name: 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"),
				},
			},
			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"),
				},
			},
			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),
				},
			},
			ExtractedValuesFromScript: pulumi.String("string"),
			IsCritical:                pulumi.Bool(false),
			Assertions: datadog.SyntheticsTestApiStepAssertionArray{
				&datadog.SyntheticsTestApiStepAssertionArgs{
					Type:     pulumi.String("string"),
					Code:     pulumi.String("string"),
					Operator: 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"),
			},
			AllowFailure:  pulumi.Bool(false),
			ExitIfSucceed: pulumi.Bool(false),
			RequestHeaders: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			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),
		},
	},
	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),
		},
	},
	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"),
		},
	},
	RequestHeaders: pulumi.StringMap{
		"string": 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"),
					Secure:  pulumi.Bool(false),
				},
				WithClick: pulumi.Bool(false),
				X:         pulumi.Int(0),
				Y:         pulumi.Int(0),
			},
			Type:               pulumi.String("string"),
			AllowFailure:       pulumi.Bool(false),
			AlwaysExecute:      pulumi.Bool(false),
			ExitIfSucceed:      pulumi.Bool(false),
			ForceElementUpdate: pulumi.Bool(false),
			IsCritical:         pulumi.Bool(false),
			LocalKey:           pulumi.String("string"),
			NoScreenshot:       pulumi.Bool(false),
			PublicId:           pulumi.String("string"),
			Timeout:            pulumi.Int(0),
		},
	},
	Subtype: pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	Assertions: datadog.SyntheticsTestAssertionArray{
		&datadog.SyntheticsTestAssertionArgs{
			Type:     pulumi.String("string"),
			Code:     pulumi.String("string"),
			Operator: 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")
    .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())
    .requestClientCertificate(SyntheticsTestRequestClientCertificateArgs.builder()
        .cert(SyntheticsTestRequestClientCertificateCertArgs.builder()
            .content("string")
            .filename("string")
            .build())
        .key(SyntheticsTestRequestClientCertificateKeyArgs.builder()
            .content("string")
            .filename("string")
            .build())
        .build())
    .deviceIds("string")
    .forceDeleteDependencies(false)
    .configInitialApplicationArguments(Map.of("string", "string"))
    .message("string")
    .mobileOptionsList(SyntheticsTestMobileOptionsListArgs.builder()
        .deviceIds("string")
        .tickEvery(0)
        .mobileApplication(SyntheticsTestMobileOptionsListMobileApplicationArgs.builder()
            .applicationId("string")
            .referenceId("string")
            .referenceType("string")
            .build())
        .monitorName("string")
        .monitorPriority(0)
        .disableAutoAcceptAlert(false)
        .minFailureDuration(0)
        .ci(SyntheticsTestMobileOptionsListCiArgs.builder()
            .executionRule("string")
            .build())
        .allowApplicationCrash(false)
        .monitorOptions(SyntheticsTestMobileOptionsListMonitorOptionsArgs.builder()
            .escalationMessage("string")
            .notificationPresetName("string")
            .renotifyInterval(0)
            .renotifyOccurrences(0)
            .build())
        .defaultStepTimeout(0)
        .noScreenshot(false)
        .retry(SyntheticsTestMobileOptionsListRetryArgs.builder()
            .count(0)
            .interval(0)
            .build())
        .scheduling(SyntheticsTestMobileOptionsListSchedulingArgs.builder()
            .timeframes(SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.builder()
                .day(0)
                .from("string")
                .to("string")
                .build())
            .timezone("string")
            .build())
        .bindings(SyntheticsTestMobileOptionsListBindingArgs.builder()
            .principals("string")
            .relation("string")
            .build())
        .verbosity(0)
        .build())
    .mobileSteps(SyntheticsTestMobileStepArgs.builder()
        .name("string")
        .params(SyntheticsTestMobileStepParamsArgs.builder()
            .check("string")
            .delay(0)
            .direction("string")
            .element(SyntheticsTestMobileStepParamsElementArgs.builder()
                .context("string")
                .contextType("string")
                .elementDescription("string")
                .multiLocator(Map.of("string", "string"))
                .relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs.builder()
                    .x(0)
                    .y(0)
                    .build())
                .textContent("string")
                .userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs.builder()
                    .failTestOnCannotLocate(false)
                    .values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.builder()
                        .type("string")
                        .value("string")
                        .build())
                    .build())
                .viewName("string")
                .build())
            .enable(false)
            .maxScrolls(0)
            .positions(SyntheticsTestMobileStepParamsPositionArgs.builder()
                .x(0)
                .y(0)
                .build())
            .subtestPublicId("string")
            .value("string")
            .variable(SyntheticsTestMobileStepParamsVariableArgs.builder()
                .name("string")
                .example("string")
                .build())
            .withEnter(false)
            .x(0)
            .y(0)
            .build())
        .type("string")
        .allowFailure(false)
        .hasNewStepElement(false)
        .isCritical(false)
        .noScreenshot(false)
        .publicId("string")
        .timeout(0)
        .build())
    .browserVariables(SyntheticsTestBrowserVariableArgs.builder()
        .name("string")
        .type("string")
        .example("string")
        .id("string")
        .pattern("string")
        .secure(false)
        .build())
    .optionsList(SyntheticsTestOptionsListArgs.builder()
        .tickEvery(0)
        .minFailureDuration(0)
        .checkCertificateRevocation(false)
        .ci(SyntheticsTestOptionsListCiArgs.builder()
            .executionRule("string")
            .build())
        .disableCors(false)
        .disableCsp(false)
        .followRedirects(false)
        .httpVersion("string")
        .ignoreServerCertificateError(false)
        .acceptSelfSigned(false)
        .initialNavigationTimeout(0)
        .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()
            .renotifyInterval(0)
            .renotifyOccurrences(0)
            .build())
        .monitorName("string")
        .minLocationFailed(0)
        .monitorPriority(0)
        .noScreenshot(false)
        .retry(SyntheticsTestOptionsListRetryArgs.builder()
            .count(0)
            .interval(0)
            .build())
        .rumSettings(SyntheticsTestOptionsListRumSettingsArgs.builder()
            .isEnabled(false)
            .applicationId("string")
            .clientTokenId(0)
            .build())
        .scheduling(SyntheticsTestOptionsListSchedulingArgs.builder()
            .timeframes(SyntheticsTestOptionsListSchedulingTimeframeArgs.builder()
                .day(0)
                .from("string")
                .to("string")
                .build())
            .timezone("string")
            .build())
        .allowInsecure(false)
        .build())
    .apiSteps(SyntheticsTestApiStepArgs.builder()
        .name("string")
        .requestClientCertificate(SyntheticsTestApiStepRequestClientCertificateArgs.builder()
            .cert(SyntheticsTestApiStepRequestClientCertificateCertArgs.builder()
                .content("string")
                .filename("string")
                .build())
            .key(SyntheticsTestApiStepRequestClientCertificateKeyArgs.builder()
                .content("string")
                .filename("string")
                .build())
            .build())
        .requestFiles(SyntheticsTestApiStepRequestFileArgs.builder()
            .name("string")
            .size(0)
            .type("string")
            .bucketKey("string")
            .content("string")
            .originalFileName("string")
            .build())
        .extractedValues(SyntheticsTestApiStepExtractedValueArgs.builder()
            .name("string")
            .parser(SyntheticsTestApiStepExtractedValueParserArgs.builder()
                .type("string")
                .value("string")
                .build())
            .type("string")
            .field("string")
            .secure(false)
            .build())
        .extractedValuesFromScript("string")
        .isCritical(false)
        .assertions(SyntheticsTestApiStepAssertionArgs.builder()
            .type("string")
            .code("string")
            .operator("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())
        .allowFailure(false)
        .exitIfSucceed(false)
        .requestHeaders(Map.of("string", "string"))
        .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())
    .configVariables(SyntheticsTestConfigVariableArgs.builder()
        .name("string")
        .type("string")
        .example("string")
        .id("string")
        .pattern("string")
        .secure(false)
        .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())
    .requestHeaders(Map.of("string", "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")
                .secure(false)
                .build())
            .withClick(false)
            .x(0)
            .y(0)
            .build())
        .type("string")
        .allowFailure(false)
        .alwaysExecute(false)
        .exitIfSucceed(false)
        .forceElementUpdate(false)
        .isCritical(false)
        .localKey("string")
        .noScreenshot(false)
        .publicId("string")
        .timeout(0)
        .build())
    .subtype("string")
    .tags("string")
    .assertions(SyntheticsTestAssertionArgs.builder()
        .type("string")
        .code("string")
        .operator("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_basicauth={
        "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={
        "cert": {
            "content": "string",
            "filename": "string",
        },
        "key": {
            "content": "string",
            "filename": "string",
        },
    },
    device_ids=["string"],
    force_delete_dependencies=False,
    config_initial_application_arguments={
        "string": "string",
    },
    message="string",
    mobile_options_list={
        "device_ids": ["string"],
        "tick_every": 0,
        "mobile_application": {
            "application_id": "string",
            "reference_id": "string",
            "reference_type": "string",
        },
        "monitor_name": "string",
        "monitor_priority": 0,
        "disable_auto_accept_alert": False,
        "min_failure_duration": 0,
        "ci": {
            "execution_rule": "string",
        },
        "allow_application_crash": False,
        "monitor_options": {
            "escalation_message": "string",
            "notification_preset_name": "string",
            "renotify_interval": 0,
            "renotify_occurrences": 0,
        },
        "default_step_timeout": 0,
        "no_screenshot": False,
        "retry": {
            "count": 0,
            "interval": 0,
        },
        "scheduling": {
            "timeframes": [{
                "day": 0,
                "from_": "string",
                "to": "string",
            }],
            "timezone": "string",
        },
        "bindings": [{
            "principals": ["string"],
            "relation": "string",
        }],
        "verbosity": 0,
    },
    mobile_steps=[{
        "name": "string",
        "params": {
            "check": "string",
            "delay": 0,
            "direction": "string",
            "element": {
                "context": "string",
                "context_type": "string",
                "element_description": "string",
                "multi_locator": {
                    "string": "string",
                },
                "relative_position": {
                    "x": 0,
                    "y": 0,
                },
                "text_content": "string",
                "user_locator": {
                    "fail_test_on_cannot_locate": False,
                    "values": [{
                        "type": "string",
                        "value": "string",
                    }],
                },
                "view_name": "string",
            },
            "enable": False,
            "max_scrolls": 0,
            "positions": [{
                "x": 0,
                "y": 0,
            }],
            "subtest_public_id": "string",
            "value": "string",
            "variable": {
                "name": "string",
                "example": "string",
            },
            "with_enter": False,
            "x": 0,
            "y": 0,
        },
        "type": "string",
        "allow_failure": False,
        "has_new_step_element": False,
        "is_critical": False,
        "no_screenshot": False,
        "public_id": "string",
        "timeout": 0,
    }],
    browser_variables=[{
        "name": "string",
        "type": "string",
        "example": "string",
        "id": "string",
        "pattern": "string",
        "secure": False,
    }],
    options_list={
        "tick_every": 0,
        "min_failure_duration": 0,
        "check_certificate_revocation": False,
        "ci": {
            "execution_rule": "string",
        },
        "disable_cors": False,
        "disable_csp": False,
        "follow_redirects": False,
        "http_version": "string",
        "ignore_server_certificate_error": False,
        "accept_self_signed": False,
        "initial_navigation_timeout": 0,
        "monitor_options": {
            "renotify_interval": 0,
            "renotify_occurrences": 0,
        },
        "monitor_name": "string",
        "min_location_failed": 0,
        "monitor_priority": 0,
        "no_screenshot": False,
        "retry": {
            "count": 0,
            "interval": 0,
        },
        "rum_settings": {
            "is_enabled": False,
            "application_id": "string",
            "client_token_id": 0,
        },
        "scheduling": {
            "timeframes": [{
                "day": 0,
                "from_": "string",
                "to": "string",
            }],
            "timezone": "string",
        },
        "allow_insecure": False,
    },
    api_steps=[{
        "name": "string",
        "request_client_certificate": {
            "cert": {
                "content": "string",
                "filename": "string",
            },
            "key": {
                "content": "string",
                "filename": "string",
            },
        },
        "request_files": [{
            "name": "string",
            "size": 0,
            "type": "string",
            "bucket_key": "string",
            "content": "string",
            "original_file_name": "string",
        }],
        "extracted_values": [{
            "name": "string",
            "parser": {
                "type": "string",
                "value": "string",
            },
            "type": "string",
            "field": "string",
            "secure": False,
        }],
        "extracted_values_from_script": "string",
        "is_critical": False,
        "assertions": [{
            "type": "string",
            "code": "string",
            "operator": "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",
            },
            "timings_scope": "string",
        }],
        "request_basicauth": {
            "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",
        },
        "allow_failure": False,
        "exit_if_succeed": False,
        "request_headers": {
            "string": "string",
        },
        "request_definition": {
            "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": {
            "url": "string",
            "headers": {
                "string": "string",
            },
        },
        "request_query": {
            "string": "string",
        },
        "retry": {
            "count": 0,
            "interval": 0,
        },
        "subtype": "string",
        "value": 0,
    }],
    config_variables=[{
        "name": "string",
        "type": "string",
        "example": "string",
        "id": "string",
        "pattern": "string",
        "secure": False,
    }],
    request_definition={
        "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=[{
        "name": "string",
        "size": 0,
        "type": "string",
        "bucket_key": "string",
        "content": "string",
        "original_file_name": "string",
    }],
    request_headers={
        "string": "string",
    },
    request_metadata={
        "string": "string",
    },
    request_proxy={
        "url": "string",
        "headers": {
            "string": "string",
        },
    },
    request_query={
        "string": "string",
    },
    set_cookie="string",
    browser_steps=[{
        "name": "string",
        "params": {
            "attribute": "string",
            "check": "string",
            "click_type": "string",
            "code": "string",
            "delay": 0,
            "element": "string",
            "element_user_locator": {
                "value": {
                    "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": {
                "example": "string",
                "name": "string",
                "secure": False,
            },
            "with_click": False,
            "x": 0,
            "y": 0,
        },
        "type": "string",
        "allow_failure": False,
        "always_execute": False,
        "exit_if_succeed": False,
        "force_element_update": False,
        "is_critical": False,
        "local_key": "string",
        "no_screenshot": False,
        "public_id": "string",
        "timeout": 0,
    }],
    subtype="string",
    tags=["string"],
    assertions=[{
        "type": "string",
        "code": "string",
        "operator": "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",
        },
        "timings_scope": "string",
    }],
    variables_from_script="string")
const syntheticsTestResource = new datadog.SyntheticsTest("syntheticsTestResource", {
    locations: ["string"],
    type: "string",
    status: "string",
    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",
        },
    },
    deviceIds: ["string"],
    forceDeleteDependencies: false,
    configInitialApplicationArguments: {
        string: "string",
    },
    message: "string",
    mobileOptionsList: {
        deviceIds: ["string"],
        tickEvery: 0,
        mobileApplication: {
            applicationId: "string",
            referenceId: "string",
            referenceType: "string",
        },
        monitorName: "string",
        monitorPriority: 0,
        disableAutoAcceptAlert: false,
        minFailureDuration: 0,
        ci: {
            executionRule: "string",
        },
        allowApplicationCrash: false,
        monitorOptions: {
            escalationMessage: "string",
            notificationPresetName: "string",
            renotifyInterval: 0,
            renotifyOccurrences: 0,
        },
        defaultStepTimeout: 0,
        noScreenshot: false,
        retry: {
            count: 0,
            interval: 0,
        },
        scheduling: {
            timeframes: [{
                day: 0,
                from: "string",
                to: "string",
            }],
            timezone: "string",
        },
        bindings: [{
            principals: ["string"],
            relation: "string",
        }],
        verbosity: 0,
    },
    mobileSteps: [{
        name: "string",
        params: {
            check: "string",
            delay: 0,
            direction: "string",
            element: {
                context: "string",
                contextType: "string",
                elementDescription: "string",
                multiLocator: {
                    string: "string",
                },
                relativePosition: {
                    x: 0,
                    y: 0,
                },
                textContent: "string",
                userLocator: {
                    failTestOnCannotLocate: false,
                    values: [{
                        type: "string",
                        value: "string",
                    }],
                },
                viewName: "string",
            },
            enable: false,
            maxScrolls: 0,
            positions: [{
                x: 0,
                y: 0,
            }],
            subtestPublicId: "string",
            value: "string",
            variable: {
                name: "string",
                example: "string",
            },
            withEnter: false,
            x: 0,
            y: 0,
        },
        type: "string",
        allowFailure: false,
        hasNewStepElement: false,
        isCritical: false,
        noScreenshot: false,
        publicId: "string",
        timeout: 0,
    }],
    browserVariables: [{
        name: "string",
        type: "string",
        example: "string",
        id: "string",
        pattern: "string",
        secure: false,
    }],
    optionsList: {
        tickEvery: 0,
        minFailureDuration: 0,
        checkCertificateRevocation: false,
        ci: {
            executionRule: "string",
        },
        disableCors: false,
        disableCsp: false,
        followRedirects: false,
        httpVersion: "string",
        ignoreServerCertificateError: false,
        acceptSelfSigned: false,
        initialNavigationTimeout: 0,
        monitorOptions: {
            renotifyInterval: 0,
            renotifyOccurrences: 0,
        },
        monitorName: "string",
        minLocationFailed: 0,
        monitorPriority: 0,
        noScreenshot: false,
        retry: {
            count: 0,
            interval: 0,
        },
        rumSettings: {
            isEnabled: false,
            applicationId: "string",
            clientTokenId: 0,
        },
        scheduling: {
            timeframes: [{
                day: 0,
                from: "string",
                to: "string",
            }],
            timezone: "string",
        },
        allowInsecure: false,
    },
    apiSteps: [{
        name: "string",
        requestClientCertificate: {
            cert: {
                content: "string",
                filename: "string",
            },
            key: {
                content: "string",
                filename: "string",
            },
        },
        requestFiles: [{
            name: "string",
            size: 0,
            type: "string",
            bucketKey: "string",
            content: "string",
            originalFileName: "string",
        }],
        extractedValues: [{
            name: "string",
            parser: {
                type: "string",
                value: "string",
            },
            type: "string",
            field: "string",
            secure: false,
        }],
        extractedValuesFromScript: "string",
        isCritical: false,
        assertions: [{
            type: "string",
            code: "string",
            operator: "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",
        },
        allowFailure: false,
        exitIfSucceed: false,
        requestHeaders: {
            string: "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",
        },
        requestMetadata: {
            string: "string",
        },
        requestProxy: {
            url: "string",
            headers: {
                string: "string",
            },
        },
        requestQuery: {
            string: "string",
        },
        retry: {
            count: 0,
            interval: 0,
        },
        subtype: "string",
        value: 0,
    }],
    configVariables: [{
        name: "string",
        type: "string",
        example: "string",
        id: "string",
        pattern: "string",
        secure: false,
    }],
    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",
    }],
    requestHeaders: {
        string: "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",
                secure: false,
            },
            withClick: false,
            x: 0,
            y: 0,
        },
        type: "string",
        allowFailure: false,
        alwaysExecute: false,
        exitIfSucceed: false,
        forceElementUpdate: false,
        isCritical: false,
        localKey: "string",
        noScreenshot: false,
        publicId: "string",
        timeout: 0,
    }],
    subtype: "string",
    tags: ["string"],
    assertions: [{
        type: "string",
        code: "string",
        operator: "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:
            - code: string
              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
          exitIfSucceed: false
          extractedValues:
            - field: string
              name: string
              parser:
                type: string
                value: string
              secure: false
              type: string
          extractedValuesFromScript: 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:
        - code: string
          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
          alwaysExecute: false
          exitIfSucceed: false
          forceElementUpdate: false
          isCritical: false
          localKey: string
          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
                secure: false
            withClick: false
            x: 0
            "y": 0
          publicId: string
          timeout: 0
          type: string
    browserVariables:
        - example: string
          id: string
          name: string
          pattern: string
          secure: false
          type: string
    configInitialApplicationArguments:
        string: string
    configVariables:
        - example: string
          id: string
          name: string
          pattern: string
          secure: false
          type: string
    deviceIds:
        - string
    forceDeleteDependencies: false
    locations:
        - string
    message: string
    mobileOptionsList:
        allowApplicationCrash: false
        bindings:
            - principals:
                - string
              relation: string
        ci:
            executionRule: string
        defaultStepTimeout: 0
        deviceIds:
            - string
        disableAutoAcceptAlert: false
        minFailureDuration: 0
        mobileApplication:
            applicationId: string
            referenceId: string
            referenceType: string
        monitorName: string
        monitorOptions:
            escalationMessage: string
            notificationPresetName: string
            renotifyInterval: 0
            renotifyOccurrences: 0
        monitorPriority: 0
        noScreenshot: false
        retry:
            count: 0
            interval: 0
        scheduling:
            timeframes:
                - day: 0
                  from: string
                  to: string
            timezone: string
        tickEvery: 0
        verbosity: 0
    mobileSteps:
        - allowFailure: false
          hasNewStepElement: false
          isCritical: false
          name: string
          noScreenshot: false
          params:
            check: string
            delay: 0
            direction: string
            element:
                context: string
                contextType: string
                elementDescription: string
                multiLocator:
                    string: string
                relativePosition:
                    x: 0
                    "y": 0
                textContent: string
                userLocator:
                    failTestOnCannotLocate: false
                    values:
                        - type: string
                          value: string
                viewName: string
            enable: false
            maxScrolls: 0
            positions:
                - x: 0
                  "y": 0
            subtestPublicId: string
            value: string
            variable:
                example: string
                name: string
            withEnter: false
            x: 0
            "y": 0
          publicId: string
          timeout: 0
          type: 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
            renotifyOccurrences: 0
        monitorPriority: 0
        noScreenshot: false
        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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
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,mobile. - Api
Steps List<SyntheticsTest Api Step>  - Steps for multi-step api tests
 - Assertions
List<Synthetics
Test Assertion>  - Assertions used for the test. Multiple 
assertionblocks 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 
variableblocks are allowed with the structure below. - Config
Initial Dictionary<string, string>Application Arguments  - Initial application arguments for the mobile test.
 - Config
Variables List<SyntheticsTest Config Variable>  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - Mobile
Options SyntheticsList Test Mobile Options List  - Mobile
Steps List<SyntheticsTest Mobile Step>  - Steps for mobile tests
 - 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,mobile. - Api
Steps []SyntheticsTest Api Step Args  - Steps for multi-step api tests
 - Assertions
[]Synthetics
Test Assertion Args  - Assertions used for the test. Multiple 
assertionblocks 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 
variableblocks are allowed with the structure below. - Config
Initial map[string]stringApplication Arguments  - Initial application arguments for the mobile test.
 - Config
Variables []SyntheticsTest Config Variable Args  - Variables used for the test configuration. Multiple 
config_variableblocks are allowed with the structure below. - Device
Ids []string - Required if 
type = "browser". Array with the different device IDs used to run the test. - 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 
@usernamenotation as events. Defaults to"". - Mobile
Options SyntheticsList Test Mobile Options List Args  - Mobile
Steps []SyntheticsTest Mobile Step Args  - Steps for mobile tests
 - 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,mobile. - api
Steps List<SyntheticsTest Api Step>  - Steps for multi-step api tests
 - assertions
List<Synthetics
Test Assertion>  - Assertions used for the test. Multiple 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial Map<String,String>Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables List<SyntheticsTest Config Variable>  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options SyntheticsList Test Mobile Options List  - mobile
Steps List<SyntheticsTest Mobile Step>  - Steps for mobile tests
 - 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,mobile. - api
Steps SyntheticsTest Api Step[]  - Steps for multi-step api tests
 - assertions
Synthetics
Test Assertion[]  - Assertions used for the test. Multiple 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial {[key: string]: string}Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables SyntheticsTest Config Variable[]  - Variables used for the test configuration. Multiple 
config_variableblocks are allowed with the structure below. - device
Ids string[] - Required if 
type = "browser". Array with the different device IDs used to run the test. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options SyntheticsList Test Mobile Options List  - mobile
Steps SyntheticsTest Mobile Step[]  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - config_
initial_ Mapping[str, str]application_ arguments  - Initial application arguments for the mobile test.
 - config_
variables Sequence[SyntheticsTest Config Variable Args]  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile_
options_ Syntheticslist Test Mobile Options List Args  - mobile_
steps Sequence[SyntheticsTest Mobile Step Args]  - Steps for mobile tests
 - 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,mobile. - api
Steps List<Property Map> - Steps for multi-step api tests
 - assertions List<Property Map>
 - Assertions used for the test. Multiple 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial Map<String>Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables List<Property Map> - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options Property MapList  - mobile
Steps List<Property Map> - Steps for mobile tests
 - 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_initial_application_arguments: Optional[Mapping[str, str]] = 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,
        mobile_options_list: Optional[SyntheticsTestMobileOptionsListArgs] = None,
        mobile_steps: Optional[Sequence[SyntheticsTestMobileStepArgs]] = 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) -> SyntheticsTestfunc 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)resources:  _:    type: datadog:SyntheticsTest    get:      id: ${id}- 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - Config
Initial Dictionary<string, string>Application Arguments  - Initial application arguments for the mobile test.
 - Config
Variables List<SyntheticsTest Config Variable>  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - Mobile
Options SyntheticsList Test Mobile Options List  - Mobile
Steps List<SyntheticsTest Mobile Step>  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - Config
Initial map[string]stringApplication Arguments  - Initial application arguments for the mobile test.
 - Config
Variables []SyntheticsTest Config Variable Args  - Variables used for the test configuration. Multiple 
config_variableblocks are allowed with the structure below. - Device
Ids []string - Required if 
type = "browser". Array with the different device IDs used to run the test. - 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 
@usernamenotation as events. Defaults to"". - Mobile
Options SyntheticsList Test Mobile Options List Args  - Mobile
Steps []SyntheticsTest Mobile Step Args  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial Map<String,String>Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables List<SyntheticsTest Config Variable>  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options SyntheticsList Test Mobile Options List  - mobile
Steps List<SyntheticsTest Mobile Step>  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial {[key: string]: string}Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables SyntheticsTest Config Variable[]  - Variables used for the test configuration. Multiple 
config_variableblocks are allowed with the structure below. - device
Ids string[] - Required if 
type = "browser". Array with the different device IDs used to run the test. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options SyntheticsList Test Mobile Options List  - mobile
Steps SyntheticsTest Mobile Step[]  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - config_
initial_ Mapping[str, str]application_ arguments  - Initial application arguments for the mobile test.
 - config_
variables Sequence[SyntheticsTest Config Variable Args]  - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile_
options_ Syntheticslist Test Mobile Options List Args  - mobile_
steps Sequence[SyntheticsTest Mobile Step Args]  - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks 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 
variableblocks are allowed with the structure below. - config
Initial Map<String>Application Arguments  - Initial application arguments for the mobile test.
 - config
Variables List<Property Map> - Variables used for the test configuration. Multiple 
config_variableblocks 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. - 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 
@usernamenotation as events. Defaults to"". - mobile
Options Property MapList  - mobile
Steps List<Property Map> - Steps for mobile tests
 - 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,mobile. - 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 
assertionblocks are allowed with the structure below. - Exit
If boolSucceed  - Determines whether or not to exit the test if the step succeeds.
 - Extracted
Values List<SyntheticsTest Api Step Extracted Value>  - Values to parse and save as variables from the response.
 - Extracted
Values stringFrom Script  - Generate variables using JavaScript.
 - Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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 
assertionblocks are allowed with the structure below. - Exit
If boolSucceed  - Determines whether or not to exit the test if the step succeeds.
 - Extracted
Values []SyntheticsTest Api Step Extracted Value  - Values to parse and save as variables from the response.
 - Extracted
Values stringFrom Script  - Generate variables using JavaScript.
 - Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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 
assertionblocks are allowed with the structure below. - exit
If BooleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - extracted
Values List<SyntheticsTest Api Step Extracted Value>  - Values to parse and save as variables from the response.
 - extracted
Values StringFrom Script  - Generate variables using JavaScript.
 - is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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 
assertionblocks are allowed with the structure below. - exit
If booleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - extracted
Values SyntheticsTest Api Step Extracted Value[]  - Values to parse and save as variables from the response.
 - extracted
Values stringFrom Script  - Generate variables using JavaScript.
 - is
Critical boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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 
assertionblocks are allowed with the structure below. - exit_
if_ boolsucceed  - Determines whether or not to exit the test if the step succeeds.
 - extracted_
values Sequence[SyntheticsTest Api Step Extracted Value]  - Values to parse and save as variables from the response.
 - extracted_
values_ strfrom_ script  - Generate variables using JavaScript.
 - is_
critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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 
assertionblocks are allowed with the structure below. - exit
If BooleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - extracted
Values List<Property Map> - Values to parse and save as variables from the response.
 - extracted
Values StringFrom Script  - Generate variables using JavaScript.
 - is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - 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          
- Type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - Code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - Operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - Targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - Targetxpath
Synthetics
Test Api Step Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - Timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- Type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - Code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - Operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - Targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - Targetxpath
Synthetics
Test Api Step Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - Timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type String
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code String
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator String
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Api Step Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope String - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Api Step Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type str
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code str
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator str
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - property str
 - If assertion type is 
header, this is the header name. - target str
 - Expected value. Depends on the assertion type, refer to Datadog documentation for details.
 - targetjsonpath
Synthetics
Test Api Step Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Api Step Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Api Step Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings_
scope str - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type String
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code String
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator String
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Property Map
 - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema Property Map
 - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath Property Map
 - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope String - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
SyntheticsTestApiStepAssertionTargetjsonpath, SyntheticsTestApiStepAssertionTargetjsonpathArgs            
- Jsonpath string
 - The JSON path to assert.
 - Operator string
 - The specific operator to use on the path.
 - Elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - Targetvalue string
 - Expected matching value.
 
- Jsonpath string
 - The JSON path to assert.
 - Operator string
 - The specific operator to use on the path.
 - Elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - Targetvalue string
 - Expected matching value.
 
- jsonpath String
 - The JSON path to assert.
 - operator String
 - The specific operator to use on the path.
 - elementsoperator String
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue String
 - Expected matching value.
 
- jsonpath string
 - The JSON path to assert.
 - operator string
 - The specific operator to use on the path.
 - elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue string
 - Expected matching value.
 
- jsonpath str
 - The JSON path to assert.
 - operator str
 - The specific operator to use on the path.
 - elementsoperator str
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue str
 - Expected matching value.
 
- jsonpath String
 - The JSON path to assert.
 - operator String
 - The specific operator to use on the path.
 - elementsoperator String
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue String
 - Expected matching value.
 
SyntheticsTestApiStepAssertionTargetjsonschema, SyntheticsTestApiStepAssertionTargetjsonschemaArgs            
- Jsonschema string
 - The JSON Schema to validate the body against.
 - Metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- Jsonschema string
 - The JSON Schema to validate the body against.
 - Metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema String
 - The JSON Schema to validate the body against.
 - metaschema String
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema string
 - The JSON Schema to validate the body against.
 - metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema str
 - The JSON Schema to validate the body against.
 - metaschema str
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema String
 - The JSON Schema to validate the body against.
 - metaschema String
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
SyntheticsTestApiStepAssertionTargetxpath, SyntheticsTestApiStepAssertionTargetxpathArgs            
- Operator string
 - The specific operator to use on the path.
 - Xpath string
 - The xpath to assert.
 - Targetvalue string
 - Expected matching value.
 
- Operator string
 - The specific operator to use on the path.
 - Xpath string
 - The xpath to assert.
 - Targetvalue string
 - Expected matching value.
 
- operator String
 - The specific operator to use on the path.
 - xpath String
 - The xpath to assert.
 - targetvalue String
 - Expected matching value.
 
- operator string
 - The specific operator to use on the path.
 - xpath string
 - The xpath to assert.
 - targetvalue string
 - Expected matching value.
 
- operator str
 - The specific operator to use on the path.
 - xpath str
 - The xpath to assert.
 - targetvalue str
 - Expected matching value.
 
- operator String
 - The specific operator to use on the path.
 - xpath String
 - The xpath to assert.
 - targetvalue String
 - Expected matching value.
 
SyntheticsTestApiStepExtractedValue, SyntheticsTestApiStepExtractedValueArgs            
- Name string
 - Parser
Synthetics
Test Api Step Extracted Value Parser  - Type string
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - Field string
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - Secure bool
 - Determines whether or not the extracted value will be obfuscated.
 
- Name string
 - Parser
Synthetics
Test Api Step Extracted Value Parser  - Type string
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - Field string
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - Secure bool
 - Determines whether or not the extracted value will be obfuscated.
 
- name String
 - parser
Synthetics
Test Api Step Extracted Value Parser  - type String
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - field String
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - secure Boolean
 - Determines whether or not the extracted value will be obfuscated.
 
- name string
 - parser
Synthetics
Test Api Step Extracted Value Parser  - type string
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - field string
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - secure boolean
 - Determines whether or not the extracted value will be obfuscated.
 
- name str
 - parser
Synthetics
Test Api Step Extracted Value Parser  - type str
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - field str
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - secure bool
 - Determines whether or not the extracted value will be obfuscated.
 
- name String
 - parser Property Map
 - type String
 - Property of the Synthetics Test Response to use for the variable. Valid values are 
grpc_message,grpc_metadata,http_body,http_header,http_status_code. - field String
 - When type is 
http_headerorgrpc_metadata, name of the header or metadatum to extract. - secure Boolean
 - Determines whether or not the extracted value will be obfuscated.
 
SyntheticsTestApiStepExtractedValueParser, SyntheticsTestApiStepExtractedValueParserArgs              
SyntheticsTestApiStepRequestBasicauth, SyntheticsTestApiStepRequestBasicauthArgs            
- Access
Key string - Access key for 
SIGV4authentication. - Access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - Audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - Client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - Domain string
 - Domain for 
ntlmauthentication. - Password string
 - Password for authentication.
 - Region string
 - Region for 
SIGV4authentication. - Resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Secret
Key string - Secret key for 
SIGV4authentication. - Service
Name string - Service name for 
SIGV4authentication. - Session
Token string - Session token for 
SIGV4authentication. - Token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - Type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - Username string
 - Username for authentication.
 - Workstation string
 - Workstation for 
ntlmauthentication. 
- Access
Key string - Access key for 
SIGV4authentication. - Access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - Audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - Client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - Domain string
 - Domain for 
ntlmauthentication. - Password string
 - Password for authentication.
 - Region string
 - Region for 
SIGV4authentication. - Resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Secret
Key string - Secret key for 
SIGV4authentication. - Service
Name string - Service name for 
SIGV4authentication. - Session
Token string - Session token for 
SIGV4authentication. - Token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - Type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - Username string
 - Username for authentication.
 - Workstation string
 - Workstation for 
ntlmauthentication. 
- access
Key String - Access key for 
SIGV4authentication. - access
Token StringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience String
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id String - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret String - Client secret for 
oauth-clientoroauth-ropauthentication. - domain String
 - Domain for 
ntlmauthentication. - password String
 - Password for authentication.
 - region String
 - Region for 
SIGV4authentication. - resource String
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope String
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key String - Secret key for 
SIGV4authentication. - service
Name String - Service name for 
SIGV4authentication. - session
Token String - Session token for 
SIGV4authentication. - token
Api StringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type String
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username String
 - Username for authentication.
 - workstation String
 - Workstation for 
ntlmauthentication. 
- access
Key string - Access key for 
SIGV4authentication. - access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - domain string
 - Domain for 
ntlmauthentication. - password string
 - Password for authentication.
 - region string
 - Region for 
SIGV4authentication. - resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key string - Secret key for 
SIGV4authentication. - service
Name string - Service name for 
SIGV4authentication. - session
Token string - Session token for 
SIGV4authentication. - token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username string
 - Username for authentication.
 - workstation string
 - Workstation for 
ntlmauthentication. 
- access_
key str - Access key for 
SIGV4authentication. - access_
token_ strurl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience str
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client_
id str - Client ID for 
oauth-clientoroauth-ropauthentication. - client_
secret str - Client secret for 
oauth-clientoroauth-ropauthentication. - domain str
 - Domain for 
ntlmauthentication. - password str
 - Password for authentication.
 - region str
 - Region for 
SIGV4authentication. - resource str
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope str
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret_
key str - Secret key for 
SIGV4authentication. - service_
name str - Service name for 
SIGV4authentication. - session_
token str - Session token for 
SIGV4authentication. - token_
api_ strauthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type str
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username str
 - Username for authentication.
 - workstation str
 - Workstation for 
ntlmauthentication. 
- access
Key String - Access key for 
SIGV4authentication. - access
Token StringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience String
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id String - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret String - Client secret for 
oauth-clientoroauth-ropauthentication. - domain String
 - Domain for 
ntlmauthentication. - password String
 - Password for authentication.
 - region String
 - Region for 
SIGV4authentication. - resource String
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope String
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key String - Secret key for 
SIGV4authentication. - service
Name String - Service name for 
SIGV4authentication. - session
Token String - Session token for 
SIGV4authentication. - token
Api StringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type String
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username String
 - Username for authentication.
 - workstation String
 - Workstation for 
ntlmauthentication. 
SyntheticsTestApiStepRequestClientCertificate, SyntheticsTestApiStepRequestClientCertificateArgs              
SyntheticsTestApiStepRequestClientCertificateCert, SyntheticsTestApiStepRequestClientCertificateCertArgs                
SyntheticsTestApiStepRequestClientCertificateKey, SyntheticsTestApiStepRequestClientCertificateKeyArgs                
SyntheticsTestApiStepRequestDefinition, SyntheticsTestApiStepRequestDefinitionArgs            
- Allow
Insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - Body string
 - The request body.
 - Body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - Call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - Certificate
Domains List<string> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - Dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - Dns
Server stringPort  - DNS server port to use for DNS tests.
 - Follow
Redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - Host string
 - Host name to perform the test with.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - Message string
 - For UDP and websocket tests, message to send with the request.
 - Method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - No
Saving boolResponse Body  - Determines whether or not to save the response body.
 - Number
Of intPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - Plain
Proto stringFile  - The content of a proto file as a string.
 - Port string
 - Port to use when performing the test.
 - Proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - Servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - Service string
 - The gRPC service on which you want to perform the gRPC call.
 - Should
Track boolHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - Timeout int
 - Timeout in seconds for the test.
 - Url string
 - The URL to send the request to.
 
- Allow
Insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - Body string
 - The request body.
 - Body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - Call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - Certificate
Domains []string - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - Dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - Dns
Server stringPort  - DNS server port to use for DNS tests.
 - Follow
Redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - Host string
 - Host name to perform the test with.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - Message string
 - For UDP and websocket tests, message to send with the request.
 - Method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - No
Saving boolResponse Body  - Determines whether or not to save the response body.
 - Number
Of intPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - Plain
Proto stringFile  - The content of a proto file as a string.
 - Port string
 - Port to use when performing the test.
 - Proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - Servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - Service string
 - The gRPC service on which you want to perform the gRPC call.
 - Should
Track boolHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - Timeout int
 - Timeout in seconds for the test.
 - Url string
 - The URL to send the request to.
 
- allow
Insecure Boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - body String
 - The request body.
 - body
Type String - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type String - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains List<String> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server String - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server StringPort  - DNS server port to use for DNS tests.
 - follow
Redirects Boolean - Determines whether or not the API HTTP test should follow redirects.
 - host String
 - Host name to perform the test with.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - message String
 - For UDP and websocket tests, message to send with the request.
 - method String
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving BooleanResponse Body  - Determines whether or not to save the response body.
 - number
Of IntegerPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - Boolean
 - Persist cookies across redirects.
 - plain
Proto StringFile  - The content of a proto file as a string.
 - port String
 - Port to use when performing the test.
 - proto
Json StringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername String
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service String
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track BooleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout Integer
 - Timeout in seconds for the test.
 - url String
 - The URL to send the request to.
 
- allow
Insecure boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - body string
 - The request body.
 - body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains string[] - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server stringPort  - DNS server port to use for DNS tests.
 - follow
Redirects boolean - Determines whether or not the API HTTP test should follow redirects.
 - host string
 - Host name to perform the test with.
 - http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - message string
 - For UDP and websocket tests, message to send with the request.
 - method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving booleanResponse Body  - Determines whether or not to save the response body.
 - number
Of numberPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - boolean
 - Persist cookies across redirects.
 - plain
Proto stringFile  - The content of a proto file as a string.
 - port string
 - Port to use when performing the test.
 - proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service string
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track booleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout number
 - Timeout in seconds for the test.
 - url string
 - The URL to send the request to.
 
- allow_
insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - body str
 - The request body.
 - body_
type str - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call_
type str - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate_
domains Sequence[str] - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns_
server str - DNS server to use for DNS tests (
subtype = "dns"). - dns_
server_ strport  - DNS server port to use for DNS tests.
 - follow_
redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - host str
 - Host name to perform the test with.
 - http_
version str - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - message str
 - For UDP and websocket tests, message to send with the request.
 - method str
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no_
saving_ boolresponse_ body  - Determines whether or not to save the response body.
 - number_
of_ intpackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - plain_
proto_ strfile  - The content of a proto file as a string.
 - port str
 - Port to use when performing the test.
 - proto_
json_ strdescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername str
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service str
 - The gRPC service on which you want to perform the gRPC call.
 - should_
track_ boolhops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout int
 - Timeout in seconds for the test.
 - url str
 - The URL to send the request to.
 
- allow
Insecure Boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - body String
 - The request body.
 - body
Type String - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type String - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains List<String> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server String - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server StringPort  - DNS server port to use for DNS tests.
 - follow
Redirects Boolean - Determines whether or not the API HTTP test should follow redirects.
 - host String
 - Host name to perform the test with.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - message String
 - For UDP and websocket tests, message to send with the request.
 - method String
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving BooleanResponse Body  - Determines whether or not to save the response body.
 - number
Of NumberPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - Boolean
 - Persist cookies across redirects.
 - plain
Proto StringFile  - The content of a proto file as a string.
 - port String
 - Port to use when performing the test.
 - proto
Json StringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername String
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service String
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track BooleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout Number
 - Timeout in seconds for the test.
 - url String
 - The URL to send the request to.
 
SyntheticsTestApiStepRequestFile, SyntheticsTestApiStepRequestFileArgs            
- name str
 - Name of the file.
 - size int
 - Size of the file.
 - type str
 - Type of the file.
 - bucket_
key str - Bucket key of the file.
 - content str
 - Content of the file.
 - original_
file_ strname  - Original name of the file.
 
SyntheticsTestApiStepRequestProxy, SyntheticsTestApiStepRequestProxyArgs            
SyntheticsTestApiStepRetry, SyntheticsTestApiStepRetryArgs          
- count Integer
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Integer
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count Number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
SyntheticsTestAssertion, SyntheticsTestAssertionArgs      
- Type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - Code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - Operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - Targetjsonschema
Synthetics
Test Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - Targetxpath
Synthetics
Test Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - Timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- Type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - Code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - Operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - Targetjsonschema
Synthetics
Test Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - Targetxpath
Synthetics
Test Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - Timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type String
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code String
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator String
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope String - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type string
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code string
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator string
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope string - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type str
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code str
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator str
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - property str
 - If assertion type is 
header, this is the header name. - target str
 - Expected value. Depends on the assertion type, refer to Datadog documentation for details.
 - targetjsonpath
Synthetics
Test Assertion Targetjsonpath  - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema
Synthetics
Test Assertion Targetjsonschema  - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath
Synthetics
Test Assertion Targetxpath  - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings_
scope str - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
- type String
 - Type of assertion. Note Only some combinations of 
typeandoperatorare 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,javascript. - code String
 - If assertion type is 
javascript, this is the JavaScript code that performs the assertions. - operator String
 - Assertion operator. Note Only some combinations of 
typeandoperatorare valid (please refer to Datadog documentation). - 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 Property Map
 - Expected structure if 
operatorisvalidatesJSONPath. Exactly one nested block is allowed with the structure below. - targetjsonschema Property Map
 - Expected structure if 
operatorisvalidatesJSONSchema. Exactly one nested block is allowed with the structure below. - targetxpath Property Map
 - Expected structure if 
operatorisvalidatesXPath. Exactly one nested block is allowed with the structure below. - timings
Scope String - Timings scope for response time assertions. Valid values are 
all,withoutDNS. 
SyntheticsTestAssertionTargetjsonpath, SyntheticsTestAssertionTargetjsonpathArgs        
- Jsonpath string
 - The JSON path to assert.
 - Operator string
 - The specific operator to use on the path.
 - Elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - Targetvalue string
 - Expected matching value.
 
- Jsonpath string
 - The JSON path to assert.
 - Operator string
 - The specific operator to use on the path.
 - Elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - Targetvalue string
 - Expected matching value.
 
- jsonpath String
 - The JSON path to assert.
 - operator String
 - The specific operator to use on the path.
 - elementsoperator String
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue String
 - Expected matching value.
 
- jsonpath string
 - The JSON path to assert.
 - operator string
 - The specific operator to use on the path.
 - elementsoperator string
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue string
 - Expected matching value.
 
- jsonpath str
 - The JSON path to assert.
 - operator str
 - The specific operator to use on the path.
 - elementsoperator str
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue str
 - Expected matching value.
 
- jsonpath String
 - The JSON path to assert.
 - operator String
 - The specific operator to use on the path.
 - elementsoperator String
 - The element from the list of results to assert on. Select from 
firstElementMatches(the first element in the list),everyElementMatches(every element in the list),atLeastOneElementMatches(at least one element in the list), orserializationMatches(the serialized value of the list). Defaults to"firstElementMatches". - targetvalue String
 - Expected matching value.
 
SyntheticsTestAssertionTargetjsonschema, SyntheticsTestAssertionTargetjsonschemaArgs        
- Jsonschema string
 - The JSON Schema to validate the body against.
 - Metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- Jsonschema string
 - The JSON Schema to validate the body against.
 - Metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema String
 - The JSON Schema to validate the body against.
 - metaschema String
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema string
 - The JSON Schema to validate the body against.
 - metaschema string
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema str
 - The JSON Schema to validate the body against.
 - metaschema str
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
- jsonschema String
 - The JSON Schema to validate the body against.
 - metaschema String
 - The meta schema to use for the JSON Schema. Defaults to 
"draft-07". 
SyntheticsTestAssertionTargetxpath, SyntheticsTestAssertionTargetxpathArgs        
- Operator string
 - The specific operator to use on the path.
 - Xpath string
 - The xpath to assert.
 - Targetvalue string
 - Expected matching value.
 
- Operator string
 - The specific operator to use on the path.
 - Xpath string
 - The xpath to assert.
 - Targetvalue string
 - Expected matching value.
 
- operator String
 - The specific operator to use on the path.
 - xpath String
 - The xpath to assert.
 - targetvalue String
 - Expected matching value.
 
- operator string
 - The specific operator to use on the path.
 - xpath string
 - The xpath to assert.
 - targetvalue string
 - Expected matching value.
 
- operator str
 - The specific operator to use on the path.
 - xpath str
 - The xpath to assert.
 - targetvalue str
 - Expected matching value.
 
- operator String
 - The specific operator to use on the path.
 - xpath String
 - The xpath to assert.
 - targetvalue String
 - Expected matching value.
 
SyntheticsTestBrowserStep, SyntheticsTestBrowserStepArgs        
- Name string
 - Name of the step.
 - Params
Synthetics
Test Browser Step Params  - Parameters for the step.
 - Type string
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - Allow
Failure bool - Determines if the step should be allowed to fail.
 - Always
Execute bool - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - Exit
If boolSucceed  - Determines whether or not to exit the test if the step succeeds.
 - Force
Element boolUpdate  - Force update of the "element" parameter for the step
 - Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - Local
Key string - A unique identifier used to track steps after reordering.
 - No
Screenshot bool - Prevents saving screenshots of the step.
 - Public
Id string - The identifier of the step on the backend.
 - Timeout int
 - Used to override the default timeout of a step.
 
- Name string
 - Name of the step.
 - Params
Synthetics
Test Browser Step Params  - Parameters for the step.
 - Type string
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - Allow
Failure bool - Determines if the step should be allowed to fail.
 - Always
Execute bool - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - Exit
If boolSucceed  - Determines whether or not to exit the test if the step succeeds.
 - Force
Element boolUpdate  - Force update of the "element" parameter for the step
 - Is
Critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - Local
Key string - A unique identifier used to track steps after reordering.
 - No
Screenshot bool - Prevents saving screenshots of the step.
 - Public
Id string - The identifier of the step on the backend.
 - Timeout int
 - Used to override the default timeout of a step.
 
- name String
 - Name of the step.
 - params
Synthetics
Test Browser Step Params  - Parameters for the step.
 - type String
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - allow
Failure Boolean - Determines if the step should be allowed to fail.
 - always
Execute Boolean - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - exit
If BooleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - force
Element BooleanUpdate  - Force update of the "element" parameter for the step
 - is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - local
Key String - A unique identifier used to track steps after reordering.
 - no
Screenshot Boolean - Prevents saving screenshots of the step.
 - public
Id String - The identifier of the step on the backend.
 - timeout Integer
 - Used to override the default timeout of a step.
 
- name string
 - Name of the step.
 - params
Synthetics
Test Browser Step Params  - Parameters for the step.
 - type string
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - allow
Failure boolean - Determines if the step should be allowed to fail.
 - always
Execute boolean - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - exit
If booleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - force
Element booleanUpdate  - Force update of the "element" parameter for the step
 - is
Critical boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - local
Key string - A unique identifier used to track steps after reordering.
 - no
Screenshot boolean - Prevents saving screenshots of the step.
 - public
Id string - The identifier of the step on the backend.
 - timeout number
 - Used to override the default timeout of a step.
 
- name str
 - Name of the step.
 - params
Synthetics
Test Browser Step Params  - Parameters for the step.
 - type str
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - allow_
failure bool - Determines if the step should be allowed to fail.
 - always_
execute bool - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - exit_
if_ boolsucceed  - Determines whether or not to exit the test if the step succeeds.
 - force_
element_ boolupdate  - Force update of the "element" parameter for the step
 - is_
critical bool - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - local_
key str - A unique identifier used to track steps after reordering.
 - no_
screenshot bool - Prevents saving screenshots of the step.
 - public_
id str - The identifier of the step on the backend.
 - timeout int
 - Used to override the default timeout of a step.
 
- name String
 - Name of the step.
 - params Property Map
 - Parameters for the step.
 - type String
 - Type of the step. Valid values are 
assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait. - allow
Failure Boolean - Determines if the step should be allowed to fail.
 - always
Execute Boolean - Determines whether or not to always execute this step even if the previous step failed or was skipped.
 - exit
If BooleanSucceed  - Determines whether or not to exit the test if the step succeeds.
 - force
Element BooleanUpdate  - Force update of the "element" parameter for the step
 - is
Critical Boolean - Determines whether or not to consider the entire test as failed if this step fails. Can be used only if 
allow_failureistrue. - local
Key String - A unique identifier used to track steps after reordering.
 - no
Screenshot Boolean - Prevents saving screenshots of the step.
 - public
Id String - The identifier of the step on the backend.
 - timeout Number
 - Used to override the default timeout of a step.
 
SyntheticsTestBrowserStepParams, SyntheticsTestBrowserStepParamsArgs          
- Attribute string
 - Name of the attribute to use for an "assert attribute" step.
 - Check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - Click
Type string - Type of click to use for a "click" step.
 - Code string
 - Javascript code to use for the step.
 - Delay int
 - Delay between each key stroke for a "type test" step.
 - Element string
 - Element to use for the step, JSON encoded string.
 - Element
User SyntheticsLocator Test Browser Step Params Element User Locator  - Custom user selector to use for the step.
 - Email string
 - Details of the email for an "assert email" step, JSON encoded string.
 - File string
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - Files string
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - Modifiers List<string>
 - Modifier to use for a "press key" step.
 - Playing
Tab stringId  - ID of the tab to play the subtest.
 - Request string
 - Request for an API step.
 - Subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - Value string
 - Value of the step.
 - Variable
Synthetics
Test Browser Step Params Variable  - Details of the variable to extract.
 - With
Click bool - For "file upload" steps.
 - X int
 - X coordinates for a "scroll step".
 - Y int
 - Y coordinates for a "scroll step".
 
- Attribute string
 - Name of the attribute to use for an "assert attribute" step.
 - Check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - Click
Type string - Type of click to use for a "click" step.
 - Code string
 - Javascript code to use for the step.
 - Delay int
 - Delay between each key stroke for a "type test" step.
 - Element string
 - Element to use for the step, JSON encoded string.
 - Element
User SyntheticsLocator Test Browser Step Params Element User Locator  - Custom user selector to use for the step.
 - Email string
 - Details of the email for an "assert email" step, JSON encoded string.
 - File string
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - Files string
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - Modifiers []string
 - Modifier to use for a "press key" step.
 - Playing
Tab stringId  - ID of the tab to play the subtest.
 - Request string
 - Request for an API step.
 - Subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - Value string
 - Value of the step.
 - Variable
Synthetics
Test Browser Step Params Variable  - Details of the variable to extract.
 - With
Click bool - For "file upload" steps.
 - X int
 - X coordinates for a "scroll step".
 - Y int
 - Y coordinates for a "scroll step".
 
- attribute String
 - Name of the attribute to use for an "assert attribute" step.
 - check String
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - click
Type String - Type of click to use for a "click" step.
 - code String
 - Javascript code to use for the step.
 - delay Integer
 - Delay between each key stroke for a "type test" step.
 - element String
 - Element to use for the step, JSON encoded string.
 - element
User SyntheticsLocator Test Browser Step Params Element User Locator  - Custom user selector to use for the step.
 - email String
 - Details of the email for an "assert email" step, JSON encoded string.
 - file String
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - files String
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - modifiers List<String>
 - Modifier to use for a "press key" step.
 - playing
Tab StringId  - ID of the tab to play the subtest.
 - request String
 - Request for an API step.
 - subtest
Public StringId  - ID of the Synthetics test to use as subtest.
 - value String
 - Value of the step.
 - variable
Synthetics
Test Browser Step Params Variable  - Details of the variable to extract.
 - with
Click Boolean - For "file upload" steps.
 - x Integer
 - X coordinates for a "scroll step".
 - y Integer
 - Y coordinates for a "scroll step".
 
- attribute string
 - Name of the attribute to use for an "assert attribute" step.
 - check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - click
Type string - Type of click to use for a "click" step.
 - code string
 - Javascript code to use for the step.
 - delay number
 - Delay between each key stroke for a "type test" step.
 - element string
 - Element to use for the step, JSON encoded string.
 - element
User SyntheticsLocator Test Browser Step Params Element User Locator  - Custom user selector to use for the step.
 - email string
 - Details of the email for an "assert email" step, JSON encoded string.
 - file string
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - files string
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - modifiers string[]
 - Modifier to use for a "press key" step.
 - playing
Tab stringId  - ID of the tab to play the subtest.
 - request string
 - Request for an API step.
 - subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - value string
 - Value of the step.
 - variable
Synthetics
Test Browser Step Params Variable  - Details of the variable to extract.
 - with
Click boolean - For "file upload" steps.
 - x number
 - X coordinates for a "scroll step".
 - y number
 - Y coordinates for a "scroll step".
 
- attribute str
 - Name of the attribute to use for an "assert attribute" step.
 - check str
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - click_
type str - Type of click to use for a "click" step.
 - code str
 - Javascript code to use for the step.
 - delay int
 - Delay between each key stroke for a "type test" step.
 - element str
 - Element to use for the step, JSON encoded string.
 - element_
user_ Syntheticslocator Test Browser Step Params Element User Locator  - Custom user selector to use for the step.
 - email str
 - Details of the email for an "assert email" step, JSON encoded string.
 - file str
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - files str
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - modifiers Sequence[str]
 - Modifier to use for a "press key" step.
 - playing_
tab_ strid  - ID of the tab to play the subtest.
 - request str
 - Request for an API step.
 - subtest_
public_ strid  - ID of the Synthetics test to use as subtest.
 - value str
 - Value of the step.
 - variable
Synthetics
Test Browser Step Params Variable  - Details of the variable to extract.
 - with_
click bool - For "file upload" steps.
 - x int
 - X coordinates for a "scroll step".
 - y int
 - Y coordinates for a "scroll step".
 
- attribute String
 - Name of the attribute to use for an "assert attribute" step.
 - check String
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - click
Type String - Type of click to use for a "click" step.
 - code String
 - Javascript code to use for the step.
 - delay Number
 - Delay between each key stroke for a "type test" step.
 - element String
 - Element to use for the step, JSON encoded string.
 - element
User Property MapLocator  - Custom user selector to use for the step.
 - email String
 - Details of the email for an "assert email" step, JSON encoded string.
 - file String
 - JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema.
 - files String
 - Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema.
 - modifiers List<String>
 - Modifier to use for a "press key" step.
 - playing
Tab StringId  - ID of the tab to play the subtest.
 - request String
 - Request for an API step.
 - subtest
Public StringId  - ID of the Synthetics test to use as subtest.
 - value String
 - Value of the step.
 - variable Property Map
 - Details of the variable to extract.
 - with
Click Boolean - For "file upload" steps.
 - x Number
 - X coordinates for a "scroll step".
 - y Number
 - Y coordinates for a "scroll step".
 
SyntheticsTestBrowserStepParamsElementUserLocator, SyntheticsTestBrowserStepParamsElementUserLocatorArgs                
- Value
Synthetics
Test Browser Step Params Element User Locator Value  - Fail
Test boolOn Cannot Locate  - Defaults to 
false. 
- Value
Synthetics
Test Browser Step Params Element User Locator Value  - Fail
Test boolOn Cannot Locate  - Defaults to 
false. 
- value
Synthetics
Test Browser Step Params Element User Locator Value  - fail
Test BooleanOn Cannot Locate  - Defaults to 
false. 
- value
Synthetics
Test Browser Step Params Element User Locator Value  - fail
Test booleanOn Cannot Locate  - Defaults to 
false. 
- value
Synthetics
Test Browser Step Params Element User Locator Value  - fail_
test_ boolon_ cannot_ locate  - Defaults to 
false. 
- value Property Map
 - fail
Test BooleanOn Cannot Locate  - Defaults to 
false. 
SyntheticsTestBrowserStepParamsElementUserLocatorValue, SyntheticsTestBrowserStepParamsElementUserLocatorValueArgs                  
SyntheticsTestBrowserStepParamsVariable, SyntheticsTestBrowserStepParamsVariableArgs            
SyntheticsTestBrowserVariable, SyntheticsTestBrowserVariableArgs        
- Name string
 - Name of the variable.
 - Type string
 - Type of browser test variable. Valid values are 
element,email,global,text. - Example string
 - Example for the variable. Defaults to 
"". - Id string
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - Pattern string
 - Pattern of the variable. Defaults to 
"". - Secure bool
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
- Name string
 - Name of the variable.
 - Type string
 - Type of browser test variable. Valid values are 
element,email,global,text. - Example string
 - Example for the variable. Defaults to 
"". - Id string
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - Pattern string
 - Pattern of the variable. Defaults to 
"". - Secure bool
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
- name String
 - Name of the variable.
 - type String
 - Type of browser test variable. Valid values are 
element,email,global,text. - example String
 - Example for the variable. Defaults to 
"". - id String
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - pattern String
 - Pattern of the variable. Defaults to 
"". - secure Boolean
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
- name string
 - Name of the variable.
 - type string
 - Type of browser test variable. Valid values are 
element,email,global,text. - example string
 - Example for the variable. Defaults to 
"". - id string
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - pattern string
 - Pattern of the variable. Defaults to 
"". - secure boolean
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
- name str
 - Name of the variable.
 - type str
 - Type of browser test variable. Valid values are 
element,email,global,text. - example str
 - Example for the variable. Defaults to 
"". - id str
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - pattern str
 - Pattern of the variable. Defaults to 
"". - secure bool
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
- name String
 - Name of the variable.
 - type String
 - Type of browser test variable. Valid values are 
element,email,global,text. - example String
 - Example for the variable. Defaults to 
"". - id String
 - ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type 
global. - pattern String
 - Pattern of the variable. Defaults to 
"". - secure Boolean
 - Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type 
text 
SyntheticsTestConfigVariable, SyntheticsTestConfigVariableArgs        
- Name string
 - Name of the variable.
 - Type string
 - Type of test configuration variable. Valid values are 
global,text,email. - Example string
 - Id string
 - When type = 
global, ID of the global variable to use. - Pattern string
 - Secure bool
 - Whether the value of this variable will be obfuscated in test results. Defaults to 
false. 
- Name string
 - Name of the variable.
 - Type string
 - Type of test configuration variable. Valid values are 
global,text,email. - Example string
 - Id string
 - When type = 
global, ID of the global variable to use. - Pattern string
 - Secure bool
 - Whether the value of this variable will be obfuscated in test results. Defaults to 
false. 
- name String
 - Name of the variable.
 - type String
 - Type of test configuration variable. Valid values are 
global,text,email. - example String
 - id String
 - When type = 
global, ID of the global variable to use. - pattern String
 - secure Boolean
 - Whether the value of this variable will be obfuscated in test results. Defaults to 
false. 
- name string
 - Name of the variable.
 - type string
 - Type of test configuration variable. Valid values are 
global,text,email. - example string
 - id string
 - When type = 
global, ID of the global variable to use. - pattern string
 - secure boolean
 - Whether the value of this variable will be obfuscated in test results. Defaults to 
false. 
- name String
 - Name of the variable.
 - type String
 - Type of test configuration variable. Valid values are 
global,text,email. - example String
 - id String
 - When type = 
global, ID of the global variable to use. - pattern String
 - secure Boolean
 - Whether the value of this variable will be obfuscated in test results. Defaults to 
false. 
SyntheticsTestMobileOptionsList, SyntheticsTestMobileOptionsListArgs          
- Device
Ids List<string> - Mobile
Application SyntheticsTest Mobile Options List Mobile Application  - Tick
Every int - How often the test should run (in seconds).
 - Allow
Application boolCrash  - Bindings
List<Synthetics
Test Mobile Options List Binding>  - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - Ci
Synthetics
Test Mobile Options List Ci  - CI/CD options for a Synthetic test.
 - Default
Step intTimeout  - Disable
Auto boolAccept Alert  - Min
Failure intDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - Monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - Monitor
Options SyntheticsTest Mobile Options List Monitor Options  - Monitor
Priority int - No
Screenshot bool - Prevents saving screenshots of the steps.
 - Restricted
Roles List<string> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - Retry
Synthetics
Test Mobile Options List Retry  - Scheduling
Synthetics
Test Mobile Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 - Verbosity int
 
- Device
Ids []string - Mobile
Application SyntheticsTest Mobile Options List Mobile Application  - Tick
Every int - How often the test should run (in seconds).
 - Allow
Application boolCrash  - Bindings
[]Synthetics
Test Mobile Options List Binding  - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - Ci
Synthetics
Test Mobile Options List Ci  - CI/CD options for a Synthetic test.
 - Default
Step intTimeout  - Disable
Auto boolAccept Alert  - Min
Failure intDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - Monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - Monitor
Options SyntheticsTest Mobile Options List Monitor Options  - Monitor
Priority int - No
Screenshot bool - Prevents saving screenshots of the steps.
 - Restricted
Roles []string - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - Retry
Synthetics
Test Mobile Options List Retry  - Scheduling
Synthetics
Test Mobile Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 - Verbosity int
 
- device
Ids List<String> - mobile
Application SyntheticsTest Mobile Options List Mobile Application  - tick
Every Integer - How often the test should run (in seconds).
 - allow
Application BooleanCrash  - bindings
List<Synthetics
Test Mobile Options List Binding>  - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - ci
Synthetics
Test Mobile Options List Ci  - CI/CD options for a Synthetic test.
 - default
Step IntegerTimeout  - disable
Auto BooleanAccept Alert  - min
Failure IntegerDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - monitor
Name String - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options SyntheticsTest Mobile Options List Monitor Options  - monitor
Priority Integer - no
Screenshot Boolean - Prevents saving screenshots of the steps.
 - restricted
Roles List<String> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Mobile Options List Retry  - scheduling
Synthetics
Test Mobile Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 - verbosity Integer
 
- device
Ids string[] - mobile
Application SyntheticsTest Mobile Options List Mobile Application  - tick
Every number - How often the test should run (in seconds).
 - allow
Application booleanCrash  - bindings
Synthetics
Test Mobile Options List Binding[]  - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - ci
Synthetics
Test Mobile Options List Ci  - CI/CD options for a Synthetic test.
 - default
Step numberTimeout  - disable
Auto booleanAccept Alert  - min
Failure numberDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options SyntheticsTest Mobile Options List Monitor Options  - monitor
Priority number - no
Screenshot boolean - Prevents saving screenshots of the steps.
 - restricted
Roles string[] - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Mobile Options List Retry  - scheduling
Synthetics
Test Mobile Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 - verbosity number
 
- device_
ids Sequence[str] - mobile_
application SyntheticsTest Mobile Options List Mobile Application  - tick_
every int - How often the test should run (in seconds).
 - allow_
application_ boolcrash  - bindings
Sequence[Synthetics
Test Mobile Options List Binding]  - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - ci
Synthetics
Test Mobile Options List Ci  - CI/CD options for a Synthetic test.
 - default_
step_ inttimeout  - disable_
auto_ boolaccept_ alert  - min_
failure_ intduration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - monitor_
name str - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor_
options SyntheticsTest Mobile Options List Monitor Options  - monitor_
priority int - no_
screenshot bool - Prevents saving screenshots of the steps.
 - restricted_
roles Sequence[str] - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Mobile Options List Retry  - scheduling
Synthetics
Test Mobile Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 - verbosity int
 
- device
Ids List<String> - mobile
Application Property Map - tick
Every Number - How often the test should run (in seconds).
 - allow
Application BooleanCrash  - bindings List<Property Map>
 - Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a 
datadog.RestrictionPolicyresource - ci Property Map
 - CI/CD options for a Synthetic test.
 - default
Step NumberTimeout  - disable
Auto BooleanAccept Alert  - min
Failure NumberDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - monitor
Name String - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options Property Map - monitor
Priority Number - no
Screenshot Boolean - Prevents saving screenshots of the steps.
 - restricted
Roles List<String> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry Property Map
 - scheduling Property Map
 - Object containing timeframes and timezone used for advanced scheduling.
 - verbosity Number
 
SyntheticsTestMobileOptionsListBinding, SyntheticsTestMobileOptionsListBindingArgs            
- Principals List<string>
 - Relation string
 - Valid values are 
editor,viewer. 
- Principals []string
 - Relation string
 - Valid values are 
editor,viewer. 
- principals List<String>
 - relation String
 - Valid values are 
editor,viewer. 
- principals string[]
 - relation string
 - Valid values are 
editor,viewer. 
- principals Sequence[str]
 - relation str
 - Valid values are 
editor,viewer. 
- principals List<String>
 - relation String
 - Valid values are 
editor,viewer. 
SyntheticsTestMobileOptionsListCi, SyntheticsTestMobileOptionsListCiArgs            
- Execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- Execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule String - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution_
rule str - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule String - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
SyntheticsTestMobileOptionsListMobileApplication, SyntheticsTestMobileOptionsListMobileApplicationArgs              
- Application
Id string - Reference
Id string - Reference
Type string - Valid values are 
latest,version. 
- Application
Id string - Reference
Id string - Reference
Type string - Valid values are 
latest,version. 
- application
Id String - reference
Id String - reference
Type String - Valid values are 
latest,version. 
- application
Id string - reference
Id string - reference
Type string - Valid values are 
latest,version. 
- application_
id str - reference_
id str - reference_
type str - Valid values are 
latest,version. 
- application
Id String - reference
Id String - reference
Type String - Valid values are 
latest,version. 
SyntheticsTestMobileOptionsListMonitorOptions, SyntheticsTestMobileOptionsListMonitorOptionsArgs              
- Escalation
Message string - Notification
Preset stringName  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - Renotify
Interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - Renotify
Occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- Escalation
Message string - Notification
Preset stringName  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - Renotify
Interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - Renotify
Occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- escalation
Message String - notification
Preset StringName  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - renotify
Interval Integer - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences Integer - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- escalation
Message string - notification
Preset stringName  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - renotify
Interval number - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences number - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- escalation_
message str - notification_
preset_ strname  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - renotify_
interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify_
occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- escalation
Message String - notification
Preset StringName  - Valid values are 
show_all,hide_all,hide_query,hide_handles. - renotify
Interval Number - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences Number - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
SyntheticsTestMobileOptionsListRetry, SyntheticsTestMobileOptionsListRetryArgs            
- count Integer
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Integer
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count Number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
SyntheticsTestMobileOptionsListScheduling, SyntheticsTestMobileOptionsListSchedulingArgs            
- Timeframes
List<Synthetics
Test Mobile Options List Scheduling Timeframe>  - Array containing objects describing the scheduling pattern to apply to each day.
 - Timezone string
 - Timezone in which the timeframe is based.
 
- Timeframes
[]Synthetics
Test Mobile Options List Scheduling Timeframe  - Array containing objects describing the scheduling pattern to apply to each day.
 - Timezone string
 - Timezone in which the timeframe is based.
 
- timeframes
List<Synthetics
Test Mobile Options List Scheduling Timeframe>  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone String
 - Timezone in which the timeframe is based.
 
- timeframes
Synthetics
Test Mobile Options List Scheduling Timeframe[]  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone string
 - Timezone in which the timeframe is based.
 
- timeframes
Sequence[Synthetics
Test Mobile Options List Scheduling Timeframe]  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone str
 - Timezone in which the timeframe is based.
 
- timeframes List<Property Map>
 - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone String
 - Timezone in which the timeframe is based.
 
SyntheticsTestMobileOptionsListSchedulingTimeframe, SyntheticsTestMobileOptionsListSchedulingTimeframeArgs              
SyntheticsTestMobileStep, SyntheticsTestMobileStepArgs        
- Name string
 - The name of the step.
 - Params
Synthetics
Test Mobile Step Params  - Parameters for the step.
 - Type string
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - Allow
Failure bool - A boolean set to allow this step to fail.
 - Has
New boolStep Element  - A boolean set to determine if the step has a new step element.
 - Is
Critical bool - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - No
Screenshot bool - A boolean set to not take a screenshot for the step.
 - Public
Id string - The public ID of the step.
 - Timeout int
 - The time before declaring a step failed.
 
- Name string
 - The name of the step.
 - Params
Synthetics
Test Mobile Step Params  - Parameters for the step.
 - Type string
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - Allow
Failure bool - A boolean set to allow this step to fail.
 - Has
New boolStep Element  - A boolean set to determine if the step has a new step element.
 - Is
Critical bool - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - No
Screenshot bool - A boolean set to not take a screenshot for the step.
 - Public
Id string - The public ID of the step.
 - Timeout int
 - The time before declaring a step failed.
 
- name String
 - The name of the step.
 - params
Synthetics
Test Mobile Step Params  - Parameters for the step.
 - type String
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - allow
Failure Boolean - A boolean set to allow this step to fail.
 - has
New BooleanStep Element  - A boolean set to determine if the step has a new step element.
 - is
Critical Boolean - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - no
Screenshot Boolean - A boolean set to not take a screenshot for the step.
 - public
Id String - The public ID of the step.
 - timeout Integer
 - The time before declaring a step failed.
 
- name string
 - The name of the step.
 - params
Synthetics
Test Mobile Step Params  - Parameters for the step.
 - type string
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - allow
Failure boolean - A boolean set to allow this step to fail.
 - has
New booleanStep Element  - A boolean set to determine if the step has a new step element.
 - is
Critical boolean - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - no
Screenshot boolean - A boolean set to not take a screenshot for the step.
 - public
Id string - The public ID of the step.
 - timeout number
 - The time before declaring a step failed.
 
- name str
 - The name of the step.
 - params
Synthetics
Test Mobile Step Params  - Parameters for the step.
 - type str
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - allow_
failure bool - A boolean set to allow this step to fail.
 - has_
new_ boolstep_ element  - A boolean set to determine if the step has a new step element.
 - is_
critical bool - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - no_
screenshot bool - A boolean set to not take a screenshot for the step.
 - public_
id str - The public ID of the step.
 - timeout int
 - The time before declaring a step failed.
 
- name String
 - The name of the step.
 - params Property Map
 - Parameters for the step.
 - type String
 - The type of the step. Valid values are 
assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait. - allow
Failure Boolean - A boolean set to allow this step to fail.
 - has
New BooleanStep Element  - A boolean set to determine if the step has a new step element.
 - is
Critical Boolean - A boolean to use in addition to 
allowFailureto determine if the test should be marked as failed when the step fails. - no
Screenshot Boolean - A boolean set to not take a screenshot for the step.
 - public
Id String - The public ID of the step.
 - timeout Number
 - The time before declaring a step failed.
 
SyntheticsTestMobileStepParams, SyntheticsTestMobileStepParamsArgs          
- Check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - Delay int
 - Delay between each key stroke for a "type test" step.
 - Direction string
 - Valid values are 
up,down,left,right. - Element
Synthetics
Test Mobile Step Params Element  - Element to use for the step, JSON encoded string.
 - Enable bool
 - Max
Scrolls int - Positions
List<Synthetics
Test Mobile Step Params Position>  - Subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - Value string
 - Value of the step.
 - Variable
Synthetics
Test Mobile Step Params Variable  - Details of the variable to extract.
 - With
Enter bool - X double
 - X coordinates for a "scroll step".
 - Y double
 - Y coordinates for a "scroll step".
 
- Check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - Delay int
 - Delay between each key stroke for a "type test" step.
 - Direction string
 - Valid values are 
up,down,left,right. - Element
Synthetics
Test Mobile Step Params Element  - Element to use for the step, JSON encoded string.
 - Enable bool
 - Max
Scrolls int - Positions
[]Synthetics
Test Mobile Step Params Position  - Subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - Value string
 - Value of the step.
 - Variable
Synthetics
Test Mobile Step Params Variable  - Details of the variable to extract.
 - With
Enter bool - X float64
 - X coordinates for a "scroll step".
 - Y float64
 - Y coordinates for a "scroll step".
 
- check String
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - delay Integer
 - Delay between each key stroke for a "type test" step.
 - direction String
 - Valid values are 
up,down,left,right. - element
Synthetics
Test Mobile Step Params Element  - Element to use for the step, JSON encoded string.
 - enable Boolean
 - max
Scrolls Integer - positions
List<Synthetics
Test Mobile Step Params Position>  - subtest
Public StringId  - ID of the Synthetics test to use as subtest.
 - value String
 - Value of the step.
 - variable
Synthetics
Test Mobile Step Params Variable  - Details of the variable to extract.
 - with
Enter Boolean - x Double
 - X coordinates for a "scroll step".
 - y Double
 - Y coordinates for a "scroll step".
 
- check string
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - delay number
 - Delay between each key stroke for a "type test" step.
 - direction string
 - Valid values are 
up,down,left,right. - element
Synthetics
Test Mobile Step Params Element  - Element to use for the step, JSON encoded string.
 - enable boolean
 - max
Scrolls number - positions
Synthetics
Test Mobile Step Params Position[]  - subtest
Public stringId  - ID of the Synthetics test to use as subtest.
 - value string
 - Value of the step.
 - variable
Synthetics
Test Mobile Step Params Variable  - Details of the variable to extract.
 - with
Enter boolean - x number
 - X coordinates for a "scroll step".
 - y number
 - Y coordinates for a "scroll step".
 
- check str
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - delay int
 - Delay between each key stroke for a "type test" step.
 - direction str
 - Valid values are 
up,down,left,right. - element
Synthetics
Test Mobile Step Params Element  - Element to use for the step, JSON encoded string.
 - enable bool
 - max_
scrolls int - positions
Sequence[Synthetics
Test Mobile Step Params Position]  - subtest_
public_ strid  - ID of the Synthetics test to use as subtest.
 - value str
 - Value of the step.
 - variable
Synthetics
Test Mobile Step Params Variable  - Details of the variable to extract.
 - with_
enter bool - x float
 - X coordinates for a "scroll step".
 - y float
 - Y coordinates for a "scroll step".
 
- check String
 - Check type to use for an assertion step. Valid values are 
equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty. - delay Number
 - Delay between each key stroke for a "type test" step.
 - direction String
 - Valid values are 
up,down,left,right. - element Property Map
 - Element to use for the step, JSON encoded string.
 - enable Boolean
 - max
Scrolls Number - positions List<Property Map>
 - subtest
Public StringId  - ID of the Synthetics test to use as subtest.
 - value String
 - Value of the step.
 - variable Property Map
 - Details of the variable to extract.
 - with
Enter Boolean - x Number
 - X coordinates for a "scroll step".
 - y Number
 - Y coordinates for a "scroll step".
 
SyntheticsTestMobileStepParamsElement, SyntheticsTestMobileStepParamsElementArgs            
- Context string
 - Context
Type string - Valid values are 
native,web. - Element
Description string - Multi
Locator Dictionary<string, string> - Relative
Position SyntheticsTest Mobile Step Params Element Relative Position  - Text
Content string - User
Locator SyntheticsTest Mobile Step Params Element User Locator  - View
Name string 
- Context string
 - Context
Type string - Valid values are 
native,web. - Element
Description string - Multi
Locator map[string]string - Relative
Position SyntheticsTest Mobile Step Params Element Relative Position  - Text
Content string - User
Locator SyntheticsTest Mobile Step Params Element User Locator  - View
Name string 
- context String
 - context
Type String - Valid values are 
native,web. - element
Description String - multi
Locator Map<String,String> - relative
Position SyntheticsTest Mobile Step Params Element Relative Position  - text
Content String - user
Locator SyntheticsTest Mobile Step Params Element User Locator  - view
Name String 
- context string
 - context
Type string - Valid values are 
native,web. - element
Description string - multi
Locator {[key: string]: string} - relative
Position SyntheticsTest Mobile Step Params Element Relative Position  - text
Content string - user
Locator SyntheticsTest Mobile Step Params Element User Locator  - view
Name string 
- context str
 - context_
type str - Valid values are 
native,web. - element_
description str - multi_
locator Mapping[str, str] - relative_
position SyntheticsTest Mobile Step Params Element Relative Position  - text_
content str - user_
locator SyntheticsTest Mobile Step Params Element User Locator  - view_
name str 
- context String
 - context
Type String - Valid values are 
native,web. - element
Description String - multi
Locator Map<String> - relative
Position Property Map - text
Content String - user
Locator Property Map - view
Name String 
SyntheticsTestMobileStepParamsElementRelativePosition, SyntheticsTestMobileStepParamsElementRelativePositionArgs                
SyntheticsTestMobileStepParamsElementUserLocator, SyntheticsTestMobileStepParamsElementUserLocatorArgs                
SyntheticsTestMobileStepParamsElementUserLocatorValue, SyntheticsTestMobileStepParamsElementUserLocatorValueArgs                  
SyntheticsTestMobileStepParamsPosition, SyntheticsTestMobileStepParamsPositionArgs            
SyntheticsTestMobileStepParamsVariable, SyntheticsTestMobileStepParamsVariableArgs            
SyntheticsTestOptionsList, SyntheticsTestOptionsListArgs        
- Tick
Every int - How often the test should run (in seconds).
 - Accept
Self boolSigned  - For SSL test, whether or not the test should allow self signed certificates.
 - Allow
Insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - Check
Certificate boolRevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - Ci
Synthetics
Test Options List Ci  - CI/CD options for a Synthetic test.
 - Disable
Cors bool - Disable Cross-Origin Resource Sharing for browser tests.
 - Disable
Csp bool - Disable Content Security Policy for browser tests.
 - Follow
Redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - Ignore
Server boolCertificate Error  - Ignore server certificate error for browser tests.
 - int
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - Min
Failure intDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - Min
Location intFailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - Monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - Monitor
Options SyntheticsTest Options List Monitor Options  - Monitor
Priority int - No
Screenshot bool - Prevents saving screenshots of the steps.
 - Restricted
Roles List<string> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - Retry
Synthetics
Test Options List Retry  - Rum
Settings SyntheticsTest Options List Rum Settings  - The RUM data collection settings for the Synthetic browser test.
 - Scheduling
Synthetics
Test Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 
- Tick
Every int - How often the test should run (in seconds).
 - Accept
Self boolSigned  - For SSL test, whether or not the test should allow self signed certificates.
 - Allow
Insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - Check
Certificate boolRevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - Ci
Synthetics
Test Options List Ci  - CI/CD options for a Synthetic test.
 - Disable
Cors bool - Disable Cross-Origin Resource Sharing for browser tests.
 - Disable
Csp bool - Disable Content Security Policy for browser tests.
 - Follow
Redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - Ignore
Server boolCertificate Error  - Ignore server certificate error for browser tests.
 - int
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - Min
Failure intDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - Min
Location intFailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - Monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - Monitor
Options SyntheticsTest Options List Monitor Options  - Monitor
Priority int - No
Screenshot bool - Prevents saving screenshots of the steps.
 - Restricted
Roles []string - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - Retry
Synthetics
Test Options List Retry  - Rum
Settings SyntheticsTest Options List Rum Settings  - The RUM data collection settings for the Synthetic browser test.
 - Scheduling
Synthetics
Test Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 
- tick
Every Integer - How often the test should run (in seconds).
 - accept
Self BooleanSigned  - For SSL test, whether or not the test should allow self signed certificates.
 - allow
Insecure Boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - check
Certificate BooleanRevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - ci
Synthetics
Test Options List Ci  - CI/CD options for a Synthetic test.
 - disable
Cors Boolean - Disable Cross-Origin Resource Sharing for browser tests.
 - disable
Csp Boolean - Disable Content Security Policy for browser tests.
 - follow
Redirects Boolean - Determines whether or not the API HTTP test should follow redirects.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - ignore
Server BooleanCertificate Error  - Ignore server certificate error for browser tests.
 - Integer
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - min
Failure IntegerDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - min
Location IntegerFailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - monitor
Name String - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options SyntheticsTest Options List Monitor Options  - monitor
Priority Integer - no
Screenshot Boolean - Prevents saving screenshots of the steps.
 - restricted
Roles List<String> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Options List Retry  - rum
Settings SyntheticsTest Options List Rum Settings  - The RUM data collection settings for the Synthetic browser test.
 - scheduling
Synthetics
Test Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 
- tick
Every number - How often the test should run (in seconds).
 - accept
Self booleanSigned  - For SSL test, whether or not the test should allow self signed certificates.
 - allow
Insecure boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - check
Certificate booleanRevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - ci
Synthetics
Test Options List Ci  - CI/CD options for a Synthetic test.
 - disable
Cors boolean - Disable Cross-Origin Resource Sharing for browser tests.
 - disable
Csp boolean - Disable Content Security Policy for browser tests.
 - follow
Redirects boolean - Determines whether or not the API HTTP test should follow redirects.
 - http
Version string - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - ignore
Server booleanCertificate Error  - Ignore server certificate error for browser tests.
 - number
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - min
Failure numberDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - min
Location numberFailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - monitor
Name string - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options SyntheticsTest Options List Monitor Options  - monitor
Priority number - no
Screenshot boolean - Prevents saving screenshots of the steps.
 - restricted
Roles string[] - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Options List Retry  - rum
Settings SyntheticsTest Options List Rum Settings  - The RUM data collection settings for the Synthetic browser test.
 - scheduling
Synthetics
Test Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 
- tick_
every int - How often the test should run (in seconds).
 - accept_
self_ boolsigned  - For SSL test, whether or not the test should allow self signed certificates.
 - allow_
insecure bool - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - check_
certificate_ boolrevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - ci
Synthetics
Test Options List Ci  - CI/CD options for a Synthetic test.
 - disable_
cors bool - Disable Cross-Origin Resource Sharing for browser tests.
 - disable_
csp bool - Disable Content Security Policy for browser tests.
 - follow_
redirects bool - Determines whether or not the API HTTP test should follow redirects.
 - http_
version str - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - ignore_
server_ boolcertificate_ error  - Ignore server certificate error for browser tests.
 - int
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - min_
failure_ intduration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - min_
location_ intfailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - monitor_
name str - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor_
options SyntheticsTest Options List Monitor Options  - monitor_
priority int - no_
screenshot bool - Prevents saving screenshots of the steps.
 - restricted_
roles Sequence[str] - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry
Synthetics
Test Options List Retry  - rum_
settings SyntheticsTest Options List Rum Settings  - The RUM data collection settings for the Synthetic browser test.
 - scheduling
Synthetics
Test Options List Scheduling  - Object containing timeframes and timezone used for advanced scheduling.
 
- tick
Every Number - How often the test should run (in seconds).
 - accept
Self BooleanSigned  - For SSL test, whether or not the test should allow self signed certificates.
 - allow
Insecure Boolean - Allows loading insecure content for a request in an API test or in a multistep API test step.
 - check
Certificate BooleanRevocation  - For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
 - ci Property Map
 - CI/CD options for a Synthetic test.
 - disable
Cors Boolean - Disable Cross-Origin Resource Sharing for browser tests.
 - disable
Csp Boolean - Disable Content Security Policy for browser tests.
 - follow
Redirects Boolean - Determines whether or not the API HTTP test should follow redirects.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Valid values are 
http1,http2,any. Defaults to"any". - ignore
Server BooleanCertificate Error  - Ignore server certificate error for browser tests.
 - Number
 - Timeout before declaring the initial step as failed (in seconds) for browser tests.
 - min
Failure NumberDuration  - Minimum amount of time in failure required to trigger an alert (in seconds). Default is 
0. - min
Location NumberFailed  - Minimum number of locations in failure required to trigger an alert. Defaults to 
1. - monitor
Name String - The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
 - monitor
Options Property Map - monitor
Priority Number - no
Screenshot Boolean - Prevents saving screenshots of the steps.
 - restricted
Roles List<String> - A list of role identifiers pulled from the Roles API to restrict read and write access. Deprecated. This field is no longer supported by the Datadog API. Please use 
datadog.RestrictionPolicyinstead. - retry Property Map
 - rum
Settings Property Map - The RUM data collection settings for the Synthetic browser test.
 - scheduling Property Map
 - Object containing timeframes and timezone used for advanced scheduling.
 
SyntheticsTestOptionsListCi, SyntheticsTestOptionsListCiArgs          
- Execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- Execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule String - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule string - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution_
rule str - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
- execution
Rule String - Execution rule for a Synthetics test. Valid values are 
blocking,non_blocking,skipped. 
SyntheticsTestOptionsListMonitorOptions, SyntheticsTestOptionsListMonitorOptionsArgs            
- Renotify
Interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - Renotify
Occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- Renotify
Interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - Renotify
Occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- renotify
Interval Integer - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences Integer - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- renotify
Interval number - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences number - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- renotify_
interval int - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify_
occurrences int - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
- renotify
Interval Number - Specify a renotification frequency in minutes. Values available by default are 
0,10,20,30,40,50,60,90,120,180,240,300,360,720,1440. Defaults to0. - renotify
Occurrences Number - The number of times a monitor renotifies. It can only be set if 
renotify_intervalis set. 
SyntheticsTestOptionsListRetry, SyntheticsTestOptionsListRetryArgs          
- count Integer
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Integer
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
- count Number
 - Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: 
3forapitests,2forbrowserandmobiletests. Defaults to0. - interval Number
 - Interval between a failed test and the next retry in milliseconds. Maximum value: 
5000. Defaults to300. 
SyntheticsTestOptionsListRumSettings, SyntheticsTestOptionsListRumSettingsArgs            
- Is
Enabled bool - Determines whether RUM data is collected during test runs.
 - Application
Id string - RUM application ID used to collect RUM data for the browser test.
 - Client
Token intId  - RUM application API key ID used to collect RUM data for the browser test.
 
- Is
Enabled bool - Determines whether RUM data is collected during test runs.
 - Application
Id string - RUM application ID used to collect RUM data for the browser test.
 - Client
Token intId  - RUM application API key ID used to collect RUM data for the browser test.
 
- is
Enabled Boolean - Determines whether RUM data is collected during test runs.
 - application
Id String - RUM application ID used to collect RUM data for the browser test.
 - client
Token IntegerId  - RUM application API key ID used to collect RUM data for the browser test.
 
- is
Enabled boolean - Determines whether RUM data is collected during test runs.
 - application
Id string - RUM application ID used to collect RUM data for the browser test.
 - client
Token numberId  - RUM application API key ID used to collect RUM data for the browser test.
 
- is_
enabled bool - Determines whether RUM data is collected during test runs.
 - application_
id str - RUM application ID used to collect RUM data for the browser test.
 - client_
token_ intid  - RUM application API key ID used to collect RUM data for the browser test.
 
- is
Enabled Boolean - Determines whether RUM data is collected during test runs.
 - application
Id String - RUM application ID used to collect RUM data for the browser test.
 - client
Token NumberId  - RUM application API key ID used to collect RUM data for the browser test.
 
SyntheticsTestOptionsListScheduling, SyntheticsTestOptionsListSchedulingArgs          
- Timeframes
List<Synthetics
Test Options List Scheduling Timeframe>  - Array containing objects describing the scheduling pattern to apply to each day.
 - Timezone string
 - Timezone in which the timeframe is based.
 
- Timeframes
[]Synthetics
Test Options List Scheduling Timeframe  - Array containing objects describing the scheduling pattern to apply to each day.
 - Timezone string
 - Timezone in which the timeframe is based.
 
- timeframes
List<Synthetics
Test Options List Scheduling Timeframe>  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone String
 - Timezone in which the timeframe is based.
 
- timeframes
Synthetics
Test Options List Scheduling Timeframe[]  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone string
 - Timezone in which the timeframe is based.
 
- timeframes
Sequence[Synthetics
Test Options List Scheduling Timeframe]  - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone str
 - Timezone in which the timeframe is based.
 
- timeframes List<Property Map>
 - Array containing objects describing the scheduling pattern to apply to each day.
 - timezone String
 - Timezone in which the timeframe is based.
 
SyntheticsTestOptionsListSchedulingTimeframe, SyntheticsTestOptionsListSchedulingTimeframeArgs            
SyntheticsTestRequestBasicauth, SyntheticsTestRequestBasicauthArgs        
- Access
Key string - Access key for 
SIGV4authentication. - Access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - Audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - Client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - Domain string
 - Domain for 
ntlmauthentication. - Password string
 - Password for authentication.
 - Region string
 - Region for 
SIGV4authentication. - Resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Secret
Key string - Secret key for 
SIGV4authentication. - Service
Name string - Service name for 
SIGV4authentication. - Session
Token string - Session token for 
SIGV4authentication. - Token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - Type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - Username string
 - Username for authentication.
 - Workstation string
 - Workstation for 
ntlmauthentication. 
- Access
Key string - Access key for 
SIGV4authentication. - Access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - Audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - Client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - Domain string
 - Domain for 
ntlmauthentication. - Password string
 - Password for authentication.
 - Region string
 - Region for 
SIGV4authentication. - Resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - Secret
Key string - Secret key for 
SIGV4authentication. - Service
Name string - Service name for 
SIGV4authentication. - Session
Token string - Session token for 
SIGV4authentication. - Token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - Type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - Username string
 - Username for authentication.
 - Workstation string
 - Workstation for 
ntlmauthentication. 
- access
Key String - Access key for 
SIGV4authentication. - access
Token StringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience String
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id String - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret String - Client secret for 
oauth-clientoroauth-ropauthentication. - domain String
 - Domain for 
ntlmauthentication. - password String
 - Password for authentication.
 - region String
 - Region for 
SIGV4authentication. - resource String
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope String
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key String - Secret key for 
SIGV4authentication. - service
Name String - Service name for 
SIGV4authentication. - session
Token String - Session token for 
SIGV4authentication. - token
Api StringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type String
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username String
 - Username for authentication.
 - workstation String
 - Workstation for 
ntlmauthentication. 
- access
Key string - Access key for 
SIGV4authentication. - access
Token stringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience string
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id string - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret string - Client secret for 
oauth-clientoroauth-ropauthentication. - domain string
 - Domain for 
ntlmauthentication. - password string
 - Password for authentication.
 - region string
 - Region for 
SIGV4authentication. - resource string
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope string
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key string - Secret key for 
SIGV4authentication. - service
Name string - Service name for 
SIGV4authentication. - session
Token string - Session token for 
SIGV4authentication. - token
Api stringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type string
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username string
 - Username for authentication.
 - workstation string
 - Workstation for 
ntlmauthentication. 
- access_
key str - Access key for 
SIGV4authentication. - access_
token_ strurl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience str
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client_
id str - Client ID for 
oauth-clientoroauth-ropauthentication. - client_
secret str - Client secret for 
oauth-clientoroauth-ropauthentication. - domain str
 - Domain for 
ntlmauthentication. - password str
 - Password for authentication.
 - region str
 - Region for 
SIGV4authentication. - resource str
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope str
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret_
key str - Secret key for 
SIGV4authentication. - service_
name str - Service name for 
SIGV4authentication. - session_
token str - Session token for 
SIGV4authentication. - token_
api_ strauthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type str
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username str
 - Username for authentication.
 - workstation str
 - Workstation for 
ntlmauthentication. 
- access
Key String - Access key for 
SIGV4authentication. - access
Token StringUrl  - Access token url for 
oauth-clientoroauth-ropauthentication. - audience String
 - Audience for 
oauth-clientoroauth-ropauthentication. Defaults to"". - client
Id String - Client ID for 
oauth-clientoroauth-ropauthentication. - client
Secret String - Client secret for 
oauth-clientoroauth-ropauthentication. - domain String
 - Domain for 
ntlmauthentication. - password String
 - Password for authentication.
 - region String
 - Region for 
SIGV4authentication. - resource String
 - Resource for 
oauth-clientoroauth-ropauthentication. Defaults to"". - scope String
 - Scope for 
oauth-clientoroauth-ropauthentication. Defaults to"". - secret
Key String - Secret key for 
SIGV4authentication. - service
Name String - Service name for 
SIGV4authentication. - session
Token String - Session token for 
SIGV4authentication. - token
Api StringAuthentication  - Token API Authentication for 
oauth-clientoroauth-ropauthentication. Valid values areheader,body. - type String
 - Type of basic authentication to use when performing the test. Defaults to 
"web". - username String
 - Username for authentication.
 - workstation String
 - Workstation for 
ntlmauthentication. 
SyntheticsTestRequestClientCertificate, SyntheticsTestRequestClientCertificateArgs          
SyntheticsTestRequestClientCertificateCert, SyntheticsTestRequestClientCertificateCertArgs            
SyntheticsTestRequestClientCertificateKey, SyntheticsTestRequestClientCertificateKeyArgs            
SyntheticsTestRequestDefinition, SyntheticsTestRequestDefinitionArgs        
- Body string
 - The request body.
 - Body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - Call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - Certificate
Domains List<string> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - Dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - Dns
Server stringPort  - DNS server port to use for DNS tests.
 - Host string
 - Host name to perform the test with.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - Message string
 - For UDP and websocket tests, message to send with the request.
 - Method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - No
Saving boolResponse Body  - Determines whether or not to save the response body.
 - Number
Of intPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - Plain
Proto stringFile  - The content of a proto file as a string.
 - Port string
 - Port to use when performing the test.
 - Proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - Servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - Service string
 - The gRPC service on which you want to perform the gRPC call.
 - Should
Track boolHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - Timeout int
 - Timeout in seconds for the test.
 - Url string
 - The URL to send the request to.
 
- Body string
 - The request body.
 - Body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - Call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - Certificate
Domains []string - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - Dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - Dns
Server stringPort  - DNS server port to use for DNS tests.
 - Host string
 - Host name to perform the test with.
 - Http
Version string - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - Message string
 - For UDP and websocket tests, message to send with the request.
 - Method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - No
Saving boolResponse Body  - Determines whether or not to save the response body.
 - Number
Of intPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - Plain
Proto stringFile  - The content of a proto file as a string.
 - Port string
 - Port to use when performing the test.
 - Proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - Servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - Service string
 - The gRPC service on which you want to perform the gRPC call.
 - Should
Track boolHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - Timeout int
 - Timeout in seconds for the test.
 - Url string
 - The URL to send the request to.
 
- body String
 - The request body.
 - body
Type String - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type String - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains List<String> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server String - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server StringPort  - DNS server port to use for DNS tests.
 - host String
 - Host name to perform the test with.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - message String
 - For UDP and websocket tests, message to send with the request.
 - method String
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving BooleanResponse Body  - Determines whether or not to save the response body.
 - number
Of IntegerPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - Boolean
 - Persist cookies across redirects.
 - plain
Proto StringFile  - The content of a proto file as a string.
 - port String
 - Port to use when performing the test.
 - proto
Json StringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername String
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service String
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track BooleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout Integer
 - Timeout in seconds for the test.
 - url String
 - The URL to send the request to.
 
- body string
 - The request body.
 - body
Type string - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type string - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains string[] - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server string - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server stringPort  - DNS server port to use for DNS tests.
 - host string
 - Host name to perform the test with.
 - http
Version string - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - message string
 - For UDP and websocket tests, message to send with the request.
 - method string
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving booleanResponse Body  - Determines whether or not to save the response body.
 - number
Of numberPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - boolean
 - Persist cookies across redirects.
 - plain
Proto stringFile  - The content of a proto file as a string.
 - port string
 - Port to use when performing the test.
 - proto
Json stringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername string
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service string
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track booleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout number
 - Timeout in seconds for the test.
 - url string
 - The URL to send the request to.
 
- body str
 - The request body.
 - body_
type str - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call_
type str - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate_
domains Sequence[str] - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns_
server str - DNS server to use for DNS tests (
subtype = "dns"). - dns_
server_ strport  - DNS server port to use for DNS tests.
 - host str
 - Host name to perform the test with.
 - http_
version str - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - message str
 - For UDP and websocket tests, message to send with the request.
 - method str
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no_
saving_ boolresponse_ body  - Determines whether or not to save the response body.
 - number_
of_ intpackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - bool
 - Persist cookies across redirects.
 - plain_
proto_ strfile  - The content of a proto file as a string.
 - port str
 - Port to use when performing the test.
 - proto_
json_ strdescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername str
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service str
 - The gRPC service on which you want to perform the gRPC call.
 - should_
track_ boolhops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout int
 - Timeout in seconds for the test.
 - url str
 - The URL to send the request to.
 
- body String
 - The request body.
 - body
Type String - Type of the request body. Valid values are 
text/plain,application/json,text/xml,text/html,application/x-www-form-urlencoded,graphql,application/octet-stream,multipart/form-data. - call
Type String - The type of gRPC call to perform. Valid values are 
healthcheck,unary. - certificate
Domains List<String> - By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in 
certificate_domains. - dns
Server String - DNS server to use for DNS tests (
subtype = "dns"). - dns
Server StringPort  - DNS server port to use for DNS tests.
 - host String
 - Host name to perform the test with.
 - http
Version String - HTTP version to use for an HTTP request in an API test or step. Deprecated. Use 
http_versionin theoptions_listfield instead. - message String
 - For UDP and websocket tests, message to send with the request.
 - method String
 - Either the HTTP method/verb to use or a gRPC method available on the service set in the 
servicefield. Required ifsubtypeisHTTPor ifsubtypeisgrpcandcallTypeisunary. - no
Saving BooleanResponse Body  - Determines whether or not to save the response body.
 - number
Of NumberPackets  - Number of pings to use per test for ICMP tests (
subtype = "icmp") between 0 and 10. - Boolean
 - Persist cookies across redirects.
 - plain
Proto StringFile  - The content of a proto file as a string.
 - port String
 - Port to use when performing the test.
 - proto
Json StringDescriptor  - A protobuf JSON descriptor. Deprecated. Use 
plain_proto_fileinstead. - servername String
 - For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.
 - service String
 - The gRPC service on which you want to perform the gRPC call.
 - should
Track BooleanHops  - This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (
subtype = "icmp"). - timeout Number
 - Timeout in seconds for the test.
 - url String
 - The URL to send the request to.
 
SyntheticsTestRequestFile, SyntheticsTestRequestFileArgs        
- name str
 - Name of the file.
 - size int
 - Size of the file.
 - type str
 - Type of the file.
 - bucket_
key str - Bucket key of the file.
 - content str
 - Content of the file.
 - original_
file_ strname  - Original name of the file.
 
SyntheticsTestRequestProxy, SyntheticsTestRequestProxyArgs        
Import
Synthetics tests can be imported using their public string ID, e.g.
$ pulumi import datadog:index/syntheticsTest:SyntheticsTest fizz abc-123-xyz
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
 - Datadog pulumi/pulumi-datadog
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
datadogTerraform Provider.