1. Packages
  2. Datadog Provider
  3. API Docs
  4. SyntheticsTest
Datadog v4.41.0 published on Friday, Jan 17, 2025 by Pulumi

datadog.SyntheticsTest

Explore with Pulumi AI

datadog logo
Datadog v4.41.0 published on Friday, Jan 17, 2025 by Pulumi

    Provides a Datadog synthetics test resource. This can be used to create and manage Datadog synthetics test.

    Warning

    Starting from version 3.1.0+, the direct usage of global variables in the configuration is deprecated, in favor of local variables of type global. As an example, if you were previously using {{ GLOBAL_VAR }} directly in your configuration, add a config_variable of type global with the id matching the id of the global variable GLOBAL_VAR, which can be found in the Synthetics UI or from the output of the datadog.SyntheticsGlobalVariable resource. The name can be chosen freely.

    In practice, it means going from (simplified configuration):

    url = https://{{ GLOBAL_VAR }}
    

    to

    config_variable {
      name = "LOCAL_VAR"
      id = [your_global_variable_id]
      type = "global"
    }
    

    which you can now use in your request definition:

    url = https://{{ LOCAL_VAR }}
    

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as datadog from "@pulumi/datadog";
    
    // Example Usage (Synthetics API test)
    // Create a new Datadog Synthetics API/HTTP test on https://www.example.org
    const testUptime = new datadog.SyntheticsTest("test_uptime", {
        name: "An Uptime test on example.org",
        type: "api",
        subtype: "http",
        status: "live",
        message: "Notify @pagerduty",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        requestDefinition: {
            method: "GET",
            url: "https://www.example.org",
        },
        requestHeaders: {
            "Content-Type": "application/json",
        },
        assertions: [{
            type: "statusCode",
            operator: "is",
            target: "200",
        }],
        optionsList: {
            tickEvery: 900,
            retry: {
                count: 2,
                interval: 300,
            },
            monitorOptions: {
                renotifyInterval: 120,
            },
        },
    });
    // Example Usage (Authenticated API test)
    // Create a new Datadog Synthetics API/HTTP test on https://www.example.org
    const testApi = new datadog.SyntheticsTest("test_api", {
        name: "An API test on example.org",
        type: "api",
        subtype: "http",
        status: "live",
        message: "Notify @pagerduty",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        requestDefinition: {
            method: "GET",
            url: "https://www.example.org",
        },
        requestHeaders: {
            "Content-Type": "application/json",
            Authentication: "Token: 1234566789",
        },
        assertions: [{
            type: "statusCode",
            operator: "is",
            target: "200",
        }],
        optionsList: {
            tickEvery: 900,
            retry: {
                count: 2,
                interval: 300,
            },
            monitorOptions: {
                renotifyInterval: 120,
            },
        },
    });
    // Example Usage (Synthetics SSL test)
    // Create a new Datadog Synthetics API/SSL test on example.org
    const testSsl = new datadog.SyntheticsTest("test_ssl", {
        name: "An API test on example.org",
        type: "api",
        subtype: "ssl",
        status: "live",
        message: "Notify @pagerduty",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        requestDefinition: {
            host: "example.org",
            port: "443",
        },
        assertions: [{
            type: "certificate",
            operator: "isInMoreThan",
            target: "30",
        }],
        optionsList: {
            tickEvery: 900,
            acceptSelfSigned: true,
        },
    });
    // Example Usage (Synthetics TCP test)
    // Create a new Datadog Synthetics API/TCP test on example.org
    const testTcp = new datadog.SyntheticsTest("test_tcp", {
        name: "An API test on example.org",
        type: "api",
        subtype: "tcp",
        status: "live",
        message: "Notify @pagerduty",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        requestDefinition: {
            host: "example.org",
            port: "443",
        },
        assertions: [{
            type: "responseTime",
            operator: "lessThan",
            target: "2000",
        }],
        configVariables: [{
            type: "global",
            name: "MY_GLOBAL_VAR",
            id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
        }],
        optionsList: {
            tickEvery: 900,
        },
    });
    // Example Usage (Synthetics DNS test)
    // Create a new Datadog Synthetics API/DNS test on example.org
    const testDns = new datadog.SyntheticsTest("test_dns", {
        name: "An API test on example.org",
        type: "api",
        subtype: "dns",
        status: "live",
        message: "Notify @pagerduty",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        requestDefinition: {
            host: "example.org",
        },
        assertions: [{
            type: "recordSome",
            operator: "is",
            property: "A",
            target: "0.0.0.0",
        }],
        optionsList: {
            tickEvery: 900,
        },
    });
    // Example Usage (Synthetics Multistep API test)
    // Create a new Datadog Synthetics Multistep API test
    const testMultiStep = new datadog.SyntheticsTest("test_multi_step", {
        name: "Multistep API test",
        type: "api",
        subtype: "multi",
        status: "live",
        locations: ["aws:eu-central-1"],
        tags: [
            "foo:bar",
            "foo",
            "env:test",
        ],
        apiSteps: [
            {
                name: "An API test on example.org",
                subtype: "http",
                assertions: [{
                    type: "statusCode",
                    operator: "is",
                    target: "200",
                }],
                requestDefinition: {
                    method: "GET",
                    url: "https://www.example.org",
                },
                requestHeaders: {
                    "Content-Type": "application/json",
                    Authentication: "Token: 1234566789",
                },
            },
            {
                name: "An API test on example.org",
                subtype: "http",
                assertions: [{
                    type: "statusCode",
                    operator: "is",
                    target: "200",
                }],
                requestDefinition: {
                    method: "GET",
                    url: "http://example.org",
                },
            },
            {
                name: "A gRPC health check on example.org",
                subtype: "grpc",
                assertions: [{
                    type: "statusCode",
                    operator: "is",
                    target: "200",
                }],
                requestDefinition: {
                    host: "example.org",
                    port: "443",
                    callType: "healthcheck",
                    service: "greeter.Greeter",
                },
            },
            {
                name: "A gRPC behavior check on example.org",
                subtype: "grpc",
                assertions: [{
                    type: "statusCode",
                    operator: "is",
                    target: "200",
                }],
                requestDefinition: {
                    host: "example.org",
                    port: "443",
                    callType: "unary",
                    service: "greeter.Greeter",
                    method: "SayHello",
                    message: "{\"name\": \"John\"}",
                    plainProtoFile: `syntax = "proto3";
    
    package greeter;
    
    // The greeting service definition.
    service Greeter {
      // Sends a greeting
      rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    
    // The request message containing the user's name.
    message HelloRequest {
      string name = 1;
    }
    
    // The response message containing the greetings
    message HelloReply {
      string message = 1;
    }
    `,
                },
            },
        ],
        optionsList: {
            tickEvery: 900,
            acceptSelfSigned: true,
        },
    });
    // Example Usage (Synthetics Browser test)
    // Create a new Datadog Synthetics Browser test starting on https://www.example.org
    const testBrowser = new datadog.SyntheticsTest("test_browser", {
        name: "A Browser test on example.org",
        type: "browser",
        status: "paused",
        message: "Notify @qa",
        deviceIds: ["laptop_large"],
        locations: ["aws:eu-central-1"],
        tags: [],
        requestDefinition: {
            method: "GET",
            url: "https://www.example.org",
        },
        browserSteps: [
            {
                name: "Check current url",
                type: "assertCurrentUrl",
                params: {
                    check: "contains",
                    value: "datadoghq",
                },
            },
            {
                name: "Test a downloaded file",
                type: "assertFileDownload",
                params: {
                    file: JSON.stringify({
                        md5: "abcdef1234567890",
                        sizeCheck: {
                            type: "equals",
                            value: 1,
                        },
                        nameCheck: {
                            type: "contains",
                            value: ".xls",
                        },
                    }),
                },
            },
        ],
        browserVariables: [
            {
                type: "text",
                name: "MY_PATTERN_VAR",
                pattern: "{{numeric(3)}}",
                example: "597",
            },
            {
                type: "email",
                name: "MY_EMAIL_VAR",
                pattern: "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
                example: "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
            },
            {
                type: "global",
                name: "MY_GLOBAL_VAR",
                id: "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
            },
        ],
        optionsList: {
            tickEvery: 3600,
        },
    });
    // Example Usage (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,
            restrictedRoles: [
                "role1",
                "role2",
            ],
            bindings: [{
                principals: [
                    "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091",
                    "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002",
                ],
                relation: "editor",
            }],
            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 Multistep API test)
    # Create a new Datadog Synthetics Multistep API test
    test_multi_step = datadog.SyntheticsTest("test_multi_step",
        name="Multistep API test",
        type="api",
        subtype="multi",
        status="live",
        locations=["aws:eu-central-1"],
        tags=[
            "foo:bar",
            "foo",
            "env:test",
        ],
        api_steps=[
            {
                "name": "An API test on example.org",
                "subtype": "http",
                "assertions": [{
                    "type": "statusCode",
                    "operator": "is",
                    "target": "200",
                }],
                "request_definition": {
                    "method": "GET",
                    "url": "https://www.example.org",
                },
                "request_headers": {
                    "Content-Type": "application/json",
                    "Authentication": "Token: 1234566789",
                },
            },
            {
                "name": "An API test on example.org",
                "subtype": "http",
                "assertions": [{
                    "type": "statusCode",
                    "operator": "is",
                    "target": "200",
                }],
                "request_definition": {
                    "method": "GET",
                    "url": "http://example.org",
                },
            },
            {
                "name": "A gRPC health check on example.org",
                "subtype": "grpc",
                "assertions": [{
                    "type": "statusCode",
                    "operator": "is",
                    "target": "200",
                }],
                "request_definition": {
                    "host": "example.org",
                    "port": "443",
                    "call_type": "healthcheck",
                    "service": "greeter.Greeter",
                },
            },
            {
                "name": "A gRPC behavior check on example.org",
                "subtype": "grpc",
                "assertions": [{
                    "type": "statusCode",
                    "operator": "is",
                    "target": "200",
                }],
                "request_definition": {
                    "host": "example.org",
                    "port": "443",
                    "call_type": "unary",
                    "service": "greeter.Greeter",
                    "method": "SayHello",
                    "message": "{\"name\": \"John\"}",
                    "plain_proto_file": """syntax = "proto3";
    
    package greeter;
    
    // The greeting service definition.
    service Greeter {
      // Sends a greeting
      rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    
    // The request message containing the user's name.
    message HelloRequest {
      string name = 1;
    }
    
    // The response message containing the greetings
    message HelloReply {
      string message = 1;
    }
    """,
                },
            },
        ],
        options_list={
            "tick_every": 900,
            "accept_self_signed": True,
        })
    # Example Usage (Synthetics Browser test)
    # Create a new Datadog Synthetics Browser test starting on https://www.example.org
    test_browser = datadog.SyntheticsTest("test_browser",
        name="A Browser test on example.org",
        type="browser",
        status="paused",
        message="Notify @qa",
        device_ids=["laptop_large"],
        locations=["aws:eu-central-1"],
        tags=[],
        request_definition={
            "method": "GET",
            "url": "https://www.example.org",
        },
        browser_steps=[
            {
                "name": "Check current url",
                "type": "assertCurrentUrl",
                "params": {
                    "check": "contains",
                    "value": "datadoghq",
                },
            },
            {
                "name": "Test a downloaded file",
                "type": "assertFileDownload",
                "params": {
                    "file": json.dumps({
                        "md5": "abcdef1234567890",
                        "sizeCheck": {
                            "type": "equals",
                            "value": 1,
                        },
                        "nameCheck": {
                            "type": "contains",
                            "value": ".xls",
                        },
                    }),
                },
            },
        ],
        browser_variables=[
            {
                "type": "text",
                "name": "MY_PATTERN_VAR",
                "pattern": "{{numeric(3)}}",
                "example": "597",
            },
            {
                "type": "email",
                "name": "MY_EMAIL_VAR",
                "pattern": "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
                "example": "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
            },
            {
                "type": "global",
                "name": "MY_GLOBAL_VAR",
                "id": "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
            },
        ],
        options_list={
            "tick_every": 3600,
        })
    # Example Usage (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,
            "restricted_roles": [
                "role1",
                "role2",
            ],
            "bindings": [{
                "principals": [
                    "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091",
                    "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002",
                ],
                "relation": "editor",
            }],
            "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 Multistep API test)
    		// Create a new Datadog Synthetics Multistep API test
    		_, err = datadog.NewSyntheticsTest(ctx, "test_multi_step", &datadog.SyntheticsTestArgs{
    			Name:    pulumi.String("Multistep API test"),
    			Type:    pulumi.String("api"),
    			Subtype: pulumi.String("multi"),
    			Status:  pulumi.String("live"),
    			Locations: pulumi.StringArray{
    				pulumi.String("aws:eu-central-1"),
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("foo:bar"),
    				pulumi.String("foo"),
    				pulumi.String("env:test"),
    			},
    			ApiSteps: datadog.SyntheticsTestApiStepArray{
    				&datadog.SyntheticsTestApiStepArgs{
    					Name:    pulumi.String("An API test on example.org"),
    					Subtype: pulumi.String("http"),
    					Assertions: datadog.SyntheticsTestApiStepAssertionArray{
    						&datadog.SyntheticsTestApiStepAssertionArgs{
    							Type:     pulumi.String("statusCode"),
    							Operator: pulumi.String("is"),
    							Target:   pulumi.String("200"),
    						},
    					},
    					RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
    						Method: pulumi.String("GET"),
    						Url:    pulumi.String("https://www.example.org"),
    					},
    					RequestHeaders: pulumi.StringMap{
    						"Content-Type":   pulumi.String("application/json"),
    						"Authentication": pulumi.String("Token: 1234566789"),
    					},
    				},
    				&datadog.SyntheticsTestApiStepArgs{
    					Name:    pulumi.String("An API test on example.org"),
    					Subtype: pulumi.String("http"),
    					Assertions: datadog.SyntheticsTestApiStepAssertionArray{
    						&datadog.SyntheticsTestApiStepAssertionArgs{
    							Type:     pulumi.String("statusCode"),
    							Operator: pulumi.String("is"),
    							Target:   pulumi.String("200"),
    						},
    					},
    					RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
    						Method: pulumi.String("GET"),
    						Url:    pulumi.String("http://example.org"),
    					},
    				},
    				&datadog.SyntheticsTestApiStepArgs{
    					Name:    pulumi.String("A gRPC health check on example.org"),
    					Subtype: pulumi.String("grpc"),
    					Assertions: datadog.SyntheticsTestApiStepAssertionArray{
    						&datadog.SyntheticsTestApiStepAssertionArgs{
    							Type:     pulumi.String("statusCode"),
    							Operator: pulumi.String("is"),
    							Target:   pulumi.String("200"),
    						},
    					},
    					RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
    						Host:     pulumi.String("example.org"),
    						Port:     pulumi.String("443"),
    						CallType: pulumi.String("healthcheck"),
    						Service:  pulumi.String("greeter.Greeter"),
    					},
    				},
    				&datadog.SyntheticsTestApiStepArgs{
    					Name:    pulumi.String("A gRPC behavior check on example.org"),
    					Subtype: pulumi.String("grpc"),
    					Assertions: datadog.SyntheticsTestApiStepAssertionArray{
    						&datadog.SyntheticsTestApiStepAssertionArgs{
    							Type:     pulumi.String("statusCode"),
    							Operator: pulumi.String("is"),
    							Target:   pulumi.String("200"),
    						},
    					},
    					RequestDefinition: &datadog.SyntheticsTestApiStepRequestDefinitionArgs{
    						Host:     pulumi.String("example.org"),
    						Port:     pulumi.String("443"),
    						CallType: pulumi.String("unary"),
    						Service:  pulumi.String("greeter.Greeter"),
    						Method:   pulumi.String("SayHello"),
    						Message:  pulumi.String("{\"name\": \"John\"}"),
    						PlainProtoFile: pulumi.String(`syntax = "proto3";
    
    package greeter;
    
    // The greeting service definition.
    service Greeter {
      // Sends a greeting
      rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    
    // The request message containing the user's name.
    message HelloRequest {
      string name = 1;
    }
    
    // The response message containing the greetings
    message HelloReply {
      string message = 1;
    }
    `),
    					},
    				},
    			},
    			OptionsList: &datadog.SyntheticsTestOptionsListArgs{
    				TickEvery:        pulumi.Int(900),
    				AcceptSelfSigned: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"md5": "abcdef1234567890",
    			"sizeCheck": map[string]interface{}{
    				"type":  "equals",
    				"value": 1,
    			},
    			"nameCheck": map[string]interface{}{
    				"type":  "contains",
    				"value": ".xls",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		// Example Usage (Synthetics Browser test)
    		// Create a new Datadog Synthetics Browser test starting on https://www.example.org
    		_, err = datadog.NewSyntheticsTest(ctx, "test_browser", &datadog.SyntheticsTestArgs{
    			Name:    pulumi.String("A Browser test on example.org"),
    			Type:    pulumi.String("browser"),
    			Status:  pulumi.String("paused"),
    			Message: pulumi.String("Notify @qa"),
    			DeviceIds: pulumi.StringArray{
    				pulumi.String("laptop_large"),
    			},
    			Locations: pulumi.StringArray{
    				pulumi.String("aws:eu-central-1"),
    			},
    			Tags: pulumi.StringArray{},
    			RequestDefinition: &datadog.SyntheticsTestRequestDefinitionArgs{
    				Method: pulumi.String("GET"),
    				Url:    pulumi.String("https://www.example.org"),
    			},
    			BrowserSteps: datadog.SyntheticsTestBrowserStepArray{
    				&datadog.SyntheticsTestBrowserStepArgs{
    					Name: pulumi.String("Check current url"),
    					Type: pulumi.String("assertCurrentUrl"),
    					Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
    						Check: pulumi.String("contains"),
    						Value: pulumi.String("datadoghq"),
    					},
    				},
    				&datadog.SyntheticsTestBrowserStepArgs{
    					Name: pulumi.String("Test a downloaded file"),
    					Type: pulumi.String("assertFileDownload"),
    					Params: &datadog.SyntheticsTestBrowserStepParamsArgs{
    						File: pulumi.String(json0),
    					},
    				},
    			},
    			BrowserVariables: datadog.SyntheticsTestBrowserVariableArray{
    				&datadog.SyntheticsTestBrowserVariableArgs{
    					Type:    pulumi.String("text"),
    					Name:    pulumi.String("MY_PATTERN_VAR"),
    					Pattern: pulumi.String("{{numeric(3)}}"),
    					Example: pulumi.String("597"),
    				},
    				&datadog.SyntheticsTestBrowserVariableArgs{
    					Type:    pulumi.String("email"),
    					Name:    pulumi.String("MY_EMAIL_VAR"),
    					Pattern: pulumi.String("jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co"),
    					Example: pulumi.String("jd8-afe-ydv.4546132139@synthetics.dtdg.co"),
    				},
    				&datadog.SyntheticsTestBrowserVariableArgs{
    					Type: pulumi.String("global"),
    					Name: pulumi.String("MY_GLOBAL_VAR"),
    					Id:   pulumi.String("76636cd1-82e2-4aeb-9cfe-51366a8198a2"),
    				},
    			},
    			OptionsList: &datadog.SyntheticsTestOptionsListArgs{
    				TickEvery: pulumi.Int(3600),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Example Usage (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),
    				RestrictedRoles: pulumi.StringArray{
    					pulumi.String("role1"),
    					pulumi.String("role2"),
    				},
    				Bindings: datadog.SyntheticsTestMobileOptionsListBindingArray{
    					&datadog.SyntheticsTestMobileOptionsListBindingArgs{
    						Principals: pulumi.StringArray{
    							pulumi.String("org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091"),
    							pulumi.String("team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002"),
    						},
    						Relation: pulumi.String("editor"),
    					},
    				},
    				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 Multistep API test)
        // Create a new Datadog Synthetics Multistep API test
        var testMultiStep = new Datadog.SyntheticsTest("test_multi_step", new()
        {
            Name = "Multistep API test",
            Type = "api",
            Subtype = "multi",
            Status = "live",
            Locations = new[]
            {
                "aws:eu-central-1",
            },
            Tags = new[]
            {
                "foo:bar",
                "foo",
                "env:test",
            },
            ApiSteps = new[]
            {
                new Datadog.Inputs.SyntheticsTestApiStepArgs
                {
                    Name = "An API test on example.org",
                    Subtype = "http",
                    Assertions = new[]
                    {
                        new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
                        {
                            Type = "statusCode",
                            Operator = "is",
                            Target = "200",
                        },
                    },
                    RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
                    {
                        Method = "GET",
                        Url = "https://www.example.org",
                    },
                    RequestHeaders = 
                    {
                        { "Content-Type", "application/json" },
                        { "Authentication", "Token: 1234566789" },
                    },
                },
                new Datadog.Inputs.SyntheticsTestApiStepArgs
                {
                    Name = "An API test on example.org",
                    Subtype = "http",
                    Assertions = new[]
                    {
                        new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
                        {
                            Type = "statusCode",
                            Operator = "is",
                            Target = "200",
                        },
                    },
                    RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
                    {
                        Method = "GET",
                        Url = "http://example.org",
                    },
                },
                new Datadog.Inputs.SyntheticsTestApiStepArgs
                {
                    Name = "A gRPC health check on example.org",
                    Subtype = "grpc",
                    Assertions = new[]
                    {
                        new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
                        {
                            Type = "statusCode",
                            Operator = "is",
                            Target = "200",
                        },
                    },
                    RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
                    {
                        Host = "example.org",
                        Port = "443",
                        CallType = "healthcheck",
                        Service = "greeter.Greeter",
                    },
                },
                new Datadog.Inputs.SyntheticsTestApiStepArgs
                {
                    Name = "A gRPC behavior check on example.org",
                    Subtype = "grpc",
                    Assertions = new[]
                    {
                        new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs
                        {
                            Type = "statusCode",
                            Operator = "is",
                            Target = "200",
                        },
                    },
                    RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs
                    {
                        Host = "example.org",
                        Port = "443",
                        CallType = "unary",
                        Service = "greeter.Greeter",
                        Method = "SayHello",
                        Message = "{\"name\": \"John\"}",
                        PlainProtoFile = @"syntax = ""proto3"";
    
    package greeter;
    
    // The greeting service definition.
    service Greeter {
      // Sends a greeting
      rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    
    // The request message containing the user's name.
    message HelloRequest {
      string name = 1;
    }
    
    // The response message containing the greetings
    message HelloReply {
      string message = 1;
    }
    ",
                    },
                },
            },
            OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
            {
                TickEvery = 900,
                AcceptSelfSigned = true,
            },
        });
    
        // Example Usage (Synthetics Browser test)
        // Create a new Datadog Synthetics Browser test starting on https://www.example.org
        var testBrowser = new Datadog.SyntheticsTest("test_browser", new()
        {
            Name = "A Browser test on example.org",
            Type = "browser",
            Status = "paused",
            Message = "Notify @qa",
            DeviceIds = new[]
            {
                "laptop_large",
            },
            Locations = new[]
            {
                "aws:eu-central-1",
            },
            Tags = new[] {},
            RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs
            {
                Method = "GET",
                Url = "https://www.example.org",
            },
            BrowserSteps = new[]
            {
                new Datadog.Inputs.SyntheticsTestBrowserStepArgs
                {
                    Name = "Check current url",
                    Type = "assertCurrentUrl",
                    Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
                    {
                        Check = "contains",
                        Value = "datadoghq",
                    },
                },
                new Datadog.Inputs.SyntheticsTestBrowserStepArgs
                {
                    Name = "Test a downloaded file",
                    Type = "assertFileDownload",
                    Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs
                    {
                        File = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["md5"] = "abcdef1234567890",
                            ["sizeCheck"] = new Dictionary<string, object?>
                            {
                                ["type"] = "equals",
                                ["value"] = 1,
                            },
                            ["nameCheck"] = new Dictionary<string, object?>
                            {
                                ["type"] = "contains",
                                ["value"] = ".xls",
                            },
                        }),
                    },
                },
            },
            BrowserVariables = new[]
            {
                new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
                {
                    Type = "text",
                    Name = "MY_PATTERN_VAR",
                    Pattern = "{{numeric(3)}}",
                    Example = "597",
                },
                new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
                {
                    Type = "email",
                    Name = "MY_EMAIL_VAR",
                    Pattern = "jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co",
                    Example = "jd8-afe-ydv.4546132139@synthetics.dtdg.co",
                },
                new Datadog.Inputs.SyntheticsTestBrowserVariableArgs
                {
                    Type = "global",
                    Name = "MY_GLOBAL_VAR",
                    Id = "76636cd1-82e2-4aeb-9cfe-51366a8198a2",
                },
            },
            OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs
            {
                TickEvery = 3600,
            },
        });
    
        // Example Usage (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,
                RestrictedRoles = new[]
                {
                    "role1",
                    "role2",
                },
                Bindings = new[]
                {
                    new Datadog.Inputs.SyntheticsTestMobileOptionsListBindingArgs
                    {
                        Principals = new[]
                        {
                            "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091",
                            "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002",
                        },
                        Relation = "editor",
                    },
                },
                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.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 Multistep API test)
            // Create a new Datadog Synthetics Multistep API test
            var testMultiStep = new SyntheticsTest("testMultiStep", SyntheticsTestArgs.builder()
                .name("Multistep API test")
                .type("api")
                .subtype("multi")
                .status("live")
                .locations("aws:eu-central-1")
                .tags(            
                    "foo:bar",
                    "foo",
                    "env:test")
                .apiSteps(            
                    SyntheticsTestApiStepArgs.builder()
                        .name("An API test on example.org")
                        .subtype("http")
                        .assertions(SyntheticsTestApiStepAssertionArgs.builder()
                            .type("statusCode")
                            .operator("is")
                            .target("200")
                            .build())
                        .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
                            .method("GET")
                            .url("https://www.example.org")
                            .build())
                        .requestHeaders(Map.ofEntries(
                            Map.entry("Content-Type", "application/json"),
                            Map.entry("Authentication", "Token: 1234566789")
                        ))
                        .build(),
                    SyntheticsTestApiStepArgs.builder()
                        .name("An API test on example.org")
                        .subtype("http")
                        .assertions(SyntheticsTestApiStepAssertionArgs.builder()
                            .type("statusCode")
                            .operator("is")
                            .target("200")
                            .build())
                        .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
                            .method("GET")
                            .url("http://example.org")
                            .build())
                        .build(),
                    SyntheticsTestApiStepArgs.builder()
                        .name("A gRPC health check on example.org")
                        .subtype("grpc")
                        .assertions(SyntheticsTestApiStepAssertionArgs.builder()
                            .type("statusCode")
                            .operator("is")
                            .target("200")
                            .build())
                        .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
                            .host("example.org")
                            .port("443")
                            .callType("healthcheck")
                            .service("greeter.Greeter")
                            .build())
                        .build(),
                    SyntheticsTestApiStepArgs.builder()
                        .name("A gRPC behavior check on example.org")
                        .subtype("grpc")
                        .assertions(SyntheticsTestApiStepAssertionArgs.builder()
                            .type("statusCode")
                            .operator("is")
                            .target("200")
                            .build())
                        .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()
                            .host("example.org")
                            .port("443")
                            .callType("unary")
                            .service("greeter.Greeter")
                            .method("SayHello")
                            .message("{\"name\": \"John\"}")
                            .plainProtoFile("""
    syntax = "proto3";
    
    package greeter;
    
    // The greeting service definition.
    service Greeter {
      // Sends a greeting
      rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    
    // The request message containing the user's name.
    message HelloRequest {
      string name = 1;
    }
    
    // The response message containing the greetings
    message HelloReply {
      string message = 1;
    }
                            """)
                            .build())
                        .build())
                .optionsList(SyntheticsTestOptionsListArgs.builder()
                    .tickEvery(900)
                    .acceptSelfSigned(true)
                    .build())
                .build());
    
            // Example Usage (Synthetics Browser test)
            // Create a new Datadog Synthetics Browser test starting on https://www.example.org
            var testBrowser = new SyntheticsTest("testBrowser", SyntheticsTestArgs.builder()
                .name("A Browser test on example.org")
                .type("browser")
                .status("paused")
                .message("Notify @qa")
                .deviceIds("laptop_large")
                .locations("aws:eu-central-1")
                .tags()
                .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()
                    .method("GET")
                    .url("https://www.example.org")
                    .build())
                .browserSteps(            
                    SyntheticsTestBrowserStepArgs.builder()
                        .name("Check current url")
                        .type("assertCurrentUrl")
                        .params(SyntheticsTestBrowserStepParamsArgs.builder()
                            .check("contains")
                            .value("datadoghq")
                            .build())
                        .build(),
                    SyntheticsTestBrowserStepArgs.builder()
                        .name("Test a downloaded file")
                        .type("assertFileDownload")
                        .params(SyntheticsTestBrowserStepParamsArgs.builder()
                            .file(serializeJson(
                                jsonObject(
                                    jsonProperty("md5", "abcdef1234567890"),
                                    jsonProperty("sizeCheck", jsonObject(
                                        jsonProperty("type", "equals"),
                                        jsonProperty("value", 1)
                                    )),
                                    jsonProperty("nameCheck", jsonObject(
                                        jsonProperty("type", "contains"),
                                        jsonProperty("value", ".xls")
                                    ))
                                )))
                            .build())
                        .build())
                .browserVariables(            
                    SyntheticsTestBrowserVariableArgs.builder()
                        .type("text")
                        .name("MY_PATTERN_VAR")
                        .pattern("{{numeric(3)}}")
                        .example("597")
                        .build(),
                    SyntheticsTestBrowserVariableArgs.builder()
                        .type("email")
                        .name("MY_EMAIL_VAR")
                        .pattern("jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co")
                        .example("jd8-afe-ydv.4546132139@synthetics.dtdg.co")
                        .build(),
                    SyntheticsTestBrowserVariableArgs.builder()
                        .type("global")
                        .name("MY_GLOBAL_VAR")
                        .id("76636cd1-82e2-4aeb-9cfe-51366a8198a2")
                        .build())
                .optionsList(SyntheticsTestOptionsListArgs.builder()
                    .tickEvery(3600)
                    .build())
                .build());
    
            // Example Usage (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)
                    .restrictedRoles(                
                        "role1",
                        "role2")
                    .bindings(SyntheticsTestMobileOptionsListBindingArgs.builder()
                        .principals(                    
                            "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091",
                            "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002")
                        .relation("editor")
                        .build())
                    .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()
                                .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()
                                .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 Multistep API test)
      # Create a new Datadog Synthetics Multistep API test
      testMultiStep:
        type: datadog:SyntheticsTest
        name: test_multi_step
        properties:
          name: Multistep API test
          type: api
          subtype: multi
          status: live
          locations:
            - aws:eu-central-1
          tags:
            - foo:bar
            - foo
            - env:test
          apiSteps:
            - name: An API test on example.org
              subtype: http
              assertions:
                - type: statusCode
                  operator: is
                  target: '200'
              requestDefinition:
                method: GET
                url: https://www.example.org
              requestHeaders:
                Content-Type: application/json
                Authentication: 'Token: 1234566789'
            - name: An API test on example.org
              subtype: http
              assertions:
                - type: statusCode
                  operator: is
                  target: '200'
              requestDefinition:
                method: GET
                url: http://example.org
            - name: A gRPC health check on example.org
              subtype: grpc
              assertions:
                - type: statusCode
                  operator: is
                  target: '200'
              requestDefinition:
                host: example.org
                port: '443'
                callType: healthcheck
                service: greeter.Greeter
            - name: A gRPC behavior check on example.org
              subtype: grpc
              assertions:
                - type: statusCode
                  operator: is
                  target: '200'
              requestDefinition:
                host: example.org
                port: '443'
                callType: unary
                service: greeter.Greeter
                method: SayHello
                message: '{"name": "John"}'
                plainProtoFile: |
                  syntax = "proto3";
    
                  package greeter;
    
                  // The greeting service definition.
                  service Greeter {
                    // Sends a greeting
                    rpc SayHello (HelloRequest) returns (HelloReply) {}
                  }
    
                  // The request message containing the user's name.
                  message HelloRequest {
                    string name = 1;
                  }
    
                  // The response message containing the greetings
                  message HelloReply {
                    string message = 1;
                  }
          optionsList:
            tickEvery: 900
            acceptSelfSigned: true
      # Example Usage (Synthetics Browser test)
      # Create a new Datadog Synthetics Browser test starting on https://www.example.org
      testBrowser:
        type: datadog:SyntheticsTest
        name: test_browser
        properties:
          name: A Browser test on example.org
          type: browser
          status: paused
          message: Notify @qa
          deviceIds:
            - laptop_large
          locations:
            - aws:eu-central-1
          tags: []
          requestDefinition:
            method: GET
            url: https://www.example.org
          browserSteps:
            - name: Check current url
              type: assertCurrentUrl
              params:
                check: contains
                value: datadoghq
            - name: Test a downloaded file
              type: assertFileDownload
              params:
                file:
                  fn::toJSON:
                    md5: abcdef1234567890
                    sizeCheck:
                      type: equals
                      value: 1
                    nameCheck:
                      type: contains
                      value: .xls
          browserVariables:
            - type: text
              name: MY_PATTERN_VAR
              pattern: '{{numeric(3)}}'
              example: '597'
            - type: email
              name: MY_EMAIL_VAR
              pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co
              example: jd8-afe-ydv.4546132139@synthetics.dtdg.co
            - type: global
              name: MY_GLOBAL_VAR
              id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2
          optionsList:
            tickEvery: 3600
      # Example Usage (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
            restrictedRoles:
              - role1
              - role2
            bindings:
              - principals:
                  - org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091
                  - team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002
                relation: editor
            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,
            RestrictedRoles = new[]
            {
                "string",
            },
            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,
            RumSettings = new Datadog.Inputs.SyntheticsTestOptionsListRumSettingsArgs
            {
                IsEnabled = false,
                ApplicationId = "string",
                ClientTokenId = 0,
            },
            Ci = new Datadog.Inputs.SyntheticsTestOptionsListCiArgs
            {
                ExecutionRule = "string",
            },
            DisableCors = false,
            DisableCsp = false,
            FollowRedirects = false,
            HttpVersion = "string",
            MinLocationFailed = 0,
            AllowInsecure = false,
            CheckCertificateRevocation = false,
            IgnoreServerCertificateError = false,
            MonitorName = "string",
            MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs
            {
                RenotifyInterval = 0,
            },
            MonitorPriority = 0,
            NoScreenshot = false,
            RestrictedRoles = new[]
            {
                "string",
            },
            Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs
            {
                Count = 0,
                Interval = 0,
            },
            AcceptSelfSigned = false,
            Scheduling = new Datadog.Inputs.SyntheticsTestOptionsListSchedulingArgs
            {
                Timeframes = new[]
                {
                    new Datadog.Inputs.SyntheticsTestOptionsListSchedulingTimeframeArgs
                    {
                        Day = 0,
                        From = "string",
                        To = "string",
                    },
                },
                Timezone = "string",
            },
            InitialNavigationTimeout = 0,
        },
        ApiSteps = new[]
        {
            new Datadog.Inputs.SyntheticsTestApiStepArgs
            {
                Name = "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",
                },
                RequestClientCertificate = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateArgs
                {
                    Cert = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateCertArgs
                    {
                        Content = "string",
                        Filename = "string",
                    },
                    Key = new Datadog.Inputs.SyntheticsTestApiStepRequestClientCertificateKeyArgs
                    {
                        Content = "string",
                        Filename = "string",
                    },
                },
                ExtractedValues = new[]
                {
                    new Datadog.Inputs.SyntheticsTestApiStepExtractedValueArgs
                    {
                        Name = "string",
                        Parser = new Datadog.Inputs.SyntheticsTestApiStepExtractedValueParserArgs
                        {
                            Type = "string",
                            Value = "string",
                        },
                        Type = "string",
                        Field = "string",
                        Secure = false,
                    },
                },
                IsCritical = false,
                RequestFiles = new[]
                {
                    new Datadog.Inputs.SyntheticsTestApiStepRequestFileArgs
                    {
                        Name = "string",
                        Size = 0,
                        Type = "string",
                        BucketKey = "string",
                        Content = "string",
                        OriginalFileName = "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",
                },
                ExitIfSucceed = false,
                AllowFailure = 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",
                    },
                },
                RequestHeaders = 
                {
                    { "string", "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",
                    },
                    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),
    		RestrictedRoles: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		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),
    		RumSettings: &datadog.SyntheticsTestOptionsListRumSettingsArgs{
    			IsEnabled:     pulumi.Bool(false),
    			ApplicationId: pulumi.String("string"),
    			ClientTokenId: pulumi.Int(0),
    		},
    		Ci: &datadog.SyntheticsTestOptionsListCiArgs{
    			ExecutionRule: pulumi.String("string"),
    		},
    		DisableCors:                  pulumi.Bool(false),
    		DisableCsp:                   pulumi.Bool(false),
    		FollowRedirects:              pulumi.Bool(false),
    		HttpVersion:                  pulumi.String("string"),
    		MinLocationFailed:            pulumi.Int(0),
    		AllowInsecure:                pulumi.Bool(false),
    		CheckCertificateRevocation:   pulumi.Bool(false),
    		IgnoreServerCertificateError: pulumi.Bool(false),
    		MonitorName:                  pulumi.String("string"),
    		MonitorOptions: &datadog.SyntheticsTestOptionsListMonitorOptionsArgs{
    			RenotifyInterval: pulumi.Int(0),
    		},
    		MonitorPriority: pulumi.Int(0),
    		NoScreenshot:    pulumi.Bool(false),
    		RestrictedRoles: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Retry: &datadog.SyntheticsTestOptionsListRetryArgs{
    			Count:    pulumi.Int(0),
    			Interval: pulumi.Int(0),
    		},
    		AcceptSelfSigned: pulumi.Bool(false),
    		Scheduling: &datadog.SyntheticsTestOptionsListSchedulingArgs{
    			Timeframes: datadog.SyntheticsTestOptionsListSchedulingTimeframeArray{
    				&datadog.SyntheticsTestOptionsListSchedulingTimeframeArgs{
    					Day:  pulumi.Int(0),
    					From: pulumi.String("string"),
    					To:   pulumi.String("string"),
    				},
    			},
    			Timezone: pulumi.String("string"),
    		},
    		InitialNavigationTimeout: pulumi.Int(0),
    	},
    	ApiSteps: datadog.SyntheticsTestApiStepArray{
    		&datadog.SyntheticsTestApiStepArgs{
    			Name: 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"),
    			},
    			RequestClientCertificate: &datadog.SyntheticsTestApiStepRequestClientCertificateArgs{
    				Cert: &datadog.SyntheticsTestApiStepRequestClientCertificateCertArgs{
    					Content:  pulumi.String("string"),
    					Filename: pulumi.String("string"),
    				},
    				Key: &datadog.SyntheticsTestApiStepRequestClientCertificateKeyArgs{
    					Content:  pulumi.String("string"),
    					Filename: pulumi.String("string"),
    				},
    			},
    			ExtractedValues: datadog.SyntheticsTestApiStepExtractedValueArray{
    				&datadog.SyntheticsTestApiStepExtractedValueArgs{
    					Name: pulumi.String("string"),
    					Parser: &datadog.SyntheticsTestApiStepExtractedValueParserArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    					Type:   pulumi.String("string"),
    					Field:  pulumi.String("string"),
    					Secure: pulumi.Bool(false),
    				},
    			},
    			IsCritical: pulumi.Bool(false),
    			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"),
    				},
    			},
    			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"),
    			},
    			ExitIfSucceed: pulumi.Bool(false),
    			AllowFailure:  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"),
    				},
    			},
    			RequestHeaders: pulumi.StringMap{
    				"string": 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"),
    				},
    				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)
            .restrictedRoles("string")
            .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)
            .rumSettings(SyntheticsTestOptionsListRumSettingsArgs.builder()
                .isEnabled(false)
                .applicationId("string")
                .clientTokenId(0)
                .build())
            .ci(SyntheticsTestOptionsListCiArgs.builder()
                .executionRule("string")
                .build())
            .disableCors(false)
            .disableCsp(false)
            .followRedirects(false)
            .httpVersion("string")
            .minLocationFailed(0)
            .allowInsecure(false)
            .checkCertificateRevocation(false)
            .ignoreServerCertificateError(false)
            .monitorName("string")
            .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()
                .renotifyInterval(0)
                .build())
            .monitorPriority(0)
            .noScreenshot(false)
            .restrictedRoles("string")
            .retry(SyntheticsTestOptionsListRetryArgs.builder()
                .count(0)
                .interval(0)
                .build())
            .acceptSelfSigned(false)
            .scheduling(SyntheticsTestOptionsListSchedulingArgs.builder()
                .timeframes(SyntheticsTestOptionsListSchedulingTimeframeArgs.builder()
                    .day(0)
                    .from("string")
                    .to("string")
                    .build())
                .timezone("string")
                .build())
            .initialNavigationTimeout(0)
            .build())
        .apiSteps(SyntheticsTestApiStepArgs.builder()
            .name("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())
            .requestClientCertificate(SyntheticsTestApiStepRequestClientCertificateArgs.builder()
                .cert(SyntheticsTestApiStepRequestClientCertificateCertArgs.builder()
                    .content("string")
                    .filename("string")
                    .build())
                .key(SyntheticsTestApiStepRequestClientCertificateKeyArgs.builder()
                    .content("string")
                    .filename("string")
                    .build())
                .build())
            .extractedValues(SyntheticsTestApiStepExtractedValueArgs.builder()
                .name("string")
                .parser(SyntheticsTestApiStepExtractedValueParserArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .type("string")
                .field("string")
                .secure(false)
                .build())
            .isCritical(false)
            .requestFiles(SyntheticsTestApiStepRequestFileArgs.builder()
                .name("string")
                .size(0)
                .type("string")
                .bucketKey("string")
                .content("string")
                .originalFileName("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())
            .exitIfSucceed(false)
            .allowFailure(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())
            .requestHeaders(Map.of("string", "string"))
            .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")
                    .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,
            "restricted_roles": ["string"],
            "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,
            "rum_settings": {
                "is_enabled": False,
                "application_id": "string",
                "client_token_id": 0,
            },
            "ci": {
                "execution_rule": "string",
            },
            "disable_cors": False,
            "disable_csp": False,
            "follow_redirects": False,
            "http_version": "string",
            "min_location_failed": 0,
            "allow_insecure": False,
            "check_certificate_revocation": False,
            "ignore_server_certificate_error": False,
            "monitor_name": "string",
            "monitor_options": {
                "renotify_interval": 0,
            },
            "monitor_priority": 0,
            "no_screenshot": False,
            "restricted_roles": ["string"],
            "retry": {
                "count": 0,
                "interval": 0,
            },
            "accept_self_signed": False,
            "scheduling": {
                "timeframes": [{
                    "day": 0,
                    "from_": "string",
                    "to": "string",
                }],
                "timezone": "string",
            },
            "initial_navigation_timeout": 0,
        },
        api_steps=[{
            "name": "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_client_certificate": {
                "cert": {
                    "content": "string",
                    "filename": "string",
                },
                "key": {
                    "content": "string",
                    "filename": "string",
                },
            },
            "extracted_values": [{
                "name": "string",
                "parser": {
                    "type": "string",
                    "value": "string",
                },
                "type": "string",
                "field": "string",
                "secure": False,
            }],
            "is_critical": False,
            "request_files": [{
                "name": "string",
                "size": 0,
                "type": "string",
                "bucket_key": "string",
                "content": "string",
                "original_file_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",
            },
            "exit_if_succeed": False,
            "allow_failure": 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_headers": {
                "string": "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",
                },
                "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,
            restrictedRoles: ["string"],
            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,
            rumSettings: {
                isEnabled: false,
                applicationId: "string",
                clientTokenId: 0,
            },
            ci: {
                executionRule: "string",
            },
            disableCors: false,
            disableCsp: false,
            followRedirects: false,
            httpVersion: "string",
            minLocationFailed: 0,
            allowInsecure: false,
            checkCertificateRevocation: false,
            ignoreServerCertificateError: false,
            monitorName: "string",
            monitorOptions: {
                renotifyInterval: 0,
            },
            monitorPriority: 0,
            noScreenshot: false,
            restrictedRoles: ["string"],
            retry: {
                count: 0,
                interval: 0,
            },
            acceptSelfSigned: false,
            scheduling: {
                timeframes: [{
                    day: 0,
                    from: "string",
                    to: "string",
                }],
                timezone: "string",
            },
            initialNavigationTimeout: 0,
        },
        apiSteps: [{
            name: "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",
            },
            requestClientCertificate: {
                cert: {
                    content: "string",
                    filename: "string",
                },
                key: {
                    content: "string",
                    filename: "string",
                },
            },
            extractedValues: [{
                name: "string",
                parser: {
                    type: "string",
                    value: "string",
                },
                type: "string",
                field: "string",
                secure: false,
            }],
            isCritical: false,
            requestFiles: [{
                name: <