1. Packages
  2. Grafana Cloud
  3. API Docs
  4. SyntheticMonitoringCheck
Grafana v0.16.3 published on Monday, Apr 7, 2025 by pulumiverse

grafana.SyntheticMonitoringCheck

Explore with Pulumi AI

Deprecated: grafana.index/syntheticmonitoringcheck.SyntheticMonitoringCheck has been deprecated in favor of grafana.syntheticmonitoring/check.Check

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?.ohio)],
    labels: {
        foo: "bar",
    },
    settings: {
        dns: {},
    },
});
Copy
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["ohio"]],
    labels={
        "foo": "bar",
    },
    settings={
        "dns": {},
    })
Copy
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.Ohio),
			},
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Settings: &syntheticmonitoring.CheckSettingsArgs{
				Dns: &syntheticmonitoring.CheckSettingsDnsArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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?.Ohio),
        },
        Labels = 
        {
            { "foo", "bar" },
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Dns = null,
        },
    });

});
Copy
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().ohio()))
            .labels(Map.of("foo", "bar"))
            .settings(CheckSettingsArgs.builder()
                .dns()
                .build())
            .build());

    }
}
Copy
resources:
  dns:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: DNS Defaults
      target: grafana.com
      enabled: false
      probes:
        - ${main.probes.ohio}
      labels:
        foo: bar
      settings:
        dns: {}
variables:
  main:
    fn::invoke:
      function: grafana:syntheticMonitoring:getProbes
      arguments: {}
Copy

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*"],
            }],
        },
    },
});
Copy
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*"],
            }],
        },
    })
Copy
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
	})
}
Copy
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*",
                        },
                    },
                },
            },
        },
    });

});
Copy
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());

    }
}
Copy
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: {}
Copy

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?.ohio)],
    labels: {
        foo: "bar",
    },
    settings: {
        http: {},
    },
});
Copy
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["ohio"]],
    labels={
        "foo": "bar",
    },
    settings={
        "http": {},
    })
Copy
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.Ohio),
			},
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Settings: &syntheticmonitoring.CheckSettingsArgs{
				Http: &syntheticmonitoring.CheckSettingsHttpArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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?.Ohio),
        },
        Labels = 
        {
            { "foo", "bar" },
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Http = null,
        },
    });

});
Copy
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().ohio()))
            .labels(Map.of("foo", "bar"))
            .settings(CheckSettingsArgs.builder()
                .http()
                .build())
            .build());

    }
}
Copy
resources:
  http:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: HTTP Defaults
      target: https://grafana.com
      enabled: false
      probes:
        - ${main.probes.ohio}
      labels:
        foo: bar
      settings:
        http: {}
variables:
  main:
    fn::invoke:
      function: grafana:syntheticMonitoring:getProbes
      arguments: {}
Copy

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?.mumbai),
        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,
            compression: "deflate",
            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,
            }],
        },
    },
});
Copy
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["mumbai"],
        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,
            "compression": "deflate",
            "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,
            }],
        },
    })
Copy
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.Mumbai),
				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),
					Compression:                pulumi.String("deflate"),
					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
	})
}
Copy
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?.Mumbai),
            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,
                Compression = "deflate",
                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,
                    },
                },
            },
        },
    });

});
Copy
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().mumbai()),
                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)
                    .compression("deflate")
                    .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());

    }
}
Copy
resources:
  http:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: HTTP Defaults
      target: https://grafana.org
      enabled: false
      probes:
        - ${main.probes.mumbai}
        - ${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
          compression: deflate
          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: {}
Copy

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?.ohio)],
    labels: {
        foo: "bar",
    },
    settings: {
        ping: {},
    },
});
Copy
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["ohio"]],
    labels={
        "foo": "bar",
    },
    settings={
        "ping": {},
    })
Copy
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.Ohio),
			},
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Settings: &syntheticmonitoring.CheckSettingsArgs{
				Ping: &syntheticmonitoring.CheckSettingsPingArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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?.Ohio),
        },
        Labels = 
        {
            { "foo", "bar" },
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Ping = null,
        },
    });

});
Copy
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().ohio()))
            .labels(Map.of("foo", "bar"))
            .settings(CheckSettingsArgs.builder()
                .ping()
                .build())
            .build());

    }
}
Copy
resources:
  ping:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: Ping Defaults
      target: grafana.com
      enabled: false
      probes:
        - ${main.probes.ohio}
      labels:
        foo: bar
      settings:
        ping: {}
variables:
  main:
    fn::invoke:
      function: grafana:syntheticMonitoring:getProbes
      arguments: {}
Copy

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,
        },
    },
});
Copy
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,
        },
    })
Copy
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
	})
}
Copy
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,
            },
        },
    });

});
Copy
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());

    }
}
Copy
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: {}
Copy

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?.ohio)],
    labels: {
        foo: "bar",
    },
    settings: {
        tcp: {},
    },
});
Copy
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["ohio"]],
    labels={
        "foo": "bar",
    },
    settings={
        "tcp": {},
    })
Copy
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.Ohio),
			},
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Settings: &syntheticmonitoring.CheckSettingsArgs{
				Tcp: &syntheticmonitoring.CheckSettingsTcpArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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?.Ohio),
        },
        Labels = 
        {
            { "foo", "bar" },
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Tcp = null,
        },
    });

});
Copy
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().ohio()))
            .labels(Map.of("foo", "bar"))
            .settings(CheckSettingsArgs.builder()
                .tcp()
                .build())
            .build());

    }
}
Copy
resources:
  tcp:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: TCP Defaults
      target: grafana.com:80
      enabled: false
      probes:
        - ${main.probes.ohio}
      labels:
        foo: bar
      settings:
        tcp: {}
variables:
  main:
    fn::invoke:
      function: grafana:syntheticMonitoring:getProbes
      arguments: {}
Copy

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-----
`,
            },
        },
    },
});
Copy
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-----
""",
            },
        },
    })
Copy
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
	})
}
Copy
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-----
",
                },
            },
        },
    });

});
Copy
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());

    }
}
Copy
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: {}
Copy

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?.ohio)],
    labels: {
        foo: "bar",
    },
    settings: {
        traceroute: {},
    },
});
Copy
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["ohio"]],
    labels={
        "foo": "bar",
    },
    settings={
        "traceroute": {},
    })
Copy
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.Ohio),
			},
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Settings: &syntheticmonitoring.CheckSettingsArgs{
				Traceroute: &syntheticmonitoring.CheckSettingsTracerouteArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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?.Ohio),
        },
        Labels = 
        {
            { "foo", "bar" },
        },
        Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs
        {
            Traceroute = null,
        },
    });

});
Copy
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().ohio()))
            .labels(Map.of("foo", "bar"))
            .settings(CheckSettingsArgs.builder()
                .traceroute()
                .build())
            .build());

    }
}
Copy
resources:
  traceroute:
    type: grafana:syntheticMonitoring:Check
    properties:
      job: Traceroute defaults
      target: grafana.com
      enabled: false
      frequency: 120000
      timeout: 30000
      probes:
        - ${main.probes.ohio}
      labels:
        foo: bar
      settings:
        traceroute: {}
variables:
  main:
    fn::invoke:
      function: grafana:syntheticMonitoring:getProbes
      arguments: {}
Copy

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,
        },
    },
});
Copy
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,
        },
    })
Copy
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
	})
}
Copy
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,
            },
        },
    });

});
Copy
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());

    }
}
Copy
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: {}
Copy

Create SyntheticMonitoringCheck Resource

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

Constructor syntax

new SyntheticMonitoringCheck(name: string, args: SyntheticMonitoringCheckArgs, opts?: CustomResourceOptions);
@overload
def SyntheticMonitoringCheck(resource_name: str,
                             args: SyntheticMonitoringCheckArgs,
                             opts: Optional[ResourceOptions] = None)

@overload
def SyntheticMonitoringCheck(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             alert_sensitivity: Optional[str] = None,
                             basic_metrics_only: Optional[bool] = None,
                             enabled: Optional[bool] = None,
                             frequency: Optional[int] = None,
                             job: Optional[str] = None,
                             labels: Optional[Mapping[str, str]] = None,
                             probes: Optional[Sequence[int]] = None,
                             settings: Optional[SyntheticMonitoringCheckSettingsArgs] = None,
                             target: Optional[str] = None,
                             timeout: Optional[int] = None)
func NewSyntheticMonitoringCheck(ctx *Context, name string, args SyntheticMonitoringCheckArgs, opts ...ResourceOption) (*SyntheticMonitoringCheck, error)
public SyntheticMonitoringCheck(string name, SyntheticMonitoringCheckArgs args, CustomResourceOptions? opts = null)
public SyntheticMonitoringCheck(String name, SyntheticMonitoringCheckArgs args)
public SyntheticMonitoringCheck(String name, SyntheticMonitoringCheckArgs args, CustomResourceOptions options)
type: grafana:SyntheticMonitoringCheck
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. SyntheticMonitoringCheckArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. SyntheticMonitoringCheckArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. SyntheticMonitoringCheckArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. SyntheticMonitoringCheckArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. SyntheticMonitoringCheckArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

SyntheticMonitoringCheck Resource Properties

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

Inputs

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

The SyntheticMonitoringCheck resource accepts the following input properties:

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

Outputs

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

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

Look up Existing SyntheticMonitoringCheck Resource

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

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

Supporting Types

SyntheticMonitoringCheckSettings
, SyntheticMonitoringCheckSettingsArgs

Browser Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsBrowser
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
Dns Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsDns
Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
Grpc Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsGrpc
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.Inputs.SyntheticMonitoringCheckSettingsHttp
Settings for HTTP check. The target must be a URL (http or https).
Multihttp Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttp
Settings for MultiHTTP check. The target must be a URL (http or https)
Ping Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsPing
Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
Scripted Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsScripted
Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
Tcp Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTcp
Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
Traceroute Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsTraceroute
Settings for traceroute check. The target must be a valid hostname or IP address
Browser SyntheticMonitoringCheckSettingsBrowser
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
Dns SyntheticMonitoringCheckSettingsDns
Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
Grpc SyntheticMonitoringCheckSettingsGrpc
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 SyntheticMonitoringCheckSettingsHttp
Settings for HTTP check. The target must be a URL (http or https).
Multihttp SyntheticMonitoringCheckSettingsMultihttp
Settings for MultiHTTP check. The target must be a URL (http or https)
Ping SyntheticMonitoringCheckSettingsPing
Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
Scripted SyntheticMonitoringCheckSettingsScripted
Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
Tcp SyntheticMonitoringCheckSettingsTcp
Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
Traceroute SyntheticMonitoringCheckSettingsTraceroute
Settings for traceroute check. The target must be a valid hostname or IP address
browser SyntheticMonitoringCheckSettingsBrowser
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
dns SyntheticMonitoringCheckSettingsDns
Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
grpc SyntheticMonitoringCheckSettingsGrpc
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 SyntheticMonitoringCheckSettingsHttp
Settings for HTTP check. The target must be a URL (http or https).
multihttp SyntheticMonitoringCheckSettingsMultihttp
Settings for MultiHTTP check. The target must be a URL (http or https)
ping SyntheticMonitoringCheckSettingsPing
Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
scripted SyntheticMonitoringCheckSettingsScripted
Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
tcp SyntheticMonitoringCheckSettingsTcp
Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
traceroute SyntheticMonitoringCheckSettingsTraceroute
Settings for traceroute check. The target must be a valid hostname or IP address
browser SyntheticMonitoringCheckSettingsBrowser
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
dns SyntheticMonitoringCheckSettingsDns
Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
grpc SyntheticMonitoringCheckSettingsGrpc
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 SyntheticMonitoringCheckSettingsHttp
Settings for HTTP check. The target must be a URL (http or https).
multihttp SyntheticMonitoringCheckSettingsMultihttp
Settings for MultiHTTP check. The target must be a URL (http or https)
ping SyntheticMonitoringCheckSettingsPing
Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
scripted SyntheticMonitoringCheckSettingsScripted
Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
tcp SyntheticMonitoringCheckSettingsTcp
Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
traceroute SyntheticMonitoringCheckSettingsTraceroute
Settings for traceroute check. The target must be a valid hostname or IP address
browser SyntheticMonitoringCheckSettingsBrowser
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
dns SyntheticMonitoringCheckSettingsDns
Settings for DNS check. The target must be a valid hostname (or IP address for PTR records).
grpc SyntheticMonitoringCheckSettingsGrpc
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 SyntheticMonitoringCheckSettingsHttp
Settings for HTTP check. The target must be a URL (http or https).
multihttp SyntheticMonitoringCheckSettingsMultihttp
Settings for MultiHTTP check. The target must be a URL (http or https)
ping SyntheticMonitoringCheckSettingsPing
Settings for ping (ICMP) check. The target must be a valid hostname or IP address.
scripted SyntheticMonitoringCheckSettingsScripted
Settings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.
tcp SyntheticMonitoringCheckSettingsTcp
Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address.
traceroute SyntheticMonitoringCheckSettingsTraceroute
Settings for traceroute check. The target must be a valid hostname or IP address
browser Property Map
Settings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.
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

SyntheticMonitoringCheckSettingsBrowser
, SyntheticMonitoringCheckSettingsBrowserArgs

Script This property is required. string
Script This property is required. string
script This property is required. String
script This property is required. string
script This property is required. str
script This property is required. String

SyntheticMonitoringCheckSettingsDns
, SyntheticMonitoringCheckSettingsDnsArgs

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

SyntheticMonitoringCheckSettingsDnsValidateAdditionalRr
, SyntheticMonitoringCheckSettingsDnsValidateAdditionalRrArgs

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

SyntheticMonitoringCheckSettingsDnsValidateAnswerRrs
, SyntheticMonitoringCheckSettingsDnsValidateAnswerRrsArgs

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

SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrs
, SyntheticMonitoringCheckSettingsDnsValidateAuthorityRrsArgs

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

SyntheticMonitoringCheckSettingsGrpc
, SyntheticMonitoringCheckSettingsGrpcArgs

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.Inputs.SyntheticMonitoringCheckSettingsGrpcTlsConfig
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 SyntheticMonitoringCheckSettingsGrpcTlsConfig
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 SyntheticMonitoringCheckSettingsGrpcTlsConfig
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 SyntheticMonitoringCheckSettingsGrpcTlsConfig
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 SyntheticMonitoringCheckSettingsGrpcTlsConfig
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.

SyntheticMonitoringCheckSettingsGrpcTlsConfig
, SyntheticMonitoringCheckSettingsGrpcTlsConfigArgs

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.

SyntheticMonitoringCheckSettingsHttp
, SyntheticMonitoringCheckSettingsHttpArgs

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

SyntheticMonitoringCheckSettingsHttpBasicAuth
, SyntheticMonitoringCheckSettingsHttpBasicAuthArgs

Password This property is required. string
Basic auth password.
Username This property is required. string
Basic auth username.
Password This property is required. string
Basic auth password.
Username This property is required. string
Basic auth username.
password This property is required. String
Basic auth password.
username This property is required. String
Basic auth username.
password This property is required. string
Basic auth password.
username This property is required. string
Basic auth username.
password This property is required. str
Basic auth password.
username This property is required. str
Basic auth username.
password This property is required. String
Basic auth password.
username This property is required. String
Basic auth username.

SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexp
, SyntheticMonitoringCheckSettingsHttpFailIfHeaderMatchesRegexpArgs

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

SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexp
, SyntheticMonitoringCheckSettingsHttpFailIfHeaderNotMatchesRegexpArgs

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

SyntheticMonitoringCheckSettingsHttpTlsConfig
, SyntheticMonitoringCheckSettingsHttpTlsConfigArgs

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

SyntheticMonitoringCheckSettingsMultihttp
, SyntheticMonitoringCheckSettingsMultihttpArgs

SyntheticMonitoringCheckSettingsMultihttpEntry
, SyntheticMonitoringCheckSettingsMultihttpEntryArgs

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

SyntheticMonitoringCheckSettingsMultihttpEntryAssertion
, SyntheticMonitoringCheckSettingsMultihttpEntryAssertionArgs

Type This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
The type of assertion to make: TEXT, JSONPATHVALUE, JSONPATHASSERTION, REGEX_ASSERTION
condition String
The condition of the assertion: NOTCONTAINS, EQUALS, STARTSWITH, ENDSWITH, TYPEOF, CONTAINS
expression String
The expression of the assertion. Should start with $.
subject String
The subject of the assertion: RESPONSEHEADERS, HTTPSTATUSCODE, RESPONSEBODY
value String
The value of the assertion

SyntheticMonitoringCheckSettingsMultihttpEntryRequest
, SyntheticMonitoringCheckSettingsMultihttpEntryRequestArgs

Method This property is required. string
The HTTP method to use
Url This property is required. string
The URL for the request
Bodies List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody>
The body of the HTTP request used in probe.
Headers List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader>
The headers to send with the request
QueryFields List<Pulumiverse.Grafana.Inputs.SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField>
Query fields to send with the request
Method This property is required. string
The HTTP method to use
Url This property is required. string
The URL for the request
Bodies []SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody
The body of the HTTP request used in probe.
Headers []SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader
The headers to send with the request
QueryFields []SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField
Query fields to send with the request
method This property is required. String
The HTTP method to use
url This property is required. String
The URL for the request
bodies List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody>
The body of the HTTP request used in probe.
headers List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader>
The headers to send with the request
queryFields List<SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField>
Query fields to send with the request
method This property is required. string
The HTTP method to use
url This property is required. string
The URL for the request
bodies SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody[]
The body of the HTTP request used in probe.
headers SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader[]
The headers to send with the request
queryFields SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField[]
Query fields to send with the request
method This property is required. str
The HTTP method to use
url This property is required. str
The URL for the request
bodies Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody]
The body of the HTTP request used in probe.
headers Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader]
The headers to send with the request
query_fields Sequence[SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField]
Query fields to send with the request
method This property is required. String
The HTTP method to use
url This property is required. 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

SyntheticMonitoringCheckSettingsMultihttpEntryRequestBody
, SyntheticMonitoringCheckSettingsMultihttpEntryRequestBodyArgs

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

SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeader
, SyntheticMonitoringCheckSettingsMultihttpEntryRequestHeaderArgs

Name This property is required. string
Name of the header to send
Value This property is required. string
Value of the header to send
Name This property is required. string
Name of the header to send
Value This property is required. string
Value of the header to send
name This property is required. String
Name of the header to send
value This property is required. String
Value of the header to send
name This property is required. string
Name of the header to send
value This property is required. string
Value of the header to send
name This property is required. str
Name of the header to send
value This property is required. str
Value of the header to send
name This property is required. String
Name of the header to send
value This property is required. String
Value of the header to send

SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryField
, SyntheticMonitoringCheckSettingsMultihttpEntryRequestQueryFieldArgs

Name This property is required. string
Name of the query field to send
Value This property is required. string
Value of the query field to send
Name This property is required. string
Name of the query field to send
Value This property is required. string
Value of the query field to send
name This property is required. String
Name of the query field to send
value This property is required. String
Value of the query field to send
name This property is required. string
Name of the query field to send
value This property is required. string
Value of the query field to send
name This property is required. str
Name of the query field to send
value This property is required. str
Value of the query field to send
name This property is required. String
Name of the query field to send
value This property is required. String
Value of the query field to send

SyntheticMonitoringCheckSettingsMultihttpEntryVariable
, SyntheticMonitoringCheckSettingsMultihttpEntryVariableArgs

Type This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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

SyntheticMonitoringCheckSettingsPing
, SyntheticMonitoringCheckSettingsPingArgs

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

SyntheticMonitoringCheckSettingsScripted
, SyntheticMonitoringCheckSettingsScriptedArgs

Script This property is required. string
Script This property is required. string
script This property is required. String
script This property is required. string
script This property is required. str
script This property is required. String

SyntheticMonitoringCheckSettingsTcp
, SyntheticMonitoringCheckSettingsTcpArgs

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

SyntheticMonitoringCheckSettingsTcpQueryResponse
, SyntheticMonitoringCheckSettingsTcpQueryResponseArgs

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

SyntheticMonitoringCheckSettingsTcpTlsConfig
, SyntheticMonitoringCheckSettingsTcpTlsConfigArgs

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

SyntheticMonitoringCheckSettingsTraceroute
, SyntheticMonitoringCheckSettingsTracerouteArgs

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

Import

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

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.