1. Packages
  2. Grafana Cloud
  3. API Docs
  4. SyntheticMonitoringCheck
Grafana v0.5.1 published on Wednesday, Jun 12, 2024 by pulumiverse

grafana.SyntheticMonitoringCheck

Explore with Pulumi AI

grafana logo
Grafana v0.5.1 published on Wednesday, Jun 12, 2024 by pulumiverse

    Synthetic Monitoring checks are tests that run on selected probes at defined intervals and report metrics and logs back to your Grafana Cloud account. The target for checks can be a domain name, a server, or a website, depending on what information you would like to gather about your endpoint. You can define multiple checks for a single endpoint to check different capabilities.

    Example Usage

    DNS Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const dns = new grafana.SyntheticMonitoringCheck("dns", {
        job: "DNS Defaults",
        target: "grafana.com",
        enabled: false,
        probes: [main.then(main => main.probes?.Atlanta)],
        labels: {
            foo: "bar",
        },
        settings: {
            dns: {},
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    dns = grafana.SyntheticMonitoringCheck("dns",
        job="DNS Defaults",
        target="grafana.com",
        enabled=False,
        probes=[main.probes["Atlanta"]],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            dns=grafana.SyntheticMonitoringCheckSettingsDnsArgs(),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "dns", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("DNS Defaults"),
    			Target:  pulumi.String("grafana.com"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Atlanta),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Dns: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var dns = new Grafana.SyntheticMonitoringCheck("dns", new()
        {
            Job = "DNS Defaults",
            Target = "grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Dns = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsDnsArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var dns = new SyntheticMonitoringCheck("dns", SyntheticMonitoringCheckArgs.builder()        
                .job("DNS Defaults")
                .target("grafana.com")
                .enabled(false)
                .probes(main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .dns()
                    .build())
                .build());
    
        }
    }
    
    resources:
      dns:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: DNS Defaults
          target: grafana.com
          enabled: false
          probes:
            - ${main.probes.Atlanta}
          labels:
            foo: bar
          settings:
            dns: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    DNS Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const dns = new grafana.SyntheticMonitoringCheck("dns", {
        job: "DNS Updated",
        target: "grafana.net",
        enabled: false,
        probes: [
            main.then(main => main.probes?.Frankfurt),
            main.then(main => main.probes?.London),
        ],
        labels: {
            foo: "baz",
        },
        settings: {
            dns: {
                ipVersion: "Any",
                server: "8.8.4.4",
                port: 8600,
                recordType: "CNAME",
                protocol: "TCP",
                validRCodes: [
                    "NOERROR",
                    "NOTAUTH",
                ],
                validateAnswerRrs: {
                    failIfMatchesRegexps: [".+-bad-stuff*"],
                    failIfNotMatchesRegexps: [".+-good-stuff*"],
                },
                validateAuthorityRrs: {
                    failIfMatchesRegexps: [".+-bad-stuff*"],
                    failIfNotMatchesRegexps: [".+-good-stuff*"],
                },
                validateAdditionalRrs: [{
                    failIfMatchesRegexps: [".+-bad-stuff*"],
                    failIfNotMatchesRegexps: [".+-good-stuff*"],
                }],
            },
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    dns = grafana.SyntheticMonitoringCheck("dns",
        job="DNS Updated",
        target="grafana.net",
        enabled=False,
        probes=[
            main.probes["Frankfurt"],
            main.probes["London"],
        ],
        labels={
            "foo": "baz",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            dns=grafana.SyntheticMonitoringCheckSettingsDnsArgs(
                ip_version="Any",
                server="8.8.4.4",
                port=8600,
                record_type="CNAME",
                protocol="TCP",
                valid_r_codes=[
                    "NOERROR",
                    "NOTAUTH",
                ],
                validate_answer_rrs=grafana.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs(
                    fail_if_matches_regexps=[".+-bad-stuff*"],
                    fail_if_not_matches_regexps=[".+-good-stuff*"],
                ),
                validate_authority_rrs=grafana.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs(
                    fail_if_matches_regexps=[".+-bad-stuff*"],
                    fail_if_not_matches_regexps=[".+-good-stuff*"],
                ),
                validate_additional_rrs=[grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs(
                    fail_if_matches_regexps=[".+-bad-stuff*"],
                    fail_if_not_matches_regexps=[".+-good-stuff*"],
                )],
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "dns", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("DNS Updated"),
    			Target:  pulumi.String("grafana.net"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Frankfurt),
    				pulumi.Int(main.Probes.London),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("baz"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Dns: &grafana.SyntheticMonitoringCheckSettingsDnsArgs{
    					IpVersion:  pulumi.String("Any"),
    					Server:     pulumi.String("8.8.4.4"),
    					Port:       pulumi.Int(8600),
    					RecordType: pulumi.String("CNAME"),
    					Protocol:   pulumi.String("TCP"),
    					ValidRCodes: pulumi.StringArray{
    						pulumi.String("NOERROR"),
    						pulumi.String("NOTAUTH"),
    					},
    					ValidateAnswerRrs: &grafana.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs{
    						FailIfMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-bad-stuff*"),
    						},
    						FailIfNotMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-good-stuff*"),
    						},
    					},
    					ValidateAuthorityRrs: &grafana.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs{
    						FailIfMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-bad-stuff*"),
    						},
    						FailIfNotMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-good-stuff*"),
    						},
    					},
    					ValidateAdditionalRrs: grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArray{
    						&grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs{
    							FailIfMatchesRegexps: pulumi.StringArray{
    								pulumi.String(".+-bad-stuff*"),
    							},
    							FailIfNotMatchesRegexps: pulumi.StringArray{
    								pulumi.String(".+-good-stuff*"),
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var dns = new Grafana.SyntheticMonitoringCheck("dns", new()
        {
            Job = "DNS Updated",
            Target = "grafana.net",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Frankfurt),
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Dns = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsArgs
                {
                    IpVersion = "Any",
                    Server = "8.8.4.4",
                    Port = 8600,
                    RecordType = "CNAME",
                    Protocol = "TCP",
                    ValidRCodes = new[]
                    {
                        "NOERROR",
                        "NOTAUTH",
                    },
                    ValidateAnswerRrs = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            ".+-bad-stuff*",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            ".+-good-stuff*",
                        },
                    },
                    ValidateAuthorityRrs = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            ".+-bad-stuff*",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            ".+-good-stuff*",
                        },
                    },
                    ValidateAdditionalRrs = new[]
                    {
                        new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs
                        {
                            FailIfMatchesRegexps = new[]
                            {
                                ".+-bad-stuff*",
                            },
                            FailIfNotMatchesRegexps = new[]
                            {
                                ".+-good-stuff*",
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsDnsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var dns = new SyntheticMonitoringCheck("dns", SyntheticMonitoringCheckArgs.builder()        
                .job("DNS Updated")
                .target("grafana.net")
                .enabled(false)
                .probes(            
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Frankfurt()),
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().London()))
                .labels(Map.of("foo", "baz"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .dns(SyntheticMonitoringCheckSettingsDnsArgs.builder()
                        .ipVersion("Any")
                        .server("8.8.4.4")
                        .port(8600)
                        .recordType("CNAME")
                        .protocol("TCP")
                        .validRCodes(                    
                            "NOERROR",
                            "NOTAUTH")
                        .validateAnswerRrs(SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .validateAuthorityRrs(SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .validateAdditionalRrs(SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      dns:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: DNS Updated
          target: grafana.net
          enabled: false
          probes:
            - ${main.probes.Frankfurt}
            - ${main.probes.London}
          labels:
            foo: baz
          settings:
            dns:
              ipVersion: Any
              server: 8.8.4.4
              port: 8600
              recordType: CNAME
              protocol: TCP
              validRCodes:
                - NOERROR
                - NOTAUTH
              validateAnswerRrs:
                failIfMatchesRegexps:
                  - .+-bad-stuff*
                failIfNotMatchesRegexps:
                  - .+-good-stuff*
              validateAuthorityRrs:
                failIfMatchesRegexps:
                  - .+-bad-stuff*
                failIfNotMatchesRegexps:
                  - .+-good-stuff*
              validateAdditionalRrs:
                - failIfMatchesRegexps:
                    - .+-bad-stuff*
                  failIfNotMatchesRegexps:
                    - .+-good-stuff*
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    HTTP Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const http = new grafana.SyntheticMonitoringCheck("http", {
        job: "HTTP Defaults",
        target: "https://grafana.com",
        enabled: false,
        probes: [main.then(main => main.probes?.Atlanta)],
        labels: {
            foo: "bar",
        },
        settings: {
            http: {},
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    http = grafana.SyntheticMonitoringCheck("http",
        job="HTTP Defaults",
        target="https://grafana.com",
        enabled=False,
        probes=[main.probes["Atlanta"]],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            http=grafana.SyntheticMonitoringCheckSettingsHttpArgs(),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "http", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("HTTP Defaults"),
    			Target:  pulumi.String("https://grafana.com"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Atlanta),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Http: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var http = new Grafana.SyntheticMonitoringCheck("http", new()
        {
            Job = "HTTP Defaults",
            Target = "https://grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Http = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsHttpArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var http = new SyntheticMonitoringCheck("http", SyntheticMonitoringCheckArgs.builder()        
                .job("HTTP Defaults")
                .target("https://grafana.com")
                .enabled(false)
                .probes(main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .http()
                    .build())
                .build());
    
        }
    }
    
    resources:
      http:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: HTTP Defaults
          target: https://grafana.com
          enabled: false
          probes:
            - ${main.probes.Atlanta}
          labels:
            foo: bar
          settings:
            http: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    HTTP Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const http = new grafana.SyntheticMonitoringCheck("http", {
        job: "HTTP Defaults",
        target: "https://grafana.org",
        enabled: false,
        probes: [
            main.then(main => main.probes?.Bangalore),
            main.then(main => main.probes?.Mumbai),
        ],
        labels: {
            foo: "bar",
        },
        settings: {
            http: {
                ipVersion: "V6",
                method: "TRACE",
                body: "and spirit",
                noFollowRedirects: true,
                bearerToken: "asdfjkl;",
                proxyUrl: "https://almost-there",
                failIfSsl: true,
                failIfNotSsl: true,
                cacheBustingQueryParamName: "pineapple",
                tlsConfig: {
                    serverName: "grafana.org",
                    clientCert: `-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    `,
                },
                headers: ["Content-Type: multipart/form-data; boundary=something"],
                basicAuth: {
                    username: "open",
                    password: "sesame",
                },
                validStatusCodes: [
                    200,
                    201,
                ],
                validHttpVersions: [
                    "HTTP/1.0",
                    "HTTP/1.1",
                    "HTTP/2.0",
                ],
                failIfBodyMatchesRegexps: [".*bad stuff.*"],
                failIfBodyNotMatchesRegexps: [".*good stuff.*"],
                failIfHeaderMatchesRegexps: [{
                    header: "Content-Type",
                    regexp: "application/soap*",
                    allowMissing: true,
                }],
            },
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    http = grafana.SyntheticMonitoringCheck("http",
        job="HTTP Defaults",
        target="https://grafana.org",
        enabled=False,
        probes=[
            main.probes["Bangalore"],
            main.probes["Mumbai"],
        ],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            http=grafana.SyntheticMonitoringCheckSettingsHttpArgs(
                ip_version="V6",
                method="TRACE",
                body="and spirit",
                no_follow_redirects=True,
                bearer_token="asdfjkl;",
                proxy_url="https://almost-there",
                fail_if_ssl=True,
                fail_if_not_ssl=True,
                cache_busting_query_param_name="pineapple",
                tls_config=grafana.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs(
                    server_name="grafana.org",
                    client_cert="""-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    """,
                ),
                headers=["Content-Type: multipart/form-data; boundary=something"],
                basic_auth=grafana.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs(
                    username="open",
                    password="sesame",
                ),
                valid_status_codes=[
                    200,
                    201,
                ],
                valid_http_versions=[
                    "HTTP/1.0",
                    "HTTP/1.1",
                    "HTTP/2.0",
                ],
                fail_if_body_matches_regexps=[".*bad stuff.*"],
                fail_if_body_not_matches_regexps=[".*good stuff.*"],
                fail_if_header_matches_regexps=[grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs(
                    header="Content-Type",
                    regexp="application/soap*",
                    allow_missing=True,
                )],
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "http", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("HTTP Defaults"),
    			Target:  pulumi.String("https://grafana.org"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Bangalore),
    				pulumi.Int(main.Probes.Mumbai),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Http: &grafana.SyntheticMonitoringCheckSettingsHttpArgs{
    					IpVersion:                  pulumi.String("V6"),
    					Method:                     pulumi.String("TRACE"),
    					Body:                       pulumi.String("and spirit"),
    					NoFollowRedirects:          pulumi.Bool(true),
    					BearerToken:                pulumi.String("asdfjkl;"),
    					ProxyUrl:                   pulumi.String("https://almost-there"),
    					FailIfSsl:                  pulumi.Bool(true),
    					FailIfNotSsl:               pulumi.Bool(true),
    					CacheBustingQueryParamName: pulumi.String("pineapple"),
    					TlsConfig: &grafana.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs{
    						ServerName: pulumi.String("grafana.org"),
    						ClientCert: pulumi.String(`-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    `),
    					},
    					Headers: pulumi.StringArray{
    						pulumi.String("Content-Type: multipart/form-data; boundary=something"),
    					},
    					BasicAuth: &grafana.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs{
    						Username: pulumi.String("open"),
    						Password: pulumi.String("sesame"),
    					},
    					ValidStatusCodes: pulumi.IntArray{
    						pulumi.Int(200),
    						pulumi.Int(201),
    					},
    					ValidHttpVersions: pulumi.StringArray{
    						pulumi.String("HTTP/1.0"),
    						pulumi.String("HTTP/1.1"),
    						pulumi.String("HTTP/2.0"),
    					},
    					FailIfBodyMatchesRegexps: pulumi.StringArray{
    						pulumi.String(".*bad stuff.*"),
    					},
    					FailIfBodyNotMatchesRegexps: pulumi.StringArray{
    						pulumi.String(".*good stuff.*"),
    					},
    					FailIfHeaderMatchesRegexps: grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArray{
    						&grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs{
    							Header:       pulumi.String("Content-Type"),
    							Regexp:       pulumi.String("application/soap*"),
    							AllowMissing: pulumi.Bool(true),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var http = new Grafana.SyntheticMonitoringCheck("http", new()
        {
            Job = "HTTP Defaults",
            Target = "https://grafana.org",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Bangalore),
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Mumbai),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Http = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpArgs
                {
                    IpVersion = "V6",
                    Method = "TRACE",
                    Body = "and spirit",
                    NoFollowRedirects = true,
                    BearerToken = "asdfjkl;",
                    ProxyUrl = "https://almost-there",
                    FailIfSsl = true,
                    FailIfNotSsl = true,
                    CacheBustingQueryParamName = "pineapple",
                    TlsConfig = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs
                    {
                        ServerName = "grafana.org",
                        ClientCert = @"-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    ",
                    },
                    Headers = new[]
                    {
                        "Content-Type: multipart/form-data; boundary=something",
                    },
                    BasicAuth = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs
                    {
                        Username = "open",
                        Password = "sesame",
                    },
                    ValidStatusCodes = new[]
                    {
                        200,
                        201,
                    },
                    ValidHttpVersions = new[]
                    {
                        "HTTP/1.0",
                        "HTTP/1.1",
                        "HTTP/2.0",
                    },
                    FailIfBodyMatchesRegexps = new[]
                    {
                        ".*bad stuff.*",
                    },
                    FailIfBodyNotMatchesRegexps = new[]
                    {
                        ".*good stuff.*",
                    },
                    FailIfHeaderMatchesRegexps = new[]
                    {
                        new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs
                        {
                            Header = "Content-Type",
                            Regexp = "application/soap*",
                            AllowMissing = true,
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsHttpArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var http = new SyntheticMonitoringCheck("http", SyntheticMonitoringCheckArgs.builder()        
                .job("HTTP Defaults")
                .target("https://grafana.org")
                .enabled(false)
                .probes(            
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Bangalore()),
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Mumbai()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .http(SyntheticMonitoringCheckSettingsHttpArgs.builder()
                        .ipVersion("V6")
                        .method("TRACE")
                        .body("and spirit")
                        .noFollowRedirects(true)
                        .bearerToken("asdfjkl;")
                        .proxyUrl("https://almost-there")
                        .failIfSsl(true)
                        .failIfNotSsl(true)
                        .cacheBustingQueryParamName("pineapple")
                        .tlsConfig(SyntheticMonitoringCheckSettingsHttpTlsConfigArgs.builder()
                            .serverName("grafana.org")
                            .clientCert("""
    -----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
                            """)
                            .build())
                        .headers("Content-Type: multipart/form-data; boundary=something")
                        .basicAuth(SyntheticMonitoringCheckSettingsHttpBasicAuthArgs.builder()
                            .username("open")
                            .password("sesame")
                            .build())
                        .validStatusCodes(                    
                            200,
                            201)
                        .validHttpVersions(                    
                            "HTTP/1.0",
                            "HTTP/1.1",
                            "HTTP/2.0")
                        .failIfBodyMatchesRegexps(".*bad stuff.*")
                        .failIfBodyNotMatchesRegexps(".*good stuff.*")
                        .failIfHeaderMatchesRegexps(SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()
                            .header("Content-Type")
                            .regexp("application/soap*")
                            .allowMissing(true)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      http:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: HTTP Defaults
          target: https://grafana.org
          enabled: false
          probes:
            - ${main.probes.Bangalore}
            - ${main.probes.Mumbai}
          labels:
            foo: bar
          settings:
            http:
              ipVersion: V6
              method: TRACE
              body: and spirit
              noFollowRedirects: true
              bearerToken: asdfjkl;
              proxyUrl: https://almost-there
              failIfSsl: true
              failIfNotSsl: true
              cacheBustingQueryParamName: pineapple
              tlsConfig:
                serverName: grafana.org
                clientCert: |
                  -----BEGIN CERTIFICATE-----
                  MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
                  RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
                  MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
                  0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
                  h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
                  BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
                  iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
                  a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
                  FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
                  qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
                  FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
                  Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
                  6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
                  UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
                  yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
                  e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
                  XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
                  tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
                  QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
                  tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
                  prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
                  5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
                  l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
                  7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
                  vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
                  -----END CERTIFICATE-----              
              headers:
                - 'Content-Type: multipart/form-data; boundary=something'
              basicAuth:
                username: open
                password: sesame
              validStatusCodes:
                - 200
                - 201
              validHttpVersions:
                - HTTP/1.0
                - HTTP/1.1
                - HTTP/2.0
              failIfBodyMatchesRegexps:
                - .*bad stuff.*
              failIfBodyNotMatchesRegexps:
                - .*good stuff.*
              failIfHeaderMatchesRegexps:
                - header: Content-Type
                  regexp: application/soap*
                  allowMissing: true
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    Ping Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const ping = new grafana.SyntheticMonitoringCheck("ping", {
        job: "Ping Defaults",
        target: "grafana.com",
        enabled: false,
        probes: [main.then(main => main.probes?.Atlanta)],
        labels: {
            foo: "bar",
        },
        settings: {
            ping: {},
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    ping = grafana.SyntheticMonitoringCheck("ping",
        job="Ping Defaults",
        target="grafana.com",
        enabled=False,
        probes=[main.probes["Atlanta"]],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            ping=grafana.SyntheticMonitoringCheckSettingsPingArgs(),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "ping", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("Ping Defaults"),
    			Target:  pulumi.String("grafana.com"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Atlanta),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Ping: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var ping = new Grafana.SyntheticMonitoringCheck("ping", new()
        {
            Job = "Ping Defaults",
            Target = "grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Ping = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsPingArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var ping = new SyntheticMonitoringCheck("ping", SyntheticMonitoringCheckArgs.builder()        
                .job("Ping Defaults")
                .target("grafana.com")
                .enabled(false)
                .probes(main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .ping()
                    .build())
                .build());
    
        }
    }
    
    resources:
      ping:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: Ping Defaults
          target: grafana.com
          enabled: false
          probes:
            - ${main.probes.Atlanta}
          labels:
            foo: bar
          settings:
            ping: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    Ping Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const ping = new grafana.SyntheticMonitoringCheck("ping", {
        job: "Ping Updated",
        target: "grafana.net",
        enabled: false,
        probes: [
            main.then(main => main.probes?.Frankfurt),
            main.then(main => main.probes?.London),
        ],
        labels: {
            foo: "baz",
        },
        settings: {
            ping: {
                ipVersion: "Any",
                payloadSize: 20,
                dontFragment: true,
            },
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    ping = grafana.SyntheticMonitoringCheck("ping",
        job="Ping Updated",
        target="grafana.net",
        enabled=False,
        probes=[
            main.probes["Frankfurt"],
            main.probes["London"],
        ],
        labels={
            "foo": "baz",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            ping=grafana.SyntheticMonitoringCheckSettingsPingArgs(
                ip_version="Any",
                payload_size=20,
                dont_fragment=True,
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "ping", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("Ping Updated"),
    			Target:  pulumi.String("grafana.net"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Frankfurt),
    				pulumi.Int(main.Probes.London),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("baz"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Ping: &grafana.SyntheticMonitoringCheckSettingsPingArgs{
    					IpVersion:    pulumi.String("Any"),
    					PayloadSize:  pulumi.Int(20),
    					DontFragment: pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var ping = new Grafana.SyntheticMonitoringCheck("ping", new()
        {
            Job = "Ping Updated",
            Target = "grafana.net",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Frankfurt),
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Ping = new Grafana.Inputs.SyntheticMonitoringCheckSettingsPingArgs
                {
                    IpVersion = "Any",
                    PayloadSize = 20,
                    DontFragment = true,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsPingArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var ping = new SyntheticMonitoringCheck("ping", SyntheticMonitoringCheckArgs.builder()        
                .job("Ping Updated")
                .target("grafana.net")
                .enabled(false)
                .probes(            
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Frankfurt()),
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().London()))
                .labels(Map.of("foo", "baz"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .ping(SyntheticMonitoringCheckSettingsPingArgs.builder()
                        .ipVersion("Any")
                        .payloadSize(20)
                        .dontFragment(true)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      ping:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: Ping Updated
          target: grafana.net
          enabled: false
          probes:
            - ${main.probes.Frankfurt}
            - ${main.probes.London}
          labels:
            foo: baz
          settings:
            ping:
              ipVersion: Any
              payloadSize: 20
              dontFragment: true
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    TCP Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const tcp = new grafana.SyntheticMonitoringCheck("tcp", {
        job: "TCP Defaults",
        target: "grafana.com:80",
        enabled: false,
        probes: [main.then(main => main.probes?.Atlanta)],
        labels: {
            foo: "bar",
        },
        settings: {
            tcp: {},
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    tcp = grafana.SyntheticMonitoringCheck("tcp",
        job="TCP Defaults",
        target="grafana.com:80",
        enabled=False,
        probes=[main.probes["Atlanta"]],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            tcp=grafana.SyntheticMonitoringCheckSettingsTcpArgs(),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "tcp", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("TCP Defaults"),
    			Target:  pulumi.String("grafana.com:80"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Atlanta),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Tcp: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var tcp = new Grafana.SyntheticMonitoringCheck("tcp", new()
        {
            Job = "TCP Defaults",
            Target = "grafana.com:80",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Tcp = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsTcpArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var tcp = new SyntheticMonitoringCheck("tcp", SyntheticMonitoringCheckArgs.builder()        
                .job("TCP Defaults")
                .target("grafana.com:80")
                .enabled(false)
                .probes(main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .tcp()
                    .build())
                .build());
    
        }
    }
    
    resources:
      tcp:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: TCP Defaults
          target: grafana.com:80
          enabled: false
          probes:
            - ${main.probes.Atlanta}
          labels:
            foo: bar
          settings:
            tcp: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    TCP Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const tcp = new grafana.SyntheticMonitoringCheck("tcp", {
        job: "TCP Defaults",
        target: "grafana.com:443",
        enabled: false,
        probes: [
            main.then(main => main.probes?.Frankfurt),
            main.then(main => main.probes?.London),
        ],
        labels: {
            foo: "baz",
        },
        settings: {
            tcp: {
                ipVersion: "V6",
                tls: true,
                queryResponses: [
                    {
                        send: "howdy",
                        expect: "hi",
                    },
                    {
                        send: "like this",
                        expect: "like that",
                        startTls: true,
                    },
                ],
                tlsConfig: {
                    serverName: "grafana.com",
                    caCert: `-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    `,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    tcp = grafana.SyntheticMonitoringCheck("tcp",
        job="TCP Defaults",
        target="grafana.com:443",
        enabled=False,
        probes=[
            main.probes["Frankfurt"],
            main.probes["London"],
        ],
        labels={
            "foo": "baz",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            tcp=grafana.SyntheticMonitoringCheckSettingsTcpArgs(
                ip_version="V6",
                tls=True,
                query_responses=[
                    grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs(
                        send="howdy",
                        expect="hi",
                    ),
                    grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs(
                        send="like this",
                        expect="like that",
                        start_tls=True,
                    ),
                ],
                tls_config=grafana.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs(
                    server_name="grafana.com",
                    ca_cert="""-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    """,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "tcp", &grafana.SyntheticMonitoringCheckArgs{
    			Job:     pulumi.String("TCP Defaults"),
    			Target:  pulumi.String("grafana.com:443"),
    			Enabled: pulumi.Bool(false),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Frankfurt),
    				pulumi.Int(main.Probes.London),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("baz"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Tcp: &grafana.SyntheticMonitoringCheckSettingsTcpArgs{
    					IpVersion: pulumi.String("V6"),
    					Tls:       pulumi.Bool(true),
    					QueryResponses: grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArray{
    						&grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs{
    							Send:   pulumi.String("howdy"),
    							Expect: pulumi.String("hi"),
    						},
    						&grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs{
    							Send:     pulumi.String("like this"),
    							Expect:   pulumi.String("like that"),
    							StartTls: pulumi.Bool(true),
    						},
    					},
    					TlsConfig: &grafana.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs{
    						ServerName: pulumi.String("grafana.com"),
    						CaCert: pulumi.String(`-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    `),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var tcp = new Grafana.SyntheticMonitoringCheck("tcp", new()
        {
            Job = "TCP Defaults",
            Target = "grafana.com:443",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Frankfurt),
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Tcp = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpArgs
                {
                    IpVersion = "V6",
                    Tls = true,
                    QueryResponses = new[]
                    {
                        new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs
                        {
                            Send = "howdy",
                            Expect = "hi",
                        },
                        new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs
                        {
                            Send = "like this",
                            Expect = "like that",
                            StartTls = true,
                        },
                    },
                    TlsConfig = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs
                    {
                        ServerName = "grafana.com",
                        CaCert = @"-----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
    ",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsTcpArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var tcp = new SyntheticMonitoringCheck("tcp", SyntheticMonitoringCheckArgs.builder()        
                .job("TCP Defaults")
                .target("grafana.com:443")
                .enabled(false)
                .probes(            
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Frankfurt()),
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().London()))
                .labels(Map.of("foo", "baz"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .tcp(SyntheticMonitoringCheckSettingsTcpArgs.builder()
                        .ipVersion("V6")
                        .tls(true)
                        .queryResponses(                    
                            SyntheticMonitoringCheckSettingsTcpQueryResponseArgs.builder()
                                .send("howdy")
                                .expect("hi")
                                .build(),
                            SyntheticMonitoringCheckSettingsTcpQueryResponseArgs.builder()
                                .send("like this")
                                .expect("like that")
                                .startTls(true)
                                .build())
                        .tlsConfig(SyntheticMonitoringCheckSettingsTcpTlsConfigArgs.builder()
                            .serverName("grafana.com")
                            .caCert("""
    -----BEGIN CERTIFICATE-----
    MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
    RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
    0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
    h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
    BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
    iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
    a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
    FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
    qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
    FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
    Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
    6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
    UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
    yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
    e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
    XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
    tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
    QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
    tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
    prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
    5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
    l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
    7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
    vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
    -----END CERTIFICATE-----
                            """)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      tcp:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: TCP Defaults
          target: grafana.com:443
          enabled: false
          probes:
            - ${main.probes.Frankfurt}
            - ${main.probes.London}
          labels:
            foo: baz
          settings:
            tcp:
              ipVersion: V6
              tls: true
              queryResponses:
                - send: howdy
                  expect: hi
                - send: like this
                  expect: like that
                  startTls: true
              tlsConfig:
                serverName: grafana.com
                caCert: |
                  -----BEGIN CERTIFICATE-----
                  MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT
                  RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF
                  MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+
                  0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr
                  h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD
                  BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl
                  iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL
                  a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En
                  FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7
                  qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk
                  FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB
                  Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW
                  6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z
                  UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w
                  yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA
                  e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ
                  XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB
                  tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8
                  QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP
                  tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4
                  prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9
                  5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY
                  l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq
                  7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N
                  vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=
                  -----END CERTIFICATE-----              
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    Traceroute Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const traceroute = new grafana.SyntheticMonitoringCheck("traceroute", {
        job: "Traceroute defaults",
        target: "grafana.com",
        enabled: false,
        frequency: 120000,
        timeout: 30000,
        probes: [main.then(main => main.probes?.Atlanta)],
        labels: {
            foo: "bar",
        },
        settings: {
            traceroute: {},
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    traceroute = grafana.SyntheticMonitoringCheck("traceroute",
        job="Traceroute defaults",
        target="grafana.com",
        enabled=False,
        frequency=120000,
        timeout=30000,
        probes=[main.probes["Atlanta"]],
        labels={
            "foo": "bar",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            traceroute=grafana.SyntheticMonitoringCheckSettingsTracerouteArgs(),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "traceroute", &grafana.SyntheticMonitoringCheckArgs{
    			Job:       pulumi.String("Traceroute defaults"),
    			Target:    pulumi.String("grafana.com"),
    			Enabled:   pulumi.Bool(false),
    			Frequency: pulumi.Int(120000),
    			Timeout:   pulumi.Int(30000),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Atlanta),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Traceroute: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var traceroute = new Grafana.SyntheticMonitoringCheck("traceroute", new()
        {
            Job = "Traceroute defaults",
            Target = "grafana.com",
            Enabled = false,
            Frequency = 120000,
            Timeout = 30000,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Traceroute = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsTracerouteArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var traceroute = new SyntheticMonitoringCheck("traceroute", SyntheticMonitoringCheckArgs.builder()        
                .job("Traceroute defaults")
                .target("grafana.com")
                .enabled(false)
                .frequency(120000)
                .timeout(30000)
                .probes(main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .traceroute()
                    .build())
                .build());
    
        }
    }
    
    resources:
      traceroute:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: Traceroute defaults
          target: grafana.com
          enabled: false
          frequency: 120000
          timeout: 30000
          probes:
            - ${main.probes.Atlanta}
          labels:
            foo: bar
          settings:
            traceroute: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    Traceroute Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.getSyntheticMonitoringProbes({});
    const traceroute = new grafana.SyntheticMonitoringCheck("traceroute", {
        job: "Traceroute complex",
        target: "grafana.net",
        enabled: false,
        frequency: 120000,
        timeout: 30000,
        probes: [
            main.then(main => main.probes?.Frankfurt),
            main.then(main => main.probes?.London),
        ],
        labels: {
            foo: "baz",
        },
        settings: {
            traceroute: {
                maxHops: 25,
                maxUnknownHops: 10,
                ptrLookup: false,
            },
        },
    });
    
    import pulumi
    import pulumi_grafana as grafana
    import pulumiverse_grafana as grafana
    
    main = grafana.get_synthetic_monitoring_probes()
    traceroute = grafana.SyntheticMonitoringCheck("traceroute",
        job="Traceroute complex",
        target="grafana.net",
        enabled=False,
        frequency=120000,
        timeout=30000,
        probes=[
            main.probes["Frankfurt"],
            main.probes["London"],
        ],
        labels={
            "foo": "baz",
        },
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            traceroute=grafana.SyntheticMonitoringCheckSettingsTracerouteArgs(
                max_hops=25,
                max_unknown_hops=10,
                ptr_lookup=False,
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := grafana.GetSyntheticMonitoringProbes(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = grafana.NewSyntheticMonitoringCheck(ctx, "traceroute", &grafana.SyntheticMonitoringCheckArgs{
    			Job:       pulumi.String("Traceroute complex"),
    			Target:    pulumi.String("grafana.net"),
    			Enabled:   pulumi.Bool(false),
    			Frequency: pulumi.Int(120000),
    			Timeout:   pulumi.Int(30000),
    			Probes: pulumi.IntArray{
    				pulumi.Int(main.Probes.Frankfurt),
    				pulumi.Int(main.Probes.London),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("baz"),
    			},
    			Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    				Traceroute: &grafana.SyntheticMonitoringCheckSettingsTracerouteArgs{
    					MaxHops:        pulumi.Int(25),
    					MaxUnknownHops: pulumi.Int(10),
    					PtrLookup:      pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Grafana = Pulumi.Grafana;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Grafana.GetSyntheticMonitoringProbes.Invoke();
    
        var traceroute = new Grafana.SyntheticMonitoringCheck("traceroute", new()
        {
            Job = "Traceroute complex",
            Target = "grafana.net",
            Enabled = false,
            Frequency = 120000,
            Timeout = 30000,
            Probes = new[]
            {
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.Frankfurt),
                main.Apply(getSyntheticMonitoringProbesResult => getSyntheticMonitoringProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
            {
                Traceroute = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTracerouteArgs
                {
                    MaxHops = 25,
                    MaxUnknownHops = 10,
                    PtrLookup = false,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.GrafanaFunctions;
    import com.pulumi.grafana.inputs.GetSyntheticMonitoringProbesArgs;
    import com.pulumi.grafana.SyntheticMonitoringCheck;
    import com.pulumi.grafana.SyntheticMonitoringCheckArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsArgs;
    import com.pulumi.grafana.inputs.SyntheticMonitoringCheckSettingsTracerouteArgs;
    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) {
            final var main = GrafanaFunctions.getSyntheticMonitoringProbes();
    
            var traceroute = new SyntheticMonitoringCheck("traceroute", SyntheticMonitoringCheckArgs.builder()        
                .job("Traceroute complex")
                .target("grafana.net")
                .enabled(false)
                .frequency(120000)
                .timeout(30000)
                .probes(            
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().Frankfurt()),
                    main.applyValue(getSyntheticMonitoringProbesResult -> getSyntheticMonitoringProbesResult.probes().London()))
                .labels(Map.of("foo", "baz"))
                .settings(SyntheticMonitoringCheckSettingsArgs.builder()
                    .traceroute(SyntheticMonitoringCheckSettingsTracerouteArgs.builder()
                        .maxHops(25)
                        .maxUnknownHops(10)
                        .ptrLookup(false)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      traceroute:
        type: grafana:SyntheticMonitoringCheck
        properties:
          job: Traceroute complex
          target: grafana.net
          enabled: false
          frequency: 120000
          timeout: 30000
          probes:
            - ${main.probes.Frankfurt}
            - ${main.probes.London}
          labels:
            foo: baz
          settings:
            traceroute:
              maxHops: 25
              maxUnknownHops: 10
              ptrLookup: false
    variables:
      main:
        fn::invoke:
          Function: grafana:getSyntheticMonitoringProbes
          Arguments: {}
    

    Create SyntheticMonitoringCheck Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new SyntheticMonitoringCheck(name: string, args: SyntheticMonitoringCheckArgs, opts?: CustomResourceOptions);
    @overload
    def SyntheticMonitoringCheck(resource_name: str,
                                 args: SyntheticMonitoringCheckArgs,
                                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def SyntheticMonitoringCheck(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 job: Optional[str] = None,
                                 probes: Optional[Sequence[int]] = None,
                                 settings: Optional[SyntheticMonitoringCheckSettingsArgs] = None,
                                 target: Optional[str] = None,
                                 alert_sensitivity: Optional[str] = None,
                                 basic_metrics_only: Optional[bool] = None,
                                 enabled: Optional[bool] = None,
                                 frequency: Optional[int] = None,
                                 labels: Optional[Mapping[str, str]] = None,
                                 timeout: Optional[int] = None)
    func NewSyntheticMonitoringCheck(ctx *Context, name string, args SyntheticMonitoringCheckArgs, opts ...ResourceOption) (*SyntheticMonitoringCheck, error)
    public SyntheticMonitoringCheck(string name, SyntheticMonitoringCheckArgs args, CustomResourceOptions? opts = null)
    public SyntheticMonitoringCheck(String name, SyntheticMonitoringCheckArgs args)
    public SyntheticMonitoringCheck(String name, SyntheticMonitoringCheckArgs args, CustomResourceOptions options)
    
    type: grafana:SyntheticMonitoringCheck
    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 SyntheticMonitoringCheckArgs
    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 SyntheticMonitoringCheckArgs
    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 SyntheticMonitoringCheckArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SyntheticMonitoringCheckArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SyntheticMonitoringCheckArgs
    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 syntheticMonitoringCheckResource = new Grafana.SyntheticMonitoringCheck("syntheticMonitoringCheckResource", new()
    {
        Job = "string",
        Probes = new[]
        {
            0,
        },
        Settings = new Grafana.Inputs.SyntheticMonitoringCheckSettingsArgs
        {
            Dns = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsArgs
            {
                IpVersion = "string",
                Port = 0,
                Protocol = "string",
                RecordType = "string",
                Server = "string",
                SourceIpAddress = "string",
                ValidRCodes = new[]
                {
                    "string",
                },
                ValidateAdditionalRrs = new[]
                {
                    new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            "string",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            "string",
                        },
                    },
                },
                ValidateAnswerRrs = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs
                {
                    FailIfMatchesRegexps = new[]
                    {
                        "string",
                    },
                    FailIfNotMatchesRegexps = new[]
                    {
                        "string",
                    },
                },
                ValidateAuthorityRrs = new Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs
                {
                    FailIfMatchesRegexps = new[]
                    {
                        "string",
                    },
                    FailIfNotMatchesRegexps = new[]
                    {
                        "string",
                    },
                },
            },
            Http = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpArgs
            {
                BasicAuth = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs
                {
                    Password = "string",
                    Username = "string",
                },
                BearerToken = "string",
                Body = "string",
                CacheBustingQueryParamName = "string",
                FailIfBodyMatchesRegexps = new[]
                {
                    "string",
                },
                FailIfBodyNotMatchesRegexps = new[]
                {
                    "string",
                },
                FailIfHeaderMatchesRegexps = new[]
                {
                    new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs
                    {
                        Header = "string",
                        Regexp = "string",
                        AllowMissing = false,
                    },
                },
                FailIfHeaderNotMatchesRegexps = new[]
                {
                    new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs
                    {
                        Header = "string",
                        Regexp = "string",
                        AllowMissing = false,
                    },
                },
                FailIfNotSsl = false,
                FailIfSsl = false,
                Headers = new[]
                {
                    "string",
                },
                IpVersion = "string",
                Method = "string",
                NoFollowRedirects = false,
                ProxyConnectHeaders = new[]
                {
                    "string",
                },
                ProxyUrl = "string",
                TlsConfig = new Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs
                {
                    CaCert = "string",
                    ClientCert = "string",
                    ClientKey = "string",
                    InsecureSkipVerify = false,
                    ServerName = "string",
                },
                ValidHttpVersions = new[]
                {
                    "string",
                },
                ValidStatusCodes = new[]
                {
                    0,
                },
            },
            Multihttp = new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpArgs
            {
                Entries = new[]
                {
                    new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryArgs
                    {
                        Assertions = new[]
                        {
                            new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs
                            {
                                Type = "string",
                                Condition = "string",
                                Expression = "string",
                                Subject = "string",
                                Value = "string",
                            },
                        },
                        Request = new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs
                        {
                            Method = "string",
                            Url = "string",
                            Bodies = new[]
                            {
                                new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs
                                {
                                    ContentEncoding = "string",
                                    ContentType = "string",
                                    Payload = "string",
                                },
                            },
                            Headers = new[]
                            {
                                new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            QueryFields = new[]
                            {
                                new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                        },
                        Variables = new[]
                        {
                            new Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs
                            {
                                Type = "string",
                                Attribute = "string",
                                Expression = "string",
                                Name = "string",
                            },
                        },
                    },
                },
            },
            Ping = new Grafana.Inputs.SyntheticMonitoringCheckSettingsPingArgs
            {
                DontFragment = false,
                IpVersion = "string",
                PayloadSize = 0,
                SourceIpAddress = "string",
            },
            Tcp = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpArgs
            {
                IpVersion = "string",
                QueryResponses = new[]
                {
                    new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs
                    {
                        Expect = "string",
                        Send = "string",
                        StartTls = false,
                    },
                },
                SourceIpAddress = "string",
                Tls = false,
                TlsConfig = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs
                {
                    CaCert = "string",
                    ClientCert = "string",
                    ClientKey = "string",
                    InsecureSkipVerify = false,
                    ServerName = "string",
                },
            },
            Traceroute = new Grafana.Inputs.SyntheticMonitoringCheckSettingsTracerouteArgs
            {
                MaxHops = 0,
                MaxUnknownHops = 0,
                PtrLookup = false,
            },
        },
        Target = "string",
        AlertSensitivity = "string",
        BasicMetricsOnly = false,
        Enabled = false,
        Frequency = 0,
        Labels = 
        {
            { "string", "string" },
        },
        Timeout = 0,
    });
    
    example, err := grafana.NewSyntheticMonitoringCheck(ctx, "syntheticMonitoringCheckResource", &grafana.SyntheticMonitoringCheckArgs{
    	Job: pulumi.String("string"),
    	Probes: pulumi.IntArray{
    		pulumi.Int(0),
    	},
    	Settings: &grafana.SyntheticMonitoringCheckSettingsArgs{
    		Dns: &grafana.SyntheticMonitoringCheckSettingsDnsArgs{
    			IpVersion:       pulumi.String("string"),
    			Port:            pulumi.Int(0),
    			Protocol:        pulumi.String("string"),
    			RecordType:      pulumi.String("string"),
    			Server:          pulumi.String("string"),
    			SourceIpAddress: pulumi.String("string"),
    			ValidRCodes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ValidateAdditionalRrs: grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArray{
    				&grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs{
    					FailIfMatchesRegexps: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					FailIfNotMatchesRegexps: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			ValidateAnswerRrs: &grafana.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs{
    				FailIfMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FailIfNotMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			ValidateAuthorityRrs: &grafana.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs{
    				FailIfMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FailIfNotMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		Http: &grafana.SyntheticMonitoringCheckSettingsHttpArgs{
    			BasicAuth: &grafana.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs{
    				Password: pulumi.String("string"),
    				Username: pulumi.String("string"),
    			},
    			BearerToken:                pulumi.String("string"),
    			Body:                       pulumi.String("string"),
    			CacheBustingQueryParamName: pulumi.String("string"),
    			FailIfBodyMatchesRegexps: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FailIfBodyNotMatchesRegexps: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FailIfHeaderMatchesRegexps: grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArray{
    				&grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs{
    					Header:       pulumi.String("string"),
    					Regexp:       pulumi.String("string"),
    					AllowMissing: pulumi.Bool(false),
    				},
    			},
    			FailIfHeaderNotMatchesRegexps: grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArray{
    				&grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs{
    					Header:       pulumi.String("string"),
    					Regexp:       pulumi.String("string"),
    					AllowMissing: pulumi.Bool(false),
    				},
    			},
    			FailIfNotSsl: pulumi.Bool(false),
    			FailIfSsl:    pulumi.Bool(false),
    			Headers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			IpVersion:         pulumi.String("string"),
    			Method:            pulumi.String("string"),
    			NoFollowRedirects: pulumi.Bool(false),
    			ProxyConnectHeaders: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ProxyUrl: pulumi.String("string"),
    			TlsConfig: &grafana.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs{
    				CaCert:             pulumi.String("string"),
    				ClientCert:         pulumi.String("string"),
    				ClientKey:          pulumi.String("string"),
    				InsecureSkipVerify: pulumi.Bool(false),
    				ServerName:         pulumi.String("string"),
    			},
    			ValidHttpVersions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ValidStatusCodes: pulumi.IntArray{
    				pulumi.Int(0),
    			},
    		},
    		Multihttp: &grafana.SyntheticMonitoringCheckSettingsMultihttpArgs{
    			Entries: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryArray{
    				&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryArgs{
    					Assertions: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArray{
    						&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs{
    							Type:       pulumi.String("string"),
    							Condition:  pulumi.String("string"),
    							Expression: pulumi.String("string"),
    							Subject:    pulumi.String("string"),
    							Value:      pulumi.String("string"),
    						},
    					},
    					Request: &grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs{
    						Method: pulumi.String("string"),
    						Url:    pulumi.String("string"),
    						Bodies: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArray{
    							&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs{
    								ContentEncoding: pulumi.String("string"),
    								ContentType:     pulumi.String("string"),
    								Payload:         pulumi.String("string"),
    							},
    						},
    						Headers: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArray{
    							&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						QueryFields: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArray{
    							&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    					},
    					Variables: grafana.SyntheticMonitoringCheckSettingsMultihttpEntryVariableArray{
    						&grafana.SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs{
    							Type:       pulumi.String("string"),
    							Attribute:  pulumi.String("string"),
    							Expression: pulumi.String("string"),
    							Name:       pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		Ping: &grafana.SyntheticMonitoringCheckSettingsPingArgs{
    			DontFragment:    pulumi.Bool(false),
    			IpVersion:       pulumi.String("string"),
    			PayloadSize:     pulumi.Int(0),
    			SourceIpAddress: pulumi.String("string"),
    		},
    		Tcp: &grafana.SyntheticMonitoringCheckSettingsTcpArgs{
    			IpVersion: pulumi.String("string"),
    			QueryResponses: grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArray{
    				&grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs{
    					Expect:   pulumi.String("string"),
    					Send:     pulumi.String("string"),
    					StartTls: pulumi.Bool(false),
    				},
    			},
    			SourceIpAddress: pulumi.String("string"),
    			Tls:             pulumi.Bool(false),
    			TlsConfig: &grafana.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs{
    				CaCert:             pulumi.String("string"),
    				ClientCert:         pulumi.String("string"),
    				ClientKey:          pulumi.String("string"),
    				InsecureSkipVerify: pulumi.Bool(false),
    				ServerName:         pulumi.String("string"),
    			},
    		},
    		Traceroute: &grafana.SyntheticMonitoringCheckSettingsTracerouteArgs{
    			MaxHops:        pulumi.Int(0),
    			MaxUnknownHops: pulumi.Int(0),
    			PtrLookup:      pulumi.Bool(false),
    		},
    	},
    	Target:           pulumi.String("string"),
    	AlertSensitivity: pulumi.String("string"),
    	BasicMetricsOnly: pulumi.Bool(false),
    	Enabled:          pulumi.Bool(false),
    	Frequency:        pulumi.Int(0),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Timeout: pulumi.Int(0),
    })
    
    var syntheticMonitoringCheckResource = new SyntheticMonitoringCheck("syntheticMonitoringCheckResource", SyntheticMonitoringCheckArgs.builder()
        .job("string")
        .probes(0)
        .settings(SyntheticMonitoringCheckSettingsArgs.builder()
            .dns(SyntheticMonitoringCheckSettingsDnsArgs.builder()
                .ipVersion("string")
                .port(0)
                .protocol("string")
                .recordType("string")
                .server("string")
                .sourceIpAddress("string")
                .validRCodes("string")
                .validateAdditionalRrs(SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .validateAnswerRrs(SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .validateAuthorityRrs(SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .build())
            .http(SyntheticMonitoringCheckSettingsHttpArgs.builder()
                .basicAuth(SyntheticMonitoringCheckSettingsHttpBasicAuthArgs.builder()
                    .password("string")
                    .username("string")
                    .build())
                .bearerToken("string")
                .body("string")
                .cacheBustingQueryParamName("string")
                .failIfBodyMatchesRegexps("string")
                .failIfBodyNotMatchesRegexps("string")
                .failIfHeaderMatchesRegexps(SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()
                    .header("string")
                    .regexp("string")
                    .allowMissing(false)
                    .build())
                .failIfHeaderNotMatchesRegexps(SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs.builder()
                    .header("string")
                    .regexp("string")
                    .allowMissing(false)
                    .build())
                .failIfNotSsl(false)
                .failIfSsl(false)
                .headers("string")
                .ipVersion("string")
                .method("string")
                .noFollowRedirects(false)
                .proxyConnectHeaders("string")
                .proxyUrl("string")
                .tlsConfig(SyntheticMonitoringCheckSettingsHttpTlsConfigArgs.builder()
                    .caCert("string")
                    .clientCert("string")
                    .clientKey("string")
                    .insecureSkipVerify(false)
                    .serverName("string")
                    .build())
                .validHttpVersions("string")
                .validStatusCodes(0)
                .build())
            .multihttp(SyntheticMonitoringCheckSettingsMultihttpArgs.builder()
                .entries(SyntheticMonitoringCheckSettingsMultihttpEntryArgs.builder()
                    .assertions(SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs.builder()
                        .type("string")
                        .condition("string")
                        .expression("string")
                        .subject("string")
                        .value("string")
                        .build())
                    .request(SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs.builder()
                        .method("string")
                        .url("string")
                        .bodies(SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs.builder()
                            .contentEncoding("string")
                            .contentType("string")
                            .payload("string")
                            .build())
                        .headers(SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .queryFields(SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .build())
                    .variables(SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs.builder()
                        .type("string")
                        .attribute("string")
                        .expression("string")
                        .name("string")
                        .build())
                    .build())
                .build())
            .ping(SyntheticMonitoringCheckSettingsPingArgs.builder()
                .dontFragment(false)
                .ipVersion("string")
                .payloadSize(0)
                .sourceIpAddress("string")
                .build())
            .tcp(SyntheticMonitoringCheckSettingsTcpArgs.builder()
                .ipVersion("string")
                .queryResponses(SyntheticMonitoringCheckSettingsTcpQueryResponseArgs.builder()
                    .expect("string")
                    .send("string")
                    .startTls(false)
                    .build())
                .sourceIpAddress("string")
                .tls(false)
                .tlsConfig(SyntheticMonitoringCheckSettingsTcpTlsConfigArgs.builder()
                    .caCert("string")
                    .clientCert("string")
                    .clientKey("string")
                    .insecureSkipVerify(false)
                    .serverName("string")
                    .build())
                .build())
            .traceroute(SyntheticMonitoringCheckSettingsTracerouteArgs.builder()
                .maxHops(0)
                .maxUnknownHops(0)
                .ptrLookup(false)
                .build())
            .build())
        .target("string")
        .alertSensitivity("string")
        .basicMetricsOnly(false)
        .enabled(false)
        .frequency(0)
        .labels(Map.of("string", "string"))
        .timeout(0)
        .build());
    
    synthetic_monitoring_check_resource = grafana.SyntheticMonitoringCheck("syntheticMonitoringCheckResource",
        job="string",
        probes=[0],
        settings=grafana.SyntheticMonitoringCheckSettingsArgs(
            dns=grafana.SyntheticMonitoringCheckSettingsDnsArgs(
                ip_version="string",
                port=0,
                protocol="string",
                record_type="string",
                server="string",
                source_ip_address="string",
                valid_r_codes=["string"],
                validate_additional_rrs=[grafana.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs(
                    fail_if_matches_regexps=["string"],
                    fail_if_not_matches_regexps=["string"],
                )],
                validate_answer_rrs=grafana.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs(
                    fail_if_matches_regexps=["string"],
                    fail_if_not_matches_regexps=["string"],
                ),
                validate_authority_rrs=grafana.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs(
                    fail_if_matches_regexps=["string"],
                    fail_if_not_matches_regexps=["string"],
                ),
            ),
            http=grafana.SyntheticMonitoringCheckSettingsHttpArgs(
                basic_auth=grafana.SyntheticMonitoringCheckSettingsHttpBasicAuthArgs(
                    password="string",
                    username="string",
                ),
                bearer_token="string",
                body="string",
                cache_busting_query_param_name="string",
                fail_if_body_matches_regexps=["string"],
                fail_if_body_not_matches_regexps=["string"],
                fail_if_header_matches_regexps=[grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs(
                    header="string",
                    regexp="string",
                    allow_missing=False,
                )],
                fail_if_header_not_matches_regexps=[grafana.SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs(
                    header="string",
                    regexp="string",
                    allow_missing=False,
                )],
                fail_if_not_ssl=False,
                fail_if_ssl=False,
                headers=["string"],
                ip_version="string",
                method="string",
                no_follow_redirects=False,
                proxy_connect_headers=["string"],
                proxy_url="string",
                tls_config=grafana.SyntheticMonitoringCheckSettingsHttpTlsConfigArgs(
                    ca_cert="string",
                    client_cert="string",
                    client_key="string",
                    insecure_skip_verify=False,
                    server_name="string",
                ),
                valid_http_versions=["string"],
                valid_status_codes=[0],
            ),
            multihttp=grafana.SyntheticMonitoringCheckSettingsMultihttpArgs(
                entries=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryArgs(
                    assertions=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs(
                        type="string",
                        condition="string",
                        expression="string",
                        subject="string",
                        value="string",
                    )],
                    request=grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs(
                        method="string",
                        url="string",
                        bodies=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs(
                            content_encoding="string",
                            content_type="string",
                            payload="string",
                        )],
                        headers=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs(
                            name="string",
                            value="string",
                        )],
                        query_fields=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs(
                            name="string",
                            value="string",
                        )],
                    ),
                    variables=[grafana.SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs(
                        type="string",
                        attribute="string",
                        expression="string",
                        name="string",
                    )],
                )],
            ),
            ping=grafana.SyntheticMonitoringCheckSettingsPingArgs(
                dont_fragment=False,
                ip_version="string",
                payload_size=0,
                source_ip_address="string",
            ),
            tcp=grafana.SyntheticMonitoringCheckSettingsTcpArgs(
                ip_version="string",
                query_responses=[grafana.SyntheticMonitoringCheckSettingsTcpQueryResponseArgs(
                    expect="string",
                    send="string",
                    start_tls=False,
                )],
                source_ip_address="string",
                tls=False,
                tls_config=grafana.SyntheticMonitoringCheckSettingsTcpTlsConfigArgs(
                    ca_cert="string",
                    client_cert="string",
                    client_key="string",
                    insecure_skip_verify=False,
                    server_name="string",
                ),
            ),
            traceroute=grafana.SyntheticMonitoringCheckSettingsTracerouteArgs(
                max_hops=0,
                max_unknown_hops=0,
                ptr_lookup=False,
            ),
        ),
        target="string",
        alert_sensitivity="string",
        basic_metrics_only=False,
        enabled=False,
        frequency=0,
        labels={
            "string": "string",
        },
        timeout=0)
    
    const syntheticMonitoringCheckResource = new grafana.SyntheticMonitoringCheck("syntheticMonitoringCheckResource", {
        job: "string",
        probes: [0],
        settings: {
            dns: {
                ipVersion: "string",
                port: 0,
                protocol: "string",
                recordType: "string",
                server: "string",
                sourceIpAddress: "string",
                validRCodes: ["string"],
                validateAdditionalRrs: [{
                    failIfMatchesRegexps: ["string"],
                    failIfNotMatchesRegexps: ["string"],
                }],
                validateAnswerRrs: {
                    failIfMatchesRegexps: ["string"],
                    failIfNotMatchesRegexps: ["string"],
                },
                validateAuthorityRrs: {
                    failIfMatchesRegexps: ["string"],
                    failIfNotMatchesRegexps: ["string"],
                },
            },
            http: {
                basicAuth: {
                    password: "string",
                    username: "string",
                },
                bearerToken: "string",
                body: "string",
                cacheBustingQueryParamName: "string",
                failIfBodyMatchesRegexps: ["string"],
                failIfBodyNotMatchesRegexps: ["string"],
                failIfHeaderMatchesRegexps: [{
                    header: "string",
                    regexp: "string",
                    allowMissing: false,
                }],
                failIfHeaderNotMatchesRegexps: [{
                    header: "string",
                    regexp: "string",
                    allowMissing: false,
                }],
                failIfNotSsl: false,
                failIfSsl: false,
                headers: ["string"],
                ipVersion: "string",
                method: "string",
                noFollowRedirects: false,
                proxyConnectHeaders: ["string"],
                proxyUrl: "string",
                tlsConfig: {
                    caCert: "string",
                    clientCert: "string",
                    clientKey: "string",
                    insecureSkipVerify: false,
                    serverName: "string",
                },
                validHttpVersions: ["string"],
                validStatusCodes: [0],
            },
            multihttp: {
                entries: [{
                    assertions: [{
                        type: "string",
                        condition: "string",
                        expression: "string",
                        subject: "string",
                        value: "string",
                    }],
                    request: {
                        method: "string",
                        url: "string",
                        bodies: [{
                            contentEncoding: "string",
                            contentType: "string",
                            payload: "string",
                        }],
                        headers: [{
                            name: "string",
                            value: "string",
                        }],
                        queryFields: [{
                            name: "string",
                            value: "string",
                        }],
                    },
                    variables: [{
                        type: "string",
                        attribute: "string",
                        expression: "string",
                        name: "string",
                    }],
                }],
            },
            ping: {
                dontFragment: false,
                ipVersion: "string",
                payloadSize: 0,
                sourceIpAddress: "string",
            },
            tcp: {
                ipVersion: "string",
                queryResponses: [{
                    expect: "string",
                    send: "string",
                    startTls: false,
                }],
                sourceIpAddress: "string",
                tls: false,
                tlsConfig: {
                    caCert: "string",
                    clientCert: "string",
                    clientKey: "string",
                    insecureSkipVerify: false,
                    serverName: "string",
                },
            },
            traceroute: {
                maxHops: 0,
                maxUnknownHops: 0,
                ptrLookup: false,
            },
        },
        target: "string",
        alertSensitivity: "string",
        basicMetricsOnly: false,
        enabled: false,
        frequency: 0,
        labels: {
            string: "string",
        },
        timeout: 0,
    });
    
    type: grafana:SyntheticMonitoringCheck
    properties:
        alertSensitivity: string
        basicMetricsOnly: false
        enabled: false
        frequency: 0
        job: string
        labels:
            string: string
        probes:
            - 0
        settings:
            dns:
                ipVersion: string
                port: 0
                protocol: string
                recordType: string
                server: string
                sourceIpAddress: string
                validRCodes:
                    - string
                validateAdditionalRrs:
                    - failIfMatchesRegexps:
                        - string
                      failIfNotMatchesRegexps:
                        - string
                validateAnswerRrs:
                    failIfMatchesRegexps:
                        - string
                    failIfNotMatchesRegexps:
                        - string
                validateAuthorityRrs:
                    failIfMatchesRegexps:
                        - string
                    failIfNotMatchesRegexps:
                        - string
            http:
                basicAuth:
                    password: string
                    username: string
                bearerToken: string
                body: string
                cacheBustingQueryParamName: string
                failIfBodyMatchesRegexps:
                    - string
                failIfBodyNotMatchesRegexps:
                    - string
                failIfHeaderMatchesRegexps:
                    - allowMissing: false
                      header: string
                      regexp: string
                failIfHeaderNotMatchesRegexps:
                    - allowMissing: false
                      header: string
                      regexp: string
                failIfNotSsl: false
                failIfSsl: false
                headers:
                    - string
                ipVersion: string
                method: string
                noFollowRedirects: false
                proxyConnectHeaders:
                    - string
                proxyUrl: string
                tlsConfig:
                    caCert: string
                    clientCert: string
                    clientKey: string
                    insecureSkipVerify: false
                    serverName: string
                validHttpVersions:
                    - string
                validStatusCodes:
                    - 0
            multihttp:
                entries:
                    - assertions:
                        - condition: string
                          expression: string
                          subject: string
                          type: string
                          value: string
                      request:
                        bodies:
                            - contentEncoding: string
                              contentType: string
                              payload: string
                        headers:
                            - name: string
                              value: string
                        method: string
                        queryFields:
                            - name: string
                              value: string
                        url: string
                      variables:
                        - attribute: string
                          expression: string
                          name: string
                          type: string
            ping:
                dontFragment: false
                ipVersion: string
                payloadSize: 0
                sourceIpAddress: string
            tcp:
                ipVersion: string
                queryResponses:
                    - expect: string
                      send: string
                      startTls: false
                sourceIpAddress: string
                tls: false
                tlsConfig:
                    caCert: string
                    clientCert: string
                    clientKey: string
                    insecureSkipVerify: false
                    serverName: string
            traceroute:
                maxHops: 0
                maxUnknownHops: 0
                ptrLookup: false
        target: string
        timeout: 0
    

    SyntheticMonitoringCheck Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The SyntheticMonitoringCheck resource accepts the following input properties:

    Job string
    Name used for job label.
    Probes List<int>
    List of probe location IDs where this target will be checked from.
    Settings Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    Target string
    Hostname to ping.
    AlertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    BasicMetricsOnly bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    Enabled bool
    Whether to enable the check. Defaults to true.
    Frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    Labels Dictionary<string, string>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    Timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    Job string
    Name used for job label.
    Probes []int
    List of probe location IDs where this target will be checked from.
    Settings SyntheticMonitoringCheckSettingsArgs
    Check settings. Should contain exactly one nested block.
    Target string
    Hostname to ping.
    AlertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    BasicMetricsOnly bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    Enabled bool
    Whether to enable the check. Defaults to true.
    Frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    Labels map[string]string
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    Timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    job String
    Name used for job label.
    probes List<Integer>
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    target String
    Hostname to ping.
    alertSensitivity String
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly Boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled Boolean
    Whether to enable the check. Defaults to true.
    frequency Integer
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    labels Map<String,String>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    timeout Integer
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    job string
    Name used for job label.
    probes number[]
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    target string
    Hostname to ping.
    alertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled boolean
    Whether to enable the check. Defaults to true.
    frequency number
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    labels {[key: string]: string}
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    timeout number
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    job str
    Name used for job label.
    probes Sequence[int]
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettingsArgs
    Check settings. Should contain exactly one nested block.
    target str
    Hostname to ping.
    alert_sensitivity str
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basic_metrics_only bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled bool
    Whether to enable the check. Defaults to true.
    frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    labels Mapping[str, str]
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    job String
    Name used for job label.
    probes List<Number>
    List of probe location IDs where this target will be checked from.
    settings Property Map
    Check settings. Should contain exactly one nested block.
    target String
    Hostname to ping.
    alertSensitivity String
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly Boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled Boolean
    Whether to enable the check. Defaults to true.
    frequency Number
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    labels Map<String>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    timeout Number
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the SyntheticMonitoringCheck resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    TenantId int
    The tenant ID of the check.
    Id string
    The provider-assigned unique ID for this managed resource.
    TenantId int
    The tenant ID of the check.
    id String
    The provider-assigned unique ID for this managed resource.
    tenantId Integer
    The tenant ID of the check.
    id string
    The provider-assigned unique ID for this managed resource.
    tenantId number
    The tenant ID of the check.
    id str
    The provider-assigned unique ID for this managed resource.
    tenant_id int
    The tenant ID of the check.
    id String
    The provider-assigned unique ID for this managed resource.
    tenantId Number
    The tenant ID of the check.

    Look up Existing SyntheticMonitoringCheck Resource

    Get an existing SyntheticMonitoringCheck resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: SyntheticMonitoringCheckState, opts?: CustomResourceOptions): SyntheticMonitoringCheck
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alert_sensitivity: Optional[str] = None,
            basic_metrics_only: Optional[bool] = None,
            enabled: Optional[bool] = None,
            frequency: Optional[int] = None,
            job: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            probes: Optional[Sequence[int]] = None,
            settings: Optional[SyntheticMonitoringCheckSettingsArgs] = None,
            target: Optional[str] = None,
            tenant_id: Optional[int] = None,
            timeout: Optional[int] = None) -> SyntheticMonitoringCheck
    func GetSyntheticMonitoringCheck(ctx *Context, name string, id IDInput, state *SyntheticMonitoringCheckState, opts ...ResourceOption) (*SyntheticMonitoringCheck, error)
    public static SyntheticMonitoringCheck Get(string name, Input<string> id, SyntheticMonitoringCheckState? state, CustomResourceOptions? opts = null)
    public static SyntheticMonitoringCheck get(String name, Output<String> id, SyntheticMonitoringCheckState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AlertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    BasicMetricsOnly bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    Enabled bool
    Whether to enable the check. Defaults to true.
    Frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    Job string
    Name used for job label.
    Labels Dictionary<string, string>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    Probes List<int>
    List of probe location IDs where this target will be checked from.
    Settings Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    Target string
    Hostname to ping.
    TenantId int
    The tenant ID of the check.
    Timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    AlertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    BasicMetricsOnly bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    Enabled bool
    Whether to enable the check. Defaults to true.
    Frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    Job string
    Name used for job label.
    Labels map[string]string
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    Probes []int
    List of probe location IDs where this target will be checked from.
    Settings SyntheticMonitoringCheckSettingsArgs
    Check settings. Should contain exactly one nested block.
    Target string
    Hostname to ping.
    TenantId int
    The tenant ID of the check.
    Timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    alertSensitivity String
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly Boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled Boolean
    Whether to enable the check. Defaults to true.
    frequency Integer
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    job String
    Name used for job label.
    labels Map<String,String>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    probes List<Integer>
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    target String
    Hostname to ping.
    tenantId Integer
    The tenant ID of the check.
    timeout Integer
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    alertSensitivity string
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled boolean
    Whether to enable the check. Defaults to true.
    frequency number
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    job string
    Name used for job label.
    labels {[key: string]: string}
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    probes number[]
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettings
    Check settings. Should contain exactly one nested block.
    target string
    Hostname to ping.
    tenantId number
    The tenant ID of the check.
    timeout number
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    alert_sensitivity str
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basic_metrics_only bool
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled bool
    Whether to enable the check. Defaults to true.
    frequency int
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    job str
    Name used for job label.
    labels Mapping[str, str]
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    probes Sequence[int]
    List of probe location IDs where this target will be checked from.
    settings SyntheticMonitoringCheckSettingsArgs
    Check settings. Should contain exactly one nested block.
    target str
    Hostname to ping.
    tenant_id int
    The tenant ID of the check.
    timeout int
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.
    alertSensitivity String
    Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.
    basicMetricsOnly Boolean
    Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.
    enabled Boolean
    Whether to enable the check. Defaults to true.
    frequency Number
    How often the check runs in milliseconds (the value is not truly a "frequency" but a "period"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.
    job String
    Name used for job label.
    labels Map<String>
    Custom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.
    probes List<Number>
    List of probe location IDs where this target will be checked from.
    settings Property Map
    Check settings. Should contain exactly one nested block.
    target String
    Hostname to ping.
    tenantId Number
    The tenant ID of the check.
    timeout Number
    Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 10 seconds (10000 ms). Defaults to 3000.

    Supporting Types

    SyntheticMonitoringCheckSettings, SyntheticMonitoringCheckSettingsArgs

    Dns Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    Http Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    Multihttp Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    Ping Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    Tcp Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTcp
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    Traceroute Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    Dns SyntheticMonitoringCheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    Http SyntheticMonitoringCheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    Multihttp SyntheticMonitoringCheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    Ping SyntheticMonitoringCheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    Tcp SyntheticMonitoringCheckSettingsTcp
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    Traceroute SyntheticMonitoringCheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns SyntheticMonitoringCheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    http SyntheticMonitoringCheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp SyntheticMonitoringCheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping SyntheticMonitoringCheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    tcp SyntheticMonitoringCheckSettingsTcp
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    traceroute SyntheticMonitoringCheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns SyntheticMonitoringCheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    http SyntheticMonitoringCheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp SyntheticMonitoringCheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping SyntheticMonitoringCheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    tcp SyntheticMonitoringCheckSettingsTcp
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    traceroute SyntheticMonitoringCheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns SyntheticMonitoringCheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    http SyntheticMonitoringCheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp SyntheticMonitoringCheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping SyntheticMonitoringCheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    tcp SyntheticMonitoringCheckSettingsTcp
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    traceroute SyntheticMonitoringCheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns Property Map
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    http Property Map
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp Property Map
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping Property Map
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    tcp Property Map
    Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    traceroute Property Map
    Settings for traceroute check. The target must be a valid hostname or IP address

    SyntheticMonitoringCheckSettingsDns, SyntheticMonitoringCheckSettingsDnsArgs

    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    Port int
    Port to target. Defaults to 53.
    Protocol string
    TCP or UDP. Defaults to UDP.
    RecordType string
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    Server string
    DNS server address to target. Defaults to 8.8.8.8.
    SourceIpAddress string
    Source IP address.
    ValidRCodes List<string>
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    ValidateAdditionalRrs List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr>
    Validate additional matches.
    ValidateAnswerRrs Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    ValidateAuthorityRrs Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
    Validate response authority.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    Port int
    Port to target. Defaults to 53.
    Protocol string
    TCP or UDP. Defaults to UDP.
    RecordType string
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    Server string
    DNS server address to target. Defaults to 8.8.8.8.
    SourceIpAddress string
    Source IP address.
    ValidRCodes []string
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    ValidateAdditionalRrs []SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr
    Validate additional matches.
    ValidateAnswerRrs SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    ValidateAuthorityRrs SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
    Validate response authority.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    port Integer
    Port to target. Defaults to 53.
    protocol String
    TCP or UDP. Defaults to UDP.
    recordType String
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    server String
    DNS server address to target. Defaults to 8.8.8.8.
    sourceIpAddress String
    Source IP address.
    validRCodes List<String>
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    validateAdditionalRrs List<SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr>
    Validate additional matches.
    validateAnswerRrs SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validateAuthorityRrs SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
    Validate response authority.
    ipVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    port number
    Port to target. Defaults to 53.
    protocol string
    TCP or UDP. Defaults to UDP.
    recordType string
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    server string
    DNS server address to target. Defaults to 8.8.8.8.
    sourceIpAddress string
    Source IP address.
    validRCodes string[]
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    validateAdditionalRrs SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr[]
    Validate additional matches.
    validateAnswerRrs SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validateAuthorityRrs SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
    Validate response authority.
    ip_version str
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    port int
    Port to target. Defaults to 53.
    protocol str
    TCP or UDP. Defaults to UDP.
    record_type str
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    server str
    DNS server address to target. Defaults to 8.8.8.8.
    source_ip_address str
    Source IP address.
    valid_r_codes Sequence[str]
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    validate_additional_rrs Sequence[SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr]
    Validate additional matches.
    validate_answer_rrs SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validate_authority_rrs SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
    Validate response authority.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    port Number
    Port to target. Defaults to 53.
    protocol String
    TCP or UDP. Defaults to UDP.
    recordType String
    One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.
    server String
    DNS server address to target. Defaults to 8.8.8.8.
    sourceIpAddress String
    Source IP address.
    validRCodes List<String>
    List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.
    validateAdditionalRrs List<Property Map>
    Validate additional matches.
    validateAnswerRrs Property Map
    Validate response answer.
    validateAuthorityRrs Property Map
    Validate response authority.

    SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr, SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs

    FailIfMatchesRegexps List<string>
    Fail if value matches regex.
    FailIfNotMatchesRegexps List<string>
    Fail if value does not match regex.
    FailIfMatchesRegexps []string
    Fail if value matches regex.
    FailIfNotMatchesRegexps []string
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.
    failIfMatchesRegexps string[]
    Fail if value matches regex.
    failIfNotMatchesRegexps string[]
    Fail if value does not match regex.
    fail_if_matches_regexps Sequence[str]
    Fail if value matches regex.
    fail_if_not_matches_regexps Sequence[str]
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.

    SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs, SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs

    FailIfMatchesRegexps List<string>
    Fail if value matches regex.
    FailIfNotMatchesRegexps List<string>
    Fail if value does not match regex.
    FailIfMatchesRegexps []string
    Fail if value matches regex.
    FailIfNotMatchesRegexps []string
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.
    failIfMatchesRegexps string[]
    Fail if value matches regex.
    failIfNotMatchesRegexps string[]
    Fail if value does not match regex.
    fail_if_matches_regexps Sequence[str]
    Fail if value matches regex.
    fail_if_not_matches_regexps Sequence[str]
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.

    SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs, SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs

    FailIfMatchesRegexps List<string>
    Fail if value matches regex.
    FailIfNotMatchesRegexps List<string>
    Fail if value does not match regex.
    FailIfMatchesRegexps []string
    Fail if value matches regex.
    FailIfNotMatchesRegexps []string
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.
    failIfMatchesRegexps string[]
    Fail if value matches regex.
    failIfNotMatchesRegexps string[]
    Fail if value does not match regex.
    fail_if_matches_regexps Sequence[str]
    Fail if value matches regex.
    fail_if_not_matches_regexps Sequence[str]
    Fail if value does not match regex.
    failIfMatchesRegexps List<String>
    Fail if value matches regex.
    failIfNotMatchesRegexps List<String>
    Fail if value does not match regex.

    SyntheticMonitoringCheckSettingsHttp, SyntheticMonitoringCheckSettingsHttpArgs

    BasicAuth Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpBasicAuth
    Basic auth settings.
    BearerToken string
    Token for use with bearer authorization header.
    Body string
    The body of the HTTP request used in probe.
    CacheBustingQueryParamName string
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    FailIfBodyMatchesRegexps List<string>
    List of regexes. If any match the response body, the check will fail.
    FailIfBodyNotMatchesRegexps List<string>
    List of regexes. If any do not match the response body, the check will fail.
    FailIfHeaderMatchesRegexps List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp>
    Check fails if headers match.
    FailIfHeaderNotMatchesRegexps List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp>
    Check fails if headers do not match.
    FailIfNotSsl bool
    Fail if SSL is not present. Defaults to false.
    FailIfSsl bool
    Fail if SSL is present. Defaults to false.
    Headers List<string>
    The HTTP headers set for the probe.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    Method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    NoFollowRedirects bool
    Do not follow redirects. Defaults to false.
    ProxyConnectHeaders List<string>
    The HTTP headers sent to the proxy URL
    ProxyUrl string
    Proxy URL.
    TlsConfig Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsHttpTlsConfig
    TLS config.
    ValidHttpVersions List<string>
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    ValidStatusCodes List<int>
    Accepted status codes. If unset, defaults to 2xx.
    BasicAuth SyntheticMonitoringCheckSettingsHttpBasicAuth
    Basic auth settings.
    BearerToken string
    Token for use with bearer authorization header.
    Body string
    The body of the HTTP request used in probe.
    CacheBustingQueryParamName string
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    FailIfBodyMatchesRegexps []string
    List of regexes. If any match the response body, the check will fail.
    FailIfBodyNotMatchesRegexps []string
    List of regexes. If any do not match the response body, the check will fail.
    FailIfHeaderMatchesRegexps []SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp
    Check fails if headers match.
    FailIfHeaderNotMatchesRegexps []SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp
    Check fails if headers do not match.
    FailIfNotSsl bool
    Fail if SSL is not present. Defaults to false.
    FailIfSsl bool
    Fail if SSL is present. Defaults to false.
    Headers []string
    The HTTP headers set for the probe.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    Method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    NoFollowRedirects bool
    Do not follow redirects. Defaults to false.
    ProxyConnectHeaders []string
    The HTTP headers sent to the proxy URL
    ProxyUrl string
    Proxy URL.
    TlsConfig SyntheticMonitoringCheckSettingsHttpTlsConfig
    TLS config.
    ValidHttpVersions []string
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    ValidStatusCodes []int
    Accepted status codes. If unset, defaults to 2xx.
    basicAuth SyntheticMonitoringCheckSettingsHttpBasicAuth
    Basic auth settings.
    bearerToken String
    Token for use with bearer authorization header.
    body String
    The body of the HTTP request used in probe.
    cacheBustingQueryParamName String
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    failIfBodyMatchesRegexps List<String>
    List of regexes. If any match the response body, the check will fail.
    failIfBodyNotMatchesRegexps List<String>
    List of regexes. If any do not match the response body, the check will fail.
    failIfHeaderMatchesRegexps List<SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp>
    Check fails if headers match.
    failIfHeaderNotMatchesRegexps List<SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp>
    Check fails if headers do not match.
    failIfNotSsl Boolean
    Fail if SSL is not present. Defaults to false.
    failIfSsl Boolean
    Fail if SSL is present. Defaults to false.
    headers List<String>
    The HTTP headers set for the probe.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    method String
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    noFollowRedirects Boolean
    Do not follow redirects. Defaults to false.
    proxyConnectHeaders List<String>
    The HTTP headers sent to the proxy URL
    proxyUrl String
    Proxy URL.
    tlsConfig SyntheticMonitoringCheckSettingsHttpTlsConfig
    TLS config.
    validHttpVersions List<String>
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    validStatusCodes List<Integer>
    Accepted status codes. If unset, defaults to 2xx.
    basicAuth SyntheticMonitoringCheckSettingsHttpBasicAuth
    Basic auth settings.
    bearerToken string
    Token for use with bearer authorization header.
    body string
    The body of the HTTP request used in probe.
    cacheBustingQueryParamName string
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    failIfBodyMatchesRegexps string[]
    List of regexes. If any match the response body, the check will fail.
    failIfBodyNotMatchesRegexps string[]
    List of regexes. If any do not match the response body, the check will fail.
    failIfHeaderMatchesRegexps SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp[]
    Check fails if headers match.
    failIfHeaderNotMatchesRegexps SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp[]
    Check fails if headers do not match.
    failIfNotSsl boolean
    Fail if SSL is not present. Defaults to false.
    failIfSsl boolean
    Fail if SSL is present. Defaults to false.
    headers string[]
    The HTTP headers set for the probe.
    ipVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    noFollowRedirects boolean
    Do not follow redirects. Defaults to false.
    proxyConnectHeaders string[]
    The HTTP headers sent to the proxy URL
    proxyUrl string
    Proxy URL.
    tlsConfig SyntheticMonitoringCheckSettingsHttpTlsConfig
    TLS config.
    validHttpVersions string[]
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    validStatusCodes number[]
    Accepted status codes. If unset, defaults to 2xx.
    basic_auth SyntheticMonitoringCheckSettingsHttpBasicAuth
    Basic auth settings.
    bearer_token str
    Token for use with bearer authorization header.
    body str
    The body of the HTTP request used in probe.
    cache_busting_query_param_name str
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    fail_if_body_matches_regexps Sequence[str]
    List of regexes. If any match the response body, the check will fail.
    fail_if_body_not_matches_regexps Sequence[str]
    List of regexes. If any do not match the response body, the check will fail.
    fail_if_header_matches_regexps Sequence[SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp]
    Check fails if headers match.
    fail_if_header_not_matches_regexps Sequence[SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp]
    Check fails if headers do not match.
    fail_if_not_ssl bool
    Fail if SSL is not present. Defaults to false.
    fail_if_ssl bool
    Fail if SSL is present. Defaults to false.
    headers Sequence[str]
    The HTTP headers set for the probe.
    ip_version str
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    method str
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    no_follow_redirects bool
    Do not follow redirects. Defaults to false.
    proxy_connect_headers Sequence[str]
    The HTTP headers sent to the proxy URL
    proxy_url str
    Proxy URL.
    tls_config SyntheticMonitoringCheckSettingsHttpTlsConfig
    TLS config.
    valid_http_versions Sequence[str]
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    valid_status_codes Sequence[int]
    Accepted status codes. If unset, defaults to 2xx.
    basicAuth Property Map
    Basic auth settings.
    bearerToken String
    Token for use with bearer authorization header.
    body String
    The body of the HTTP request used in probe.
    cacheBustingQueryParamName String
    The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.
    failIfBodyMatchesRegexps List<String>
    List of regexes. If any match the response body, the check will fail.
    failIfBodyNotMatchesRegexps List<String>
    List of regexes. If any do not match the response body, the check will fail.
    failIfHeaderMatchesRegexps List<Property Map>
    Check fails if headers match.
    failIfHeaderNotMatchesRegexps List<Property Map>
    Check fails if headers do not match.
    failIfNotSsl Boolean
    Fail if SSL is not present. Defaults to false.
    failIfSsl Boolean
    Fail if SSL is present. Defaults to false.
    headers List<String>
    The HTTP headers set for the probe.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    method String
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    noFollowRedirects Boolean
    Do not follow redirects. Defaults to false.
    proxyConnectHeaders List<String>
    The HTTP headers sent to the proxy URL
    proxyUrl String
    Proxy URL.
    tlsConfig Property Map
    TLS config.
    validHttpVersions List<String>
    List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0
    validStatusCodes List<Number>
    Accepted status codes. If unset, defaults to 2xx.

    SyntheticMonitoringCheckSettingsHttpBasicAuth, SyntheticMonitoringCheckSettingsHttpBasicAuthArgs

    Password string
    Basic auth password.
    Username string
    Basic auth username.
    Password string
    Basic auth password.
    Username string
    Basic auth username.
    password String
    Basic auth password.
    username String
    Basic auth username.
    password string
    Basic auth password.
    username string
    Basic auth username.
    password str
    Basic auth password.
    username str
    Basic auth username.
    password String
    Basic auth password.
    username String
    Basic auth username.

    SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp, SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs

    Header string
    Header name.
    Regexp string
    Regex that header value should match.
    AllowMissing bool
    Allow header to be missing from responses. Defaults to false.
    Header string
    Header name.
    Regexp string
    Regex that header value should match.
    AllowMissing bool
    Allow header to be missing from responses. Defaults to false.
    header String
    Header name.
    regexp String
    Regex that header value should match.
    allowMissing Boolean
    Allow header to be missing from responses. Defaults to false.
    header string
    Header name.
    regexp string
    Regex that header value should match.
    allowMissing boolean
    Allow header to be missing from responses. Defaults to false.
    header str
    Header name.
    regexp str
    Regex that header value should match.
    allow_missing bool
    Allow header to be missing from responses. Defaults to false.
    header String
    Header name.
    regexp String
    Regex that header value should match.
    allowMissing Boolean
    Allow header to be missing from responses. Defaults to false.

    SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp, SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs

    Header string
    Header name.
    Regexp string
    Regex that header value should match.
    AllowMissing bool
    Allow header to be missing from responses. Defaults to false.
    Header string
    Header name.
    Regexp string
    Regex that header value should match.
    AllowMissing bool
    Allow header to be missing from responses. Defaults to false.
    header String
    Header name.
    regexp String
    Regex that header value should match.
    allowMissing Boolean
    Allow header to be missing from responses. Defaults to false.
    header string
    Header name.
    regexp string
    Regex that header value should match.
    allowMissing boolean
    Allow header to be missing from responses. Defaults to false.
    header str
    Header name.
    regexp str
    Regex that header value should match.
    allow_missing bool
    Allow header to be missing from responses. Defaults to false.
    header String
    Header name.
    regexp String
    Regex that header value should match.
    allowMissing Boolean
    Allow header to be missing from responses. Defaults to false.

    SyntheticMonitoringCheckSettingsHttpTlsConfig, SyntheticMonitoringCheckSettingsHttpTlsConfigArgs

    CaCert string
    CA certificate in PEM format.
    ClientCert string
    Client certificate in PEM format.
    ClientKey string
    Client key in PEM format.
    InsecureSkipVerify bool
    Disable target certificate validation. Defaults to false.
    ServerName string
    Used to verify the hostname for the targets.
    CaCert string
    CA certificate in PEM format.
    ClientCert string
    Client certificate in PEM format.
    ClientKey string
    Client key in PEM format.
    InsecureSkipVerify bool
    Disable target certificate validation. Defaults to false.
    ServerName string
    Used to verify the hostname for the targets.
    caCert String
    CA certificate in PEM format.
    clientCert String
    Client certificate in PEM format.
    clientKey String
    Client key in PEM format.
    insecureSkipVerify Boolean
    Disable target certificate validation. Defaults to false.
    serverName String
    Used to verify the hostname for the targets.
    caCert string
    CA certificate in PEM format.
    clientCert string
    Client certificate in PEM format.
    clientKey string
    Client key in PEM format.
    insecureSkipVerify boolean
    Disable target certificate validation. Defaults to false.
    serverName string
    Used to verify the hostname for the targets.
    ca_cert str
    CA certificate in PEM format.
    client_cert str
    Client certificate in PEM format.
    client_key str
    Client key in PEM format.
    insecure_skip_verify bool
    Disable target certificate validation. Defaults to false.
    server_name str
    Used to verify the hostname for the targets.
    caCert String
    CA certificate in PEM format.
    clientCert String
    Client certificate in PEM format.
    clientKey String
    Client key in PEM format.
    insecureSkipVerify Boolean
    Disable target certificate validation. Defaults to false.
    serverName String
    Used to verify the hostname for the targets.

    SyntheticMonitoringCheckSettingsMultihttp, SyntheticMonitoringCheckSettingsMultihttpArgs

    SyntheticMonitoringCheckSettingsMultihttpEntry, SyntheticMonitoringCheckSettingsMultihttpEntryArgs

    assertions List<Property Map>
    Assertions to make on the request response
    request Property Map
    An individual MultiHTTP request
    variables List<Property Map>
    Variables to extract from the request response

    SyntheticMonitoringCheckSettingsMultihttpEntryAssertion, SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs

    Type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    Condition string
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    Expression string
    The expression of the assertion. Should start with $.
    Subject string
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    Value string
    The value of the assertion
    Type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    Condition string
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    Expression string
    The expression of the assertion. Should start with $.
    Subject string
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    Value string
    The value of the assertion
    type String
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    condition String
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    expression String
    The expression of the assertion. Should start with $.
    subject String
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    value String
    The value of the assertion
    type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    condition string
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    expression string
    The expression of the assertion. Should start with $.
    subject string
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    value string
    The value of the assertion
    type str
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    condition str
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    expression str
    The expression of the assertion. Should start with $.
    subject str
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    value str
    The value of the assertion
    type String
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    condition String
    The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
    expression String
    The expression of the assertion. Should start with $.
    subject String
    The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
    value String
    The value of the assertion

    SyntheticMonitoringCheckSettingsMultihttpEntryRequest, SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs

    Method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    Url string
    The URL for the request
    Bodies List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody>
    The body of the HTTP request used in probe.
    Headers List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader>
    The HTTP headers set for the probe.
    QueryFields List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField>
    Query fields to send with the request
    Method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    Url string
    The URL for the request
    Bodies []SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody
    The body of the HTTP request used in probe.
    Headers []SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader
    The HTTP headers set for the probe.
    QueryFields []SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField
    Query fields to send with the request
    method String
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    url String
    The URL for the request
    bodies List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody>
    The body of the HTTP request used in probe.
    headers List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader>
    The HTTP headers set for the probe.
    queryFields List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField>
    Query fields to send with the request
    method string
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    url string
    The URL for the request
    bodies SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody[]
    The body of the HTTP request used in probe.
    headers SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader[]
    The HTTP headers set for the probe.
    queryFields SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField[]
    Query fields to send with the request
    method str
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    url str
    The URL for the request
    bodies Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody]
    The body of the HTTP request used in probe.
    headers Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader]
    The HTTP headers set for the probe.
    query_fields Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField]
    Query fields to send with the request
    method String
    Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.
    url String
    The URL for the request
    bodies List<Property Map>
    The body of the HTTP request used in probe.
    headers List<Property Map>
    The HTTP headers set for the probe.
    queryFields List<Property Map>
    Query fields to send with the request

    SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody, SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs

    ContentEncoding string
    The content encoding of the body
    ContentType string
    The content type of the body
    Payload string
    The body payload
    ContentEncoding string
    The content encoding of the body
    ContentType string
    The content type of the body
    Payload string
    The body payload
    contentEncoding String
    The content encoding of the body
    contentType String
    The content type of the body
    payload String
    The body payload
    contentEncoding string
    The content encoding of the body
    contentType string
    The content type of the body
    payload string
    The body payload
    content_encoding str
    The content encoding of the body
    content_type str
    The content type of the body
    payload str
    The body payload
    contentEncoding String
    The content encoding of the body
    contentType String
    The content type of the body
    payload String
    The body payload

    SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader, SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs

    Name string
    Name of the header to send
    Value string
    The value of the assertion
    Name string
    Name of the header to send
    Value string
    The value of the assertion
    name String
    Name of the header to send
    value String
    The value of the assertion
    name string
    Name of the header to send
    value string
    The value of the assertion
    name str
    Name of the header to send
    value str
    The value of the assertion
    name String
    Name of the header to send
    value String
    The value of the assertion

    SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField, SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs

    Name string
    Name of the header to send
    Value string
    The value of the assertion
    Name string
    Name of the header to send
    Value string
    The value of the assertion
    name String
    Name of the header to send
    value String
    The value of the assertion
    name string
    Name of the header to send
    value string
    The value of the assertion
    name str
    Name of the header to send
    value str
    The value of the assertion
    name String
    Name of the header to send
    value String
    The value of the assertion

    SyntheticMonitoringCheckSettingsMultihttpEntryVariable, SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs

    Type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    Attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    Expression string
    The expression of the assertion. Should start with $.
    Name string
    Name of the header to send
    Type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    Attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    Expression string
    The expression of the assertion. Should start with $.
    Name string
    Name of the header to send
    type String
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    attribute String
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression String
    The expression of the assertion. Should start with $.
    name String
    Name of the header to send
    type string
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression string
    The expression of the assertion. Should start with $.
    name string
    Name of the header to send
    type str
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    attribute str
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression str
    The expression of the assertion. Should start with $.
    name str
    Name of the header to send
    type String
    The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
    attribute String
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression String
    The expression of the assertion. Should start with $.
    name String
    Name of the header to send

    SyntheticMonitoringCheckSettingsPing, SyntheticMonitoringCheckSettingsPingArgs

    DontFragment bool
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    PayloadSize int
    Payload size. Defaults to 0.
    SourceIpAddress string
    Source IP address.
    DontFragment bool
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    PayloadSize int
    Payload size. Defaults to 0.
    SourceIpAddress string
    Source IP address.
    dontFragment Boolean
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    payloadSize Integer
    Payload size. Defaults to 0.
    sourceIpAddress String
    Source IP address.
    dontFragment boolean
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    ipVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    payloadSize number
    Payload size. Defaults to 0.
    sourceIpAddress string
    Source IP address.
    dont_fragment bool
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    ip_version str
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    payload_size int
    Payload size. Defaults to 0.
    source_ip_address str
    Source IP address.
    dontFragment Boolean
    Set the DF-bit in the IP-header. Only works with ipV4. Defaults to false.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    payloadSize Number
    Payload size. Defaults to 0.
    sourceIpAddress String
    Source IP address.

    SyntheticMonitoringCheckSettingsTcp, SyntheticMonitoringCheckSettingsTcpArgs

    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    QueryResponses List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpQueryResponse>
    The query sent in the TCP probe and the expected associated response.
    SourceIpAddress string
    Source IP address.
    Tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    TlsConfig Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTcpTlsConfig
    TLS config.
    IpVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    QueryResponses []SyntheticMonitoringCheckSettingsTcpQueryResponse
    The query sent in the TCP probe and the expected associated response.
    SourceIpAddress string
    Source IP address.
    Tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    TlsConfig SyntheticMonitoringCheckSettingsTcpTlsConfig
    TLS config.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    queryResponses List<SyntheticMonitoringCheckSettingsTcpQueryResponse>
    The query sent in the TCP probe and the expected associated response.
    sourceIpAddress String
    Source IP address.
    tls Boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig SyntheticMonitoringCheckSettingsTcpTlsConfig
    TLS config.
    ipVersion string
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    queryResponses SyntheticMonitoringCheckSettingsTcpQueryResponse[]
    The query sent in the TCP probe and the expected associated response.
    sourceIpAddress string
    Source IP address.
    tls boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig SyntheticMonitoringCheckSettingsTcpTlsConfig
    TLS config.
    ip_version str
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    query_responses Sequence[SyntheticMonitoringCheckSettingsTcpQueryResponse]
    The query sent in the TCP probe and the expected associated response.
    source_ip_address str
    Source IP address.
    tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tls_config SyntheticMonitoringCheckSettingsTcpTlsConfig
    TLS config.
    ipVersion String
    Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.
    queryResponses List<Property Map>
    The query sent in the TCP probe and the expected associated response.
    sourceIpAddress String
    Source IP address.
    tls Boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig Property Map
    TLS config.

    SyntheticMonitoringCheckSettingsTcpQueryResponse, SyntheticMonitoringCheckSettingsTcpQueryResponseArgs

    Expect string
    Response to expect.
    Send string
    Data to send.
    StartTls bool
    Upgrade TCP connection to TLS. Defaults to false.
    Expect string
    Response to expect.
    Send string
    Data to send.
    StartTls bool
    Upgrade TCP connection to TLS. Defaults to false.
    expect String
    Response to expect.
    send String
    Data to send.
    startTls Boolean
    Upgrade TCP connection to TLS. Defaults to false.
    expect string
    Response to expect.
    send string
    Data to send.
    startTls boolean
    Upgrade TCP connection to TLS. Defaults to false.
    expect str
    Response to expect.
    send str
    Data to send.
    start_tls bool
    Upgrade TCP connection to TLS. Defaults to false.
    expect String
    Response to expect.
    send String
    Data to send.
    startTls Boolean
    Upgrade TCP connection to TLS. Defaults to false.

    SyntheticMonitoringCheckSettingsTcpTlsConfig, SyntheticMonitoringCheckSettingsTcpTlsConfigArgs

    CaCert string
    CA certificate in PEM format.
    ClientCert string
    Client certificate in PEM format.
    ClientKey string
    Client key in PEM format.
    InsecureSkipVerify bool
    Disable target certificate validation. Defaults to false.
    ServerName string
    Used to verify the hostname for the targets.
    CaCert string
    CA certificate in PEM format.
    ClientCert string
    Client certificate in PEM format.
    ClientKey string
    Client key in PEM format.
    InsecureSkipVerify bool
    Disable target certificate validation. Defaults to false.
    ServerName string
    Used to verify the hostname for the targets.
    caCert String
    CA certificate in PEM format.
    clientCert String
    Client certificate in PEM format.
    clientKey String
    Client key in PEM format.
    insecureSkipVerify Boolean
    Disable target certificate validation. Defaults to false.
    serverName String
    Used to verify the hostname for the targets.
    caCert string
    CA certificate in PEM format.
    clientCert string
    Client certificate in PEM format.
    clientKey string
    Client key in PEM format.
    insecureSkipVerify boolean
    Disable target certificate validation. Defaults to false.
    serverName string
    Used to verify the hostname for the targets.
    ca_cert str
    CA certificate in PEM format.
    client_cert str
    Client certificate in PEM format.
    client_key str
    Client key in PEM format.
    insecure_skip_verify bool
    Disable target certificate validation. Defaults to false.
    server_name str
    Used to verify the hostname for the targets.
    caCert String
    CA certificate in PEM format.
    clientCert String
    Client certificate in PEM format.
    clientKey String
    Client key in PEM format.
    insecureSkipVerify Boolean
    Disable target certificate validation. Defaults to false.
    serverName String
    Used to verify the hostname for the targets.

    SyntheticMonitoringCheckSettingsTraceroute, SyntheticMonitoringCheckSettingsTracerouteArgs

    MaxHops int
    Maximum TTL for the trace Defaults to 64.
    MaxUnknownHops int
    Maximum number of hosts to travers that give no response Defaults to 15.
    PtrLookup bool
    Reverse lookup hostnames from IP addresses Defaults to true.
    MaxHops int
    Maximum TTL for the trace Defaults to 64.
    MaxUnknownHops int
    Maximum number of hosts to travers that give no response Defaults to 15.
    PtrLookup bool
    Reverse lookup hostnames from IP addresses Defaults to true.
    maxHops Integer
    Maximum TTL for the trace Defaults to 64.
    maxUnknownHops Integer
    Maximum number of hosts to travers that give no response Defaults to 15.
    ptrLookup Boolean
    Reverse lookup hostnames from IP addresses Defaults to true.
    maxHops number
    Maximum TTL for the trace Defaults to 64.
    maxUnknownHops number
    Maximum number of hosts to travers that give no response Defaults to 15.
    ptrLookup boolean
    Reverse lookup hostnames from IP addresses Defaults to true.
    max_hops int
    Maximum TTL for the trace Defaults to 64.
    max_unknown_hops int
    Maximum number of hosts to travers that give no response Defaults to 15.
    ptr_lookup bool
    Reverse lookup hostnames from IP addresses Defaults to true.
    maxHops Number
    Maximum TTL for the trace Defaults to 64.
    maxUnknownHops Number
    Maximum number of hosts to travers that give no response Defaults to 15.
    ptrLookup Boolean
    Reverse lookup hostnames from IP addresses Defaults to true.

    Import

    $ pulumi import grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck name "{{ id }}"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    grafana pulumiverse/pulumi-grafana
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the grafana Terraform Provider.
    grafana logo
    Grafana v0.5.1 published on Wednesday, Jun 12, 2024 by pulumiverse