1. Packages
  2. Grafana Cloud
  3. API Docs
  4. syntheticMonitoring
  5. Check
Grafana v0.7.0 published on Tuesday, Nov 5, 2024 by pulumiverse

grafana.syntheticMonitoring.Check

Explore with Pulumi AI

grafana logo
Grafana v0.7.0 published on Tuesday, Nov 5, 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.syntheticMonitoring.getProbes({});
    const dns = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    dns = grafana.synthetic_monitoring.Check("dns",
        job="DNS Defaults",
        target="grafana.com",
        enabled=False,
        probes=[main.probes["atlanta"]],
        labels={
            "foo": "bar",
        },
        settings={
            "dns": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "dns", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Dns: &syntheticmonitoring.CheckSettingsDnsArgs{},
    			},
    		})
    		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.SyntheticMonitoring.GetProbes.Invoke();
    
        var dns = new Grafana.SyntheticMonitoring.Check("dns", new()
        {
            Job = "DNS Defaults",
            Target = "grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Dns = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var dns = new Check("dns", CheckArgs.builder()
                .job("DNS Defaults")
                .target("grafana.com")
                .enabled(false)
                .probes(main.applyValue(getProbesResult -> getProbesResult.probes().atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .dns()
                    .build())
                .build());
    
        }
    }
    
    resources:
      dns:
        type: grafana:syntheticMonitoring:Check
        properties:
          job: DNS Defaults
          target: grafana.com
          enabled: false
          probes:
            - ${main.probes.atlanta}
          labels:
            foo: bar
          settings:
            dns: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:syntheticMonitoring:getProbes
          Arguments: {}
    

    DNS Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const dns = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    dns = grafana.synthetic_monitoring.Check("dns",
        job="DNS Updated",
        target="grafana.net",
        enabled=False,
        probes=[
            main.probes["frankfurt"],
            main.probes["london"],
        ],
        labels={
            "foo": "baz",
        },
        settings={
            "dns": {
                "ip_version": "Any",
                "server": "8.8.4.4",
                "port": 8600,
                "record_type": "CNAME",
                "protocol": "TCP",
                "valid_r_codes": [
                    "NOERROR",
                    "NOTAUTH",
                ],
                "validate_answer_rrs": {
                    "fail_if_matches_regexps": [".+-bad-stuff*"],
                    "fail_if_not_matches_regexps": [".+-good-stuff*"],
                },
                "validate_authority_rrs": {
                    "fail_if_matches_regexps": [".+-bad-stuff*"],
                    "fail_if_not_matches_regexps": [".+-good-stuff*"],
                },
                "validate_additional_rrs": [{
                    "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/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "dns", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Dns: &syntheticmonitoring.CheckSettingsDnsArgs{
    					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: &syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{
    						FailIfMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-bad-stuff*"),
    						},
    						FailIfNotMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-good-stuff*"),
    						},
    					},
    					ValidateAuthorityRrs: &syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{
    						FailIfMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-bad-stuff*"),
    						},
    						FailIfNotMatchesRegexps: pulumi.StringArray{
    							pulumi.String(".+-good-stuff*"),
    						},
    					},
    					ValidateAdditionalRrs: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{
    						&syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{
    							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.SyntheticMonitoring.GetProbes.Invoke();
    
        var dns = new Grafana.SyntheticMonitoring.Check("dns", new()
        {
            Job = "DNS Updated",
            Target = "grafana.net",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Frankfurt),
                main.Apply(getProbesResult => getProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs
                {
                    IpVersion = "Any",
                    Server = "8.8.4.4",
                    Port = 8600,
                    RecordType = "CNAME",
                    Protocol = "TCP",
                    ValidRCodes = new[]
                    {
                        "NOERROR",
                        "NOTAUTH",
                    },
                    ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            ".+-bad-stuff*",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            ".+-good-stuff*",
                        },
                    },
                    ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            ".+-bad-stuff*",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            ".+-good-stuff*",
                        },
                    },
                    ValidateAdditionalRrs = new[]
                    {
                        new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs
                        {
                            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.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAnswerRrsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAuthorityRrsArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var dns = new Check("dns", CheckArgs.builder()
                .job("DNS Updated")
                .target("grafana.net")
                .enabled(false)
                .probes(            
                    main.applyValue(getProbesResult -> getProbesResult.probes().frankfurt()),
                    main.applyValue(getProbesResult -> getProbesResult.probes().london()))
                .labels(Map.of("foo", "baz"))
                .settings(CheckSettingsArgs.builder()
                    .dns(CheckSettingsDnsArgs.builder()
                        .ipVersion("Any")
                        .server("8.8.4.4")
                        .port(8600)
                        .recordType("CNAME")
                        .protocol("TCP")
                        .validRCodes(                    
                            "NOERROR",
                            "NOTAUTH")
                        .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()
                            .failIfMatchesRegexps(".+-bad-stuff*")
                            .failIfNotMatchesRegexps(".+-good-stuff*")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      dns:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    HTTP Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const http = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    http = grafana.synthetic_monitoring.Check("http",
        job="HTTP Defaults",
        target="https://grafana.com",
        enabled=False,
        probes=[main.probes["atlanta"]],
        labels={
            "foo": "bar",
        },
        settings={
            "http": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "http", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Http: &syntheticmonitoring.CheckSettingsHttpArgs{},
    			},
    		})
    		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.SyntheticMonitoring.GetProbes.Invoke();
    
        var http = new Grafana.SyntheticMonitoring.Check("http", new()
        {
            Job = "HTTP Defaults",
            Target = "https://grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Http = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var http = new Check("http", CheckArgs.builder()
                .job("HTTP Defaults")
                .target("https://grafana.com")
                .enabled(false)
                .probes(main.applyValue(getProbesResult -> getProbesResult.probes().atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .http()
                    .build())
                .build());
    
        }
    }
    
    resources:
      http:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    HTTP Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const http = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    http = grafana.synthetic_monitoring.Check("http",
        job="HTTP Defaults",
        target="https://grafana.org",
        enabled=False,
        probes=[
            main.probes["bangalore"],
            main.probes["mumbai"],
        ],
        labels={
            "foo": "bar",
        },
        settings={
            "http": {
                "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": {
                    "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": {
                    "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": [{
                    "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/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "http", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Http: &syntheticmonitoring.CheckSettingsHttpArgs{
    					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: &syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{
    						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: &syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{
    						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: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{
    						&syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{
    							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.SyntheticMonitoring.GetProbes.Invoke();
    
        var http = new Grafana.SyntheticMonitoring.Check("http", new()
        {
            Job = "HTTP Defaults",
            Target = "https://grafana.org",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Bangalore),
                main.Apply(getProbesResult => getProbesResult.Probes?.Mumbai),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs
                {
                    IpVersion = "V6",
                    Method = "TRACE",
                    Body = "and spirit",
                    NoFollowRedirects = true,
                    BearerToken = "asdfjkl;",
                    ProxyUrl = "https://almost-there",
                    FailIfSsl = true,
                    FailIfNotSsl = true,
                    CacheBustingQueryParamName = "pineapple",
                    TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs
                    {
                        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.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs
                    {
                        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.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs
                        {
                            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.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpTlsConfigArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpBasicAuthArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var http = new Check("http", CheckArgs.builder()
                .job("HTTP Defaults")
                .target("https://grafana.org")
                .enabled(false)
                .probes(            
                    main.applyValue(getProbesResult -> getProbesResult.probes().bangalore()),
                    main.applyValue(getProbesResult -> getProbesResult.probes().mumbai()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .http(CheckSettingsHttpArgs.builder()
                        .ipVersion("V6")
                        .method("TRACE")
                        .body("and spirit")
                        .noFollowRedirects(true)
                        .bearerToken("asdfjkl;")
                        .proxyUrl("https://almost-there")
                        .failIfSsl(true)
                        .failIfNotSsl(true)
                        .cacheBustingQueryParamName("pineapple")
                        .tlsConfig(CheckSettingsHttpTlsConfigArgs.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(CheckSettingsHttpBasicAuthArgs.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(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()
                            .header("Content-Type")
                            .regexp("application/soap*")
                            .allowMissing(true)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      http:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    Ping Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const ping = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    ping = grafana.synthetic_monitoring.Check("ping",
        job="Ping Defaults",
        target="grafana.com",
        enabled=False,
        probes=[main.probes["atlanta"]],
        labels={
            "foo": "bar",
        },
        settings={
            "ping": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "ping", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Ping: &syntheticmonitoring.CheckSettingsPingArgs{},
    			},
    		})
    		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.SyntheticMonitoring.GetProbes.Invoke();
    
        var ping = new Grafana.SyntheticMonitoring.Check("ping", new()
        {
            Job = "Ping Defaults",
            Target = "grafana.com",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Ping = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var ping = new Check("ping", CheckArgs.builder()
                .job("Ping Defaults")
                .target("grafana.com")
                .enabled(false)
                .probes(main.applyValue(getProbesResult -> getProbesResult.probes().atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .ping()
                    .build())
                .build());
    
        }
    }
    
    resources:
      ping:
        type: grafana:syntheticMonitoring:Check
        properties:
          job: Ping Defaults
          target: grafana.com
          enabled: false
          probes:
            - ${main.probes.atlanta}
          labels:
            foo: bar
          settings:
            ping: {}
    variables:
      main:
        fn::invoke:
          Function: grafana:syntheticMonitoring:getProbes
          Arguments: {}
    

    Ping Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const ping = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    ping = grafana.synthetic_monitoring.Check("ping",
        job="Ping Updated",
        target="grafana.net",
        enabled=False,
        probes=[
            main.probes["frankfurt"],
            main.probes["london"],
        ],
        labels={
            "foo": "baz",
        },
        settings={
            "ping": {
                "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/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "ping", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Ping: &syntheticmonitoring.CheckSettingsPingArgs{
    					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.SyntheticMonitoring.GetProbes.Invoke();
    
        var ping = new Grafana.SyntheticMonitoring.Check("ping", new()
        {
            Job = "Ping Updated",
            Target = "grafana.net",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Frankfurt),
                main.Apply(getProbesResult => getProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs
                {
                    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.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var ping = new Check("ping", CheckArgs.builder()
                .job("Ping Updated")
                .target("grafana.net")
                .enabled(false)
                .probes(            
                    main.applyValue(getProbesResult -> getProbesResult.probes().frankfurt()),
                    main.applyValue(getProbesResult -> getProbesResult.probes().london()))
                .labels(Map.of("foo", "baz"))
                .settings(CheckSettingsArgs.builder()
                    .ping(CheckSettingsPingArgs.builder()
                        .ipVersion("Any")
                        .payloadSize(20)
                        .dontFragment(true)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      ping:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    TCP Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const tcp = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    tcp = grafana.synthetic_monitoring.Check("tcp",
        job="TCP Defaults",
        target="grafana.com:80",
        enabled=False,
        probes=[main.probes["atlanta"]],
        labels={
            "foo": "bar",
        },
        settings={
            "tcp": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "tcp", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Tcp: &syntheticmonitoring.CheckSettingsTcpArgs{},
    			},
    		})
    		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.SyntheticMonitoring.GetProbes.Invoke();
    
        var tcp = new Grafana.SyntheticMonitoring.Check("tcp", new()
        {
            Job = "TCP Defaults",
            Target = "grafana.com:80",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Tcp = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var tcp = new Check("tcp", CheckArgs.builder()
                .job("TCP Defaults")
                .target("grafana.com:80")
                .enabled(false)
                .probes(main.applyValue(getProbesResult -> getProbesResult.probes().atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .tcp()
                    .build())
                .build());
    
        }
    }
    
    resources:
      tcp:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    TCP Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const tcp = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    tcp = grafana.synthetic_monitoring.Check("tcp",
        job="TCP Defaults",
        target="grafana.com:443",
        enabled=False,
        probes=[
            main.probes["frankfurt"],
            main.probes["london"],
        ],
        labels={
            "foo": "baz",
        },
        settings={
            "tcp": {
                "ip_version": "V6",
                "tls": True,
                "query_responses": [
                    {
                        "send": "howdy",
                        "expect": "hi",
                    },
                    {
                        "send": "like this",
                        "expect": "like that",
                        "start_tls": True,
                    },
                ],
                "tls_config": {
                    "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/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "tcp", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Tcp: &syntheticmonitoring.CheckSettingsTcpArgs{
    					IpVersion: pulumi.String("V6"),
    					Tls:       pulumi.Bool(true),
    					QueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{
    						&syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{
    							Send:   pulumi.String("howdy"),
    							Expect: pulumi.String("hi"),
    						},
    						&syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{
    							Send:     pulumi.String("like this"),
    							Expect:   pulumi.String("like that"),
    							StartTls: pulumi.Bool(true),
    						},
    					},
    					TlsConfig: &syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{
    						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.SyntheticMonitoring.GetProbes.Invoke();
    
        var tcp = new Grafana.SyntheticMonitoring.Check("tcp", new()
        {
            Job = "TCP Defaults",
            Target = "grafana.com:443",
            Enabled = false,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Frankfurt),
                main.Apply(getProbesResult => getProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs
                {
                    IpVersion = "V6",
                    Tls = true,
                    QueryResponses = new[]
                    {
                        new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs
                        {
                            Send = "howdy",
                            Expect = "hi",
                        },
                        new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs
                        {
                            Send = "like this",
                            Expect = "like that",
                            StartTls = true,
                        },
                    },
                    TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs
                    {
                        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.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpTlsConfigArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var tcp = new Check("tcp", CheckArgs.builder()
                .job("TCP Defaults")
                .target("grafana.com:443")
                .enabled(false)
                .probes(            
                    main.applyValue(getProbesResult -> getProbesResult.probes().frankfurt()),
                    main.applyValue(getProbesResult -> getProbesResult.probes().london()))
                .labels(Map.of("foo", "baz"))
                .settings(CheckSettingsArgs.builder()
                    .tcp(CheckSettingsTcpArgs.builder()
                        .ipVersion("V6")
                        .tls(true)
                        .queryResponses(                    
                            CheckSettingsTcpQueryResponseArgs.builder()
                                .send("howdy")
                                .expect("hi")
                                .build(),
                            CheckSettingsTcpQueryResponseArgs.builder()
                                .send("like this")
                                .expect("like that")
                                .startTls(true)
                                .build())
                        .tlsConfig(CheckSettingsTcpTlsConfigArgs.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:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    Traceroute Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const traceroute = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    traceroute = grafana.synthetic_monitoring.Check("traceroute",
        job="Traceroute defaults",
        target="grafana.com",
        enabled=False,
        frequency=120000,
        timeout=30000,
        probes=[main.probes["atlanta"]],
        labels={
            "foo": "bar",
        },
        settings={
            "traceroute": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "traceroute", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Traceroute: &syntheticmonitoring.CheckSettingsTracerouteArgs{},
    			},
    		})
    		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.SyntheticMonitoring.GetProbes.Invoke();
    
        var traceroute = new Grafana.SyntheticMonitoring.Check("traceroute", new()
        {
            Job = "Traceroute defaults",
            Target = "grafana.com",
            Enabled = false,
            Frequency = 120000,
            Timeout = 30000,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
            },
            Labels = 
            {
                { "foo", "bar" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Traceroute = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var traceroute = new Check("traceroute", CheckArgs.builder()
                .job("Traceroute defaults")
                .target("grafana.com")
                .enabled(false)
                .frequency(120000)
                .timeout(30000)
                .probes(main.applyValue(getProbesResult -> getProbesResult.probes().atlanta()))
                .labels(Map.of("foo", "bar"))
                .settings(CheckSettingsArgs.builder()
                    .traceroute()
                    .build())
                .build());
    
        }
    }
    
    resources:
      traceroute:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    Traceroute Complex

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumi/grafana";
    import * as grafana from "@pulumiverse/grafana";
    
    const main = grafana.syntheticMonitoring.getProbes({});
    const traceroute = new grafana.syntheticmonitoring.Check("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.syntheticMonitoring.get_probes()
    traceroute = grafana.synthetic_monitoring.Check("traceroute",
        job="Traceroute complex",
        target="grafana.net",
        enabled=False,
        frequency=120000,
        timeout=30000,
        probes=[
            main.probes["frankfurt"],
            main.probes["london"],
        ],
        labels={
            "foo": "baz",
        },
        settings={
            "traceroute": {
                "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/syntheticMonitoring"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := syntheticMonitoring.GetProbes(ctx, &syntheticmonitoring.GetProbesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = syntheticMonitoring.NewCheck(ctx, "traceroute", &syntheticMonitoring.CheckArgs{
    			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: &syntheticmonitoring.CheckSettingsArgs{
    				Traceroute: &syntheticmonitoring.CheckSettingsTracerouteArgs{
    					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.SyntheticMonitoring.GetProbes.Invoke();
    
        var traceroute = new Grafana.SyntheticMonitoring.Check("traceroute", new()
        {
            Job = "Traceroute complex",
            Target = "grafana.net",
            Enabled = false,
            Frequency = 120000,
            Timeout = 30000,
            Probes = new[]
            {
                main.Apply(getProbesResult => getProbesResult.Probes?.Frankfurt),
                main.Apply(getProbesResult => getProbesResult.Probes?.London),
            },
            Labels = 
            {
                { "foo", "baz" },
            },
            Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
            {
                Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs
                {
                    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.syntheticMonitoring.SyntheticMonitoringFunctions;
    import com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;
    import com.pulumi.grafana.syntheticMonitoring.Check;
    import com.pulumi.grafana.syntheticMonitoring.CheckArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;
    import com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;
    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 = SyntheticMonitoringFunctions.getProbes();
    
            var traceroute = new Check("traceroute", CheckArgs.builder()
                .job("Traceroute complex")
                .target("grafana.net")
                .enabled(false)
                .frequency(120000)
                .timeout(30000)
                .probes(            
                    main.applyValue(getProbesResult -> getProbesResult.probes().frankfurt()),
                    main.applyValue(getProbesResult -> getProbesResult.probes().london()))
                .labels(Map.of("foo", "baz"))
                .settings(CheckSettingsArgs.builder()
                    .traceroute(CheckSettingsTracerouteArgs.builder()
                        .maxHops(25)
                        .maxUnknownHops(10)
                        .ptrLookup(false)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      traceroute:
        type: grafana:syntheticMonitoring:Check
        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:syntheticMonitoring:getProbes
          Arguments: {}
    

    Create Check Resource

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

    Constructor syntax

    new Check(name: string, args: CheckArgs, opts?: CustomResourceOptions);
    @overload
    def Check(resource_name: str,
              args: CheckArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Check(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              job: Optional[str] = None,
              probes: Optional[Sequence[int]] = None,
              settings: Optional[_syntheticmonitoring.CheckSettingsArgs] = 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 NewCheck(ctx *Context, name string, args CheckArgs, opts ...ResourceOption) (*Check, error)
    public Check(string name, CheckArgs args, CustomResourceOptions? opts = null)
    public Check(String name, CheckArgs args)
    public Check(String name, CheckArgs args, CustomResourceOptions options)
    
    type: grafana:syntheticMonitoring:Check
    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 CheckArgs
    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 CheckArgs
    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 CheckArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CheckArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CheckArgs
    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 checkResource = new Grafana.SyntheticMonitoring.Check("checkResource", new()
    {
        Job = "string",
        Probes = new[]
        {
            0,
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs
            {
                IpVersion = "string",
                Port = 0,
                Protocol = "string",
                RecordType = "string",
                Server = "string",
                SourceIpAddress = "string",
                ValidRCodes = new[]
                {
                    "string",
                },
                ValidateAdditionalRrs = new[]
                {
                    new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs
                    {
                        FailIfMatchesRegexps = new[]
                        {
                            "string",
                        },
                        FailIfNotMatchesRegexps = new[]
                        {
                            "string",
                        },
                    },
                },
                ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs
                {
                    FailIfMatchesRegexps = new[]
                    {
                        "string",
                    },
                    FailIfNotMatchesRegexps = new[]
                    {
                        "string",
                    },
                },
                ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs
                {
                    FailIfMatchesRegexps = new[]
                    {
                        "string",
                    },
                    FailIfNotMatchesRegexps = new[]
                    {
                        "string",
                    },
                },
            },
            Grpc = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsGrpcArgs
            {
                IpVersion = "string",
                Service = "string",
                Tls = false,
                TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsGrpcTlsConfigArgs
                {
                    CaCert = "string",
                    ClientCert = "string",
                    ClientKey = "string",
                    InsecureSkipVerify = false,
                    ServerName = "string",
                },
            },
            Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs
            {
                BasicAuth = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs
                {
                    Password = "string",
                    Username = "string",
                },
                BearerToken = "string",
                Body = "string",
                CacheBustingQueryParamName = "string",
                FailIfBodyMatchesRegexps = new[]
                {
                    "string",
                },
                FailIfBodyNotMatchesRegexps = new[]
                {
                    "string",
                },
                FailIfHeaderMatchesRegexps = new[]
                {
                    new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs
                    {
                        Header = "string",
                        Regexp = "string",
                        AllowMissing = false,
                    },
                },
                FailIfHeaderNotMatchesRegexps = new[]
                {
                    new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs
                    {
                        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.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs
                {
                    CaCert = "string",
                    ClientCert = "string",
                    ClientKey = "string",
                    InsecureSkipVerify = false,
                    ServerName = "string",
                },
                ValidHttpVersions = new[]
                {
                    "string",
                },
                ValidStatusCodes = new[]
                {
                    0,
                },
            },
            Multihttp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpArgs
            {
                Entries = new[]
                {
                    new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryArgs
                    {
                        Assertions = new[]
                        {
                            new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryAssertionArgs
                            {
                                Type = "string",
                                Condition = "string",
                                Expression = "string",
                                Subject = "string",
                                Value = "string",
                            },
                        },
                        Request = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryRequestArgs
                        {
                            Method = "string",
                            Url = "string",
                            Bodies = new[]
                            {
                                new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryRequestBodyArgs
                                {
                                    ContentEncoding = "string",
                                    ContentType = "string",
                                    Payload = "string",
                                },
                            },
                            Headers = new[]
                            {
                                new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryRequestHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            QueryFields = new[]
                            {
                                new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryRequestQueryFieldArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                        },
                        Variables = new[]
                        {
                            new Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttpEntryVariableArgs
                            {
                                Type = "string",
                                Attribute = "string",
                                Expression = "string",
                                Name = "string",
                            },
                        },
                    },
                },
            },
            Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs
            {
                DontFragment = false,
                IpVersion = "string",
                PayloadSize = 0,
                SourceIpAddress = "string",
            },
            Scripted = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsScriptedArgs
            {
                Script = "string",
            },
            Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs
            {
                IpVersion = "string",
                QueryResponses = new[]
                {
                    new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs
                    {
                        Expect = "string",
                        Send = "string",
                        StartTls = false,
                    },
                },
                SourceIpAddress = "string",
                Tls = false,
                TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs
                {
                    CaCert = "string",
                    ClientCert = "string",
                    ClientKey = "string",
                    InsecureSkipVerify = false,
                    ServerName = "string",
                },
            },
            Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs
            {
                MaxHops = 0,
                MaxUnknownHops = 0,
                PtrLookup = false,
            },
        },
        Target = "string",
        AlertSensitivity = "string",
        BasicMetricsOnly = false,
        Enabled = false,
        Frequency = 0,
        Labels = 
        {
            { "string", "string" },
        },
        Timeout = 0,
    });
    
    example, err := syntheticMonitoring.NewCheck(ctx, "checkResource", &syntheticMonitoring.CheckArgs{
    	Job: pulumi.String("string"),
    	Probes: pulumi.IntArray{
    		pulumi.Int(0),
    	},
    	Settings: &syntheticmonitoring.CheckSettingsArgs{
    		Dns: &syntheticmonitoring.CheckSettingsDnsArgs{
    			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: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{
    				&syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{
    					FailIfMatchesRegexps: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					FailIfNotMatchesRegexps: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			ValidateAnswerRrs: &syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{
    				FailIfMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FailIfNotMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			ValidateAuthorityRrs: &syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{
    				FailIfMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FailIfNotMatchesRegexps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		Grpc: &syntheticmonitoring.CheckSettingsGrpcArgs{
    			IpVersion: pulumi.String("string"),
    			Service:   pulumi.String("string"),
    			Tls:       pulumi.Bool(false),
    			TlsConfig: &syntheticmonitoring.CheckSettingsGrpcTlsConfigArgs{
    				CaCert:             pulumi.String("string"),
    				ClientCert:         pulumi.String("string"),
    				ClientKey:          pulumi.String("string"),
    				InsecureSkipVerify: pulumi.Bool(false),
    				ServerName:         pulumi.String("string"),
    			},
    		},
    		Http: &syntheticmonitoring.CheckSettingsHttpArgs{
    			BasicAuth: &syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{
    				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: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{
    				&syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{
    					Header:       pulumi.String("string"),
    					Regexp:       pulumi.String("string"),
    					AllowMissing: pulumi.Bool(false),
    				},
    			},
    			FailIfHeaderNotMatchesRegexps: syntheticmonitoring.CheckSettingsHttpFailIfHeaderNotMatchesRegexpArray{
    				&syntheticmonitoring.CheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs{
    					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: &syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{
    				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: &syntheticmonitoring.CheckSettingsMultihttpArgs{
    			Entries: syntheticmonitoring.CheckSettingsMultihttpEntryArray{
    				&syntheticmonitoring.CheckSettingsMultihttpEntryArgs{
    					Assertions: syntheticmonitoring.CheckSettingsMultihttpEntryAssertionArray{
    						&syntheticmonitoring.CheckSettingsMultihttpEntryAssertionArgs{
    							Type:       pulumi.String("string"),
    							Condition:  pulumi.String("string"),
    							Expression: pulumi.String("string"),
    							Subject:    pulumi.String("string"),
    							Value:      pulumi.String("string"),
    						},
    					},
    					Request: &syntheticmonitoring.CheckSettingsMultihttpEntryRequestArgs{
    						Method: pulumi.String("string"),
    						Url:    pulumi.String("string"),
    						Bodies: syntheticmonitoring.CheckSettingsMultihttpEntryRequestBodyArray{
    							&syntheticmonitoring.CheckSettingsMultihttpEntryRequestBodyArgs{
    								ContentEncoding: pulumi.String("string"),
    								ContentType:     pulumi.String("string"),
    								Payload:         pulumi.String("string"),
    							},
    						},
    						Headers: syntheticmonitoring.CheckSettingsMultihttpEntryRequestHeaderArray{
    							&syntheticmonitoring.CheckSettingsMultihttpEntryRequestHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						QueryFields: syntheticmonitoring.CheckSettingsMultihttpEntryRequestQueryFieldArray{
    							&syntheticmonitoring.CheckSettingsMultihttpEntryRequestQueryFieldArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    					},
    					Variables: syntheticmonitoring.CheckSettingsMultihttpEntryVariableArray{
    						&syntheticmonitoring.CheckSettingsMultihttpEntryVariableArgs{
    							Type:       pulumi.String("string"),
    							Attribute:  pulumi.String("string"),
    							Expression: pulumi.String("string"),
    							Name:       pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		Ping: &syntheticmonitoring.CheckSettingsPingArgs{
    			DontFragment:    pulumi.Bool(false),
    			IpVersion:       pulumi.String("string"),
    			PayloadSize:     pulumi.Int(0),
    			SourceIpAddress: pulumi.String("string"),
    		},
    		Scripted: &syntheticmonitoring.CheckSettingsScriptedArgs{
    			Script: pulumi.String("string"),
    		},
    		Tcp: &syntheticmonitoring.CheckSettingsTcpArgs{
    			IpVersion: pulumi.String("string"),
    			QueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{
    				&syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{
    					Expect:   pulumi.String("string"),
    					Send:     pulumi.String("string"),
    					StartTls: pulumi.Bool(false),
    				},
    			},
    			SourceIpAddress: pulumi.String("string"),
    			Tls:             pulumi.Bool(false),
    			TlsConfig: &syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{
    				CaCert:             pulumi.String("string"),
    				ClientCert:         pulumi.String("string"),
    				ClientKey:          pulumi.String("string"),
    				InsecureSkipVerify: pulumi.Bool(false),
    				ServerName:         pulumi.String("string"),
    			},
    		},
    		Traceroute: &syntheticmonitoring.CheckSettingsTracerouteArgs{
    			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 checkResource = new Check("checkResource", CheckArgs.builder()
        .job("string")
        .probes(0)
        .settings(CheckSettingsArgs.builder()
            .dns(CheckSettingsDnsArgs.builder()
                .ipVersion("string")
                .port(0)
                .protocol("string")
                .recordType("string")
                .server("string")
                .sourceIpAddress("string")
                .validRCodes("string")
                .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()
                    .failIfMatchesRegexps("string")
                    .failIfNotMatchesRegexps("string")
                    .build())
                .build())
            .grpc(CheckSettingsGrpcArgs.builder()
                .ipVersion("string")
                .service("string")
                .tls(false)
                .tlsConfig(CheckSettingsGrpcTlsConfigArgs.builder()
                    .caCert("string")
                    .clientCert("string")
                    .clientKey("string")
                    .insecureSkipVerify(false)
                    .serverName("string")
                    .build())
                .build())
            .http(CheckSettingsHttpArgs.builder()
                .basicAuth(CheckSettingsHttpBasicAuthArgs.builder()
                    .password("string")
                    .username("string")
                    .build())
                .bearerToken("string")
                .body("string")
                .cacheBustingQueryParamName("string")
                .failIfBodyMatchesRegexps("string")
                .failIfBodyNotMatchesRegexps("string")
                .failIfHeaderMatchesRegexps(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()
                    .header("string")
                    .regexp("string")
                    .allowMissing(false)
                    .build())
                .failIfHeaderNotMatchesRegexps(CheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs.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(CheckSettingsHttpTlsConfigArgs.builder()
                    .caCert("string")
                    .clientCert("string")
                    .clientKey("string")
                    .insecureSkipVerify(false)
                    .serverName("string")
                    .build())
                .validHttpVersions("string")
                .validStatusCodes(0)
                .build())
            .multihttp(CheckSettingsMultihttpArgs.builder()
                .entries(CheckSettingsMultihttpEntryArgs.builder()
                    .assertions(CheckSettingsMultihttpEntryAssertionArgs.builder()
                        .type("string")
                        .condition("string")
                        .expression("string")
                        .subject("string")
                        .value("string")
                        .build())
                    .request(CheckSettingsMultihttpEntryRequestArgs.builder()
                        .method("string")
                        .url("string")
                        .bodies(CheckSettingsMultihttpEntryRequestBodyArgs.builder()
                            .contentEncoding("string")
                            .contentType("string")
                            .payload("string")
                            .build())
                        .headers(CheckSettingsMultihttpEntryRequestHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .queryFields(CheckSettingsMultihttpEntryRequestQueryFieldArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .build())
                    .variables(CheckSettingsMultihttpEntryVariableArgs.builder()
                        .type("string")
                        .attribute("string")
                        .expression("string")
                        .name("string")
                        .build())
                    .build())
                .build())
            .ping(CheckSettingsPingArgs.builder()
                .dontFragment(false)
                .ipVersion("string")
                .payloadSize(0)
                .sourceIpAddress("string")
                .build())
            .scripted(CheckSettingsScriptedArgs.builder()
                .script("string")
                .build())
            .tcp(CheckSettingsTcpArgs.builder()
                .ipVersion("string")
                .queryResponses(CheckSettingsTcpQueryResponseArgs.builder()
                    .expect("string")
                    .send("string")
                    .startTls(false)
                    .build())
                .sourceIpAddress("string")
                .tls(false)
                .tlsConfig(CheckSettingsTcpTlsConfigArgs.builder()
                    .caCert("string")
                    .clientCert("string")
                    .clientKey("string")
                    .insecureSkipVerify(false)
                    .serverName("string")
                    .build())
                .build())
            .traceroute(CheckSettingsTracerouteArgs.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());
    
    check_resource = grafana.synthetic_monitoring.Check("checkResource",
        job="string",
        probes=[0],
        settings={
            "dns": {
                "ip_version": "string",
                "port": 0,
                "protocol": "string",
                "record_type": "string",
                "server": "string",
                "source_ip_address": "string",
                "valid_r_codes": ["string"],
                "validate_additional_rrs": [{
                    "fail_if_matches_regexps": ["string"],
                    "fail_if_not_matches_regexps": ["string"],
                }],
                "validate_answer_rrs": {
                    "fail_if_matches_regexps": ["string"],
                    "fail_if_not_matches_regexps": ["string"],
                },
                "validate_authority_rrs": {
                    "fail_if_matches_regexps": ["string"],
                    "fail_if_not_matches_regexps": ["string"],
                },
            },
            "grpc": {
                "ip_version": "string",
                "service": "string",
                "tls": False,
                "tls_config": {
                    "ca_cert": "string",
                    "client_cert": "string",
                    "client_key": "string",
                    "insecure_skip_verify": False,
                    "server_name": "string",
                },
            },
            "http": {
                "basic_auth": {
                    "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": [{
                    "header": "string",
                    "regexp": "string",
                    "allow_missing": False,
                }],
                "fail_if_header_not_matches_regexps": [{
                    "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": {
                    "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": {
                "entries": [{
                    "assertions": [{
                        "type": "string",
                        "condition": "string",
                        "expression": "string",
                        "subject": "string",
                        "value": "string",
                    }],
                    "request": {
                        "method": "string",
                        "url": "string",
                        "bodies": [{
                            "content_encoding": "string",
                            "content_type": "string",
                            "payload": "string",
                        }],
                        "headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "query_fields": [{
                            "name": "string",
                            "value": "string",
                        }],
                    },
                    "variables": [{
                        "type": "string",
                        "attribute": "string",
                        "expression": "string",
                        "name": "string",
                    }],
                }],
            },
            "ping": {
                "dont_fragment": False,
                "ip_version": "string",
                "payload_size": 0,
                "source_ip_address": "string",
            },
            "scripted": {
                "script": "string",
            },
            "tcp": {
                "ip_version": "string",
                "query_responses": [{
                    "expect": "string",
                    "send": "string",
                    "start_tls": False,
                }],
                "source_ip_address": "string",
                "tls": False,
                "tls_config": {
                    "ca_cert": "string",
                    "client_cert": "string",
                    "client_key": "string",
                    "insecure_skip_verify": False,
                    "server_name": "string",
                },
            },
            "traceroute": {
                "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 checkResource = new grafana.syntheticmonitoring.Check("checkResource", {
        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"],
                },
            },
            grpc: {
                ipVersion: "string",
                service: "string",
                tls: false,
                tlsConfig: {
                    caCert: "string",
                    clientCert: "string",
                    clientKey: "string",
                    insecureSkipVerify: false,
                    serverName: "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",
            },
            scripted: {
                script: "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:syntheticMonitoring:Check
    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
            grpc:
                ipVersion: string
                service: string
                tls: false
                tlsConfig:
                    caCert: string
                    clientCert: string
                    clientKey: string
                    insecureSkipVerify: false
                    serverName: 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
            scripted:
                script: 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
    

    Check Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Check 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.SyntheticMonitoring.Inputs.CheckSettings
    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 CheckSettingsArgs
    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 CheckSettings
    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 CheckSettings
    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 syntheticmonitoring.CheckSettingsArgs
    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 Check 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 Check Resource

    Get an existing Check 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?: CheckState, opts?: CustomResourceOptions): Check
    @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[_syntheticmonitoring.CheckSettingsArgs] = None,
            target: Optional[str] = None,
            tenant_id: Optional[int] = None,
            timeout: Optional[int] = None) -> Check
    func GetCheck(ctx *Context, name string, id IDInput, state *CheckState, opts ...ResourceOption) (*Check, error)
    public static Check Get(string name, Input<string> id, CheckState? state, CustomResourceOptions? opts = null)
    public static Check get(String name, Output<String> id, CheckState 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.SyntheticMonitoring.Inputs.CheckSettings
    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 CheckSettingsArgs
    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 CheckSettings
    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 CheckSettings
    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 syntheticmonitoring.CheckSettingsArgs
    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

    CheckSettings, CheckSettingsArgs

    Dns Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    Grpc Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsGrpc
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    Http Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    Multihttp Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    Ping Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    Scripted Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsScripted
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    Tcp Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcp
    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.SyntheticMonitoring.Inputs.CheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    Dns CheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    Grpc CheckSettingsGrpc
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    Http CheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    Multihttp CheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    Ping CheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    Scripted CheckSettingsScripted
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    Tcp CheckSettingsTcp
    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 CheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns CheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    grpc CheckSettingsGrpc
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    http CheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp CheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping CheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    scripted CheckSettingsScripted
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    tcp CheckSettingsTcp
    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 CheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns CheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    grpc CheckSettingsGrpc
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    http CheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp CheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping CheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    scripted CheckSettingsScripted
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    tcp CheckSettingsTcp
    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 CheckSettingsTraceroute
    Settings for traceroute check. The target must be a valid hostname or IP address
    dns syntheticmonitoring.CheckSettingsDns
    Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
    grpc syntheticmonitoring.CheckSettingsGrpc
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    http syntheticmonitoring.CheckSettingsHttp
    Settings for HTTP check. The target must be a URL (http or https).
    multihttp syntheticmonitoring.CheckSettingsMultihttp
    Settings for MultiHTTP check. The target must be a URL (http or https)
    ping syntheticmonitoring.CheckSettingsPing
    Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
    scripted syntheticmonitoring.CheckSettingsScripted
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    tcp syntheticmonitoring.CheckSettingsTcp
    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 syntheticmonitoring.CheckSettingsTraceroute
    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).
    grpc Property Map
    Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
    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.
    scripted Property Map
    Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
    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

    CheckSettingsDns, CheckSettingsDnsArgs

    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.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRr>
    Validate additional matches.
    ValidateAnswerRrs Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    ValidateAuthorityRrs Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrs
    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 []CheckSettingsDnsValidateAdditionalRr
    Validate additional matches.
    ValidateAnswerRrs CheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    ValidateAuthorityRrs CheckSettingsDnsValidateAuthorityRrs
    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<CheckSettingsDnsValidateAdditionalRr>
    Validate additional matches.
    validateAnswerRrs CheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validateAuthorityRrs CheckSettingsDnsValidateAuthorityRrs
    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 CheckSettingsDnsValidateAdditionalRr[]
    Validate additional matches.
    validateAnswerRrs CheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validateAuthorityRrs CheckSettingsDnsValidateAuthorityRrs
    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[syntheticmonitoring.CheckSettingsDnsValidateAdditionalRr]
    Validate additional matches.
    validate_answer_rrs syntheticmonitoring.CheckSettingsDnsValidateAnswerRrs
    Validate response answer.
    validate_authority_rrs syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrs
    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.

    CheckSettingsDnsValidateAdditionalRr, CheckSettingsDnsValidateAdditionalRrArgs

    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.

    CheckSettingsDnsValidateAnswerRrs, CheckSettingsDnsValidateAnswerRrsArgs

    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.

    CheckSettingsDnsValidateAuthorityRrs, CheckSettingsDnsValidateAuthorityRrsArgs

    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.

    CheckSettingsGrpc, CheckSettingsGrpcArgs

    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.
    Service string
    gRPC service.
    Tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    TlsConfig Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsGrpcTlsConfig
    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.
    Service string
    gRPC service.
    Tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    TlsConfig CheckSettingsGrpcTlsConfig
    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.
    service String
    gRPC service.
    tls Boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig CheckSettingsGrpcTlsConfig
    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.
    service string
    gRPC service.
    tls boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig CheckSettingsGrpcTlsConfig
    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.
    service str
    gRPC service.
    tls bool
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tls_config syntheticmonitoring.CheckSettingsGrpcTlsConfig
    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.
    service String
    gRPC service.
    tls Boolean
    Whether or not TLS is used when the connection is initiated. Defaults to false.
    tlsConfig Property Map
    TLS config.

    CheckSettingsGrpcTlsConfig, CheckSettingsGrpcTlsConfigArgs

    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.

    CheckSettingsHttp, CheckSettingsHttpArgs

    BasicAuth Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuth
    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.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexp>
    Check fails if headers match.
    FailIfHeaderNotMatchesRegexps List<Pulumiverse.Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderNotMatchesRegexp>
    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.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfig
    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 CheckSettingsHttpBasicAuth
    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 []CheckSettingsHttpFailIfHeaderMatchesRegexp
    Check fails if headers match.
    FailIfHeaderNotMatchesRegexps []CheckSettingsHttpFailIfHeaderNotMatchesRegexp
    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 CheckSettingsHttpTlsConfig
    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 CheckSettingsHttpBasicAuth
    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<CheckSettingsHttpFailIfHeaderMatchesRegexp>
    Check fails if headers match.
    failIfHeaderNotMatchesRegexps List<CheckSettingsHttpFailIfHeaderNotMatchesRegexp>
    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 CheckSettingsHttpTlsConfig
    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 CheckSettingsHttpBasicAuth
    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 CheckSettingsHttpFailIfHeaderMatchesRegexp[]
    Check fails if headers match.
    failIfHeaderNotMatchesRegexps CheckSettingsHttpFailIfHeaderNotMatchesRegexp[]
    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 CheckSettingsHttpTlsConfig
    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 syntheticmonitoring.CheckSettingsHttpBasicAuth
    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[syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexp]
    Check fails if headers match.
    fail_if_header_not_matches_regexps Sequence[syntheticmonitoring.CheckSettingsHttpFailIfHeaderNotMatchesRegexp]
    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 syntheticmonitoring.CheckSettingsHttpTlsConfig
    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.

    CheckSettingsHttpBasicAuth, CheckSettingsHttpBasicAuthArgs

    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.

    CheckSettingsHttpFailIfHeaderMatchesRegexp, CheckSettingsHttpFailIfHeaderMatchesRegexpArgs

    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.

    CheckSettingsHttpFailIfHeaderNotMatchesRegexp, CheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs

    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.

    CheckSettingsHttpTlsConfig, CheckSettingsHttpTlsConfigArgs

    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.

    CheckSettingsMultihttp, CheckSettingsMultihttpArgs

    CheckSettingsMultihttpEntry, CheckSettingsMultihttpEntryArgs

    Assertions []CheckSettingsMultihttpEntryAssertion
    Assertions to make on the request response
    Request CheckSettingsMultihttpEntryRequest
    An individual MultiHTTP request
    Variables []CheckSettingsMultihttpEntryVariable
    Variables to extract from the request response
    assertions List<CheckSettingsMultihttpEntryAssertion>
    Assertions to make on the request response
    request CheckSettingsMultihttpEntryRequest
    An individual MultiHTTP request
    variables List<CheckSettingsMultihttpEntryVariable>
    Variables to extract from the request response
    assertions CheckSettingsMultihttpEntryAssertion[]
    Assertions to make on the request response
    request CheckSettingsMultihttpEntryRequest
    An individual MultiHTTP request
    variables CheckSettingsMultihttpEntryVariable[]
    Variables to extract from the request response
    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

    CheckSettingsMultihttpEntryAssertion, CheckSettingsMultihttpEntryAssertionArgs

    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

    CheckSettingsMultihttpEntryRequest, CheckSettingsMultihttpEntryRequestArgs

    Method string
    The HTTP method to use
    Url string
    The URL for the request
    Bodies []CheckSettingsMultihttpEntryRequestBody
    The body of the HTTP request used in probe.
    Headers []CheckSettingsMultihttpEntryRequestHeader
    The headers to send with the request
    QueryFields []CheckSettingsMultihttpEntryRequestQueryField
    Query fields to send with the request
    method String
    The HTTP method to use
    url String
    The URL for the request
    bodies List<CheckSettingsMultihttpEntryRequestBody>
    The body of the HTTP request used in probe.
    headers List<CheckSettingsMultihttpEntryRequestHeader>
    The headers to send with the request
    queryFields List<CheckSettingsMultihttpEntryRequestQueryField>
    Query fields to send with the request
    method string
    The HTTP method to use
    url string
    The URL for the request
    bodies CheckSettingsMultihttpEntryRequestBody[]
    The body of the HTTP request used in probe.
    headers CheckSettingsMultihttpEntryRequestHeader[]
    The headers to send with the request
    queryFields CheckSettingsMultihttpEntryRequestQueryField[]
    Query fields to send with the request
    method str
    The HTTP method to use
    url str
    The URL for the request
    bodies Sequence[syntheticmonitoring.CheckSettingsMultihttpEntryRequestBody]
    The body of the HTTP request used in probe.
    headers Sequence[syntheticmonitoring.CheckSettingsMultihttpEntryRequestHeader]
    The headers to send with the request
    query_fields Sequence[syntheticmonitoring.CheckSettingsMultihttpEntryRequestQueryField]
    Query fields to send with the request
    method String
    The HTTP method to use
    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 headers to send with the request
    queryFields List<Property Map>
    Query fields to send with the request

    CheckSettingsMultihttpEntryRequestBody, CheckSettingsMultihttpEntryRequestBodyArgs

    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

    CheckSettingsMultihttpEntryRequestHeader, CheckSettingsMultihttpEntryRequestHeaderArgs

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

    CheckSettingsMultihttpEntryRequestQueryField, CheckSettingsMultihttpEntryRequestQueryFieldArgs

    Name string
    Name of the query field to send
    Value string
    Value of the query field to send
    Name string
    Name of the query field to send
    Value string
    Value of the query field to send
    name String
    Name of the query field to send
    value String
    Value of the query field to send
    name string
    Name of the query field to send
    value string
    Value of the query field to send
    name str
    Name of the query field to send
    value str
    Value of the query field to send
    name String
    Name of the query field to send
    value String
    Value of the query field to send

    CheckSettingsMultihttpEntryVariable, CheckSettingsMultihttpEntryVariableArgs

    Type string
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    Attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    Expression string
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    Name string
    The name of the variable to extract
    Type string
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    Attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    Expression string
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    Name string
    The name of the variable to extract
    type String
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    attribute String
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression String
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    name String
    The name of the variable to extract
    type string
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    attribute string
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression string
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    name string
    The name of the variable to extract
    type str
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    attribute str
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression str
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    name str
    The name of the variable to extract
    type String
    The method of finding the variable value to extract. JSONPATH, REGEX, CSSSELECTOR
    attribute String
    The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR
    expression String
    The expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX
    name String
    The name of the variable to extract

    CheckSettingsPing, CheckSettingsPingArgs

    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.

    CheckSettingsScripted, CheckSettingsScriptedArgs

    Script string
    Script string
    script String
    script string
    script str
    script String

    CheckSettingsTcp, CheckSettingsTcpArgs

    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.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponse>
    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.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfig
    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 []CheckSettingsTcpQueryResponse
    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 CheckSettingsTcpTlsConfig
    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<CheckSettingsTcpQueryResponse>
    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 CheckSettingsTcpTlsConfig
    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 CheckSettingsTcpQueryResponse[]
    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 CheckSettingsTcpTlsConfig
    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[syntheticmonitoring.CheckSettingsTcpQueryResponse]
    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 syntheticmonitoring.CheckSettingsTcpTlsConfig
    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.

    CheckSettingsTcpQueryResponse, CheckSettingsTcpQueryResponseArgs

    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.

    CheckSettingsTcpTlsConfig, CheckSettingsTcpTlsConfigArgs

    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.

    CheckSettingsTraceroute, CheckSettingsTracerouteArgs

    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:syntheticMonitoring/check:Check 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.7.0 published on Tuesday, Nov 5, 2024 by pulumiverse