UptimeCheckConfigArgs

data class UptimeCheckConfigArgs(val checkerType: Output<String>? = null, val contentMatchers: Output<List<UptimeCheckConfigContentMatcherArgs>>? = null, val displayName: Output<String>? = null, val httpCheck: Output<UptimeCheckConfigHttpCheckArgs>? = null, val monitoredResource: Output<UptimeCheckConfigMonitoredResourceArgs>? = null, val period: Output<String>? = null, val project: Output<String>? = null, val resourceGroup: Output<UptimeCheckConfigResourceGroupArgs>? = null, val selectedRegions: Output<List<String>>? = null, val syntheticMonitor: Output<UptimeCheckConfigSyntheticMonitorArgs>? = null, val tcpCheck: Output<UptimeCheckConfigTcpCheckArgs>? = null, val timeout: Output<String>? = null) : ConvertibleToJava<UptimeCheckConfigArgs>

This message configures which resources and services to monitor for availability. To get more information about UptimeCheckConfig, see:

Warning: All arguments including http_check.auth_info.password will be stored in the raw state as plain-text.

Example Usage

Uptime Check Config Http

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.UptimeCheckConfig;
import com.pulumi.gcp.monitoring.UptimeCheckConfigArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherJsonPathMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigMonitoredResourceArgs;
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) {
var http = new UptimeCheckConfig("http", UptimeCheckConfigArgs.builder()
.checkerType("STATIC_IP_CHECKERS")
.contentMatchers(UptimeCheckConfigContentMatcherArgs.builder()
.content("\"example\"")
.jsonPathMatcher(UptimeCheckConfigContentMatcherJsonPathMatcherArgs.builder()
.jsonMatcher("EXACT_MATCH")
.jsonPath("$.path")
.build())
.matcher("MATCHES_JSON_PATH")
.build())
.displayName("http-uptime-check")
.httpCheck(UptimeCheckConfigHttpCheckArgs.builder()
.body("Zm9vJTI1M0RiYXI=")
.contentType("URL_ENCODED")
.path("some-path")
.port("8010")
.requestMethod("POST")
.build())
.monitoredResource(UptimeCheckConfigMonitoredResourceArgs.builder()
.labels(Map.ofEntries(
Map.entry("host", "192.168.1.1"),
Map.entry("projectId", "my-project-name")
))
.type("uptime_url")
.build())
.timeout("60s")
.build());
}
}

Uptime Check Config Status Code

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.UptimeCheckConfig;
import com.pulumi.gcp.monitoring.UptimeCheckConfigArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherJsonPathMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigMonitoredResourceArgs;
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) {
var statusCode = new UptimeCheckConfig("statusCode", UptimeCheckConfigArgs.builder()
.checkerType("STATIC_IP_CHECKERS")
.contentMatchers(UptimeCheckConfigContentMatcherArgs.builder()
.content("\"example\"")
.jsonPathMatcher(UptimeCheckConfigContentMatcherJsonPathMatcherArgs.builder()
.jsonMatcher("EXACT_MATCH")
.jsonPath("$.path")
.build())
.matcher("MATCHES_JSON_PATH")
.build())
.displayName("http-uptime-check")
.httpCheck(UptimeCheckConfigHttpCheckArgs.builder()
.acceptedResponseStatusCodes(
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgs.builder()
.statusClass("STATUS_CLASS_2XX")
.build(),
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgs.builder()
.statusValue(301)
.build(),
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgs.builder()
.statusValue(302)
.build())
.body("Zm9vJTI1M0RiYXI=")
.contentType("URL_ENCODED")
.path("some-path")
.port("8010")
.requestMethod("POST")
.build())
.monitoredResource(UptimeCheckConfigMonitoredResourceArgs.builder()
.labels(Map.ofEntries(
Map.entry("host", "192.168.1.1"),
Map.entry("projectId", "my-project-name")
))
.type("uptime_url")
.build())
.timeout("60s")
.build());
}
}

Uptime Check Config Https

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.UptimeCheckConfig;
import com.pulumi.gcp.monitoring.UptimeCheckConfigArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigContentMatcherJsonPathMatcherArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigMonitoredResourceArgs;
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) {
var https = new UptimeCheckConfig("https", UptimeCheckConfigArgs.builder()
.contentMatchers(UptimeCheckConfigContentMatcherArgs.builder()
.content("example")
.jsonPathMatcher(UptimeCheckConfigContentMatcherJsonPathMatcherArgs.builder()
.jsonMatcher("REGEX_MATCH")
.jsonPath("$.path")
.build())
.matcher("MATCHES_JSON_PATH")
.build())
.displayName("https-uptime-check")
.httpCheck(UptimeCheckConfigHttpCheckArgs.builder()
.path("/some-path")
.port("443")
.useSsl(true)
.validateSsl(true)
.build())
.monitoredResource(UptimeCheckConfigMonitoredResourceArgs.builder()
.labels(Map.ofEntries(
Map.entry("host", "192.168.1.1"),
Map.entry("projectId", "my-project-name")
))
.type("uptime_url")
.build())
.timeout("60s")
.build());
}
}

Uptime Check Tcp

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.Group;
import com.pulumi.gcp.monitoring.GroupArgs;
import com.pulumi.gcp.monitoring.UptimeCheckConfig;
import com.pulumi.gcp.monitoring.UptimeCheckConfigArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigTcpCheckArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigResourceGroupArgs;
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) {
var check = new Group("check", GroupArgs.builder()
.displayName("uptime-check-group")
.filter("resource.metadata.name=has_substring(\"foo\")")
.build());
var tcpGroup = new UptimeCheckConfig("tcpGroup", UptimeCheckConfigArgs.builder()
.displayName("tcp-uptime-check")
.timeout("60s")
.tcpCheck(UptimeCheckConfigTcpCheckArgs.builder()
.port(888)
.build())
.resourceGroup(UptimeCheckConfigResourceGroupArgs.builder()
.resourceType("INSTANCE")
.groupId(check.name())
.build())
.build());
}
}

Uptime Check Config Synthetic Monitor

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import com.pulumi.gcp.cloudfunctionsv2.Function;
import com.pulumi.gcp.cloudfunctionsv2.FunctionArgs;
import com.pulumi.gcp.cloudfunctionsv2.inputs.FunctionBuildConfigArgs;
import com.pulumi.gcp.cloudfunctionsv2.inputs.FunctionBuildConfigSourceArgs;
import com.pulumi.gcp.cloudfunctionsv2.inputs.FunctionBuildConfigSourceStorageSourceArgs;
import com.pulumi.gcp.cloudfunctionsv2.inputs.FunctionServiceConfigArgs;
import com.pulumi.gcp.monitoring.UptimeCheckConfig;
import com.pulumi.gcp.monitoring.UptimeCheckConfigArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigSyntheticMonitorArgs;
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigSyntheticMonitorCloudFunctionV2Args;
import com.pulumi.asset.FileAsset;
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) {
var bucket = new Bucket("bucket", BucketArgs.builder()
.location("US")
.uniformBucketLevelAccess(true)
.build());
var object = new BucketObject("object", BucketObjectArgs.builder()
.bucket(bucket.name())
.source(new FileAsset("synthetic-fn-source.zip"))
.build());
var function = new Function("function", FunctionArgs.builder()
.location("us-central1")
.buildConfig(FunctionBuildConfigArgs.builder()
.runtime("nodejs16")
.entryPoint("SyntheticFunction")
.source(FunctionBuildConfigSourceArgs.builder()
.storageSource(FunctionBuildConfigSourceStorageSourceArgs.builder()
.bucket(bucket.name())
.object(object.name())
.build())
.build())
.build())
.serviceConfig(FunctionServiceConfigArgs.builder()
.maxInstanceCount(1)
.availableMemory("256M")
.timeoutSeconds(60)
.build())
.build());
var syntheticMonitor = new UptimeCheckConfig("syntheticMonitor", UptimeCheckConfigArgs.builder()
.displayName("synthetic_monitor")
.timeout("60s")
.syntheticMonitor(UptimeCheckConfigSyntheticMonitorArgs.builder()
.cloudFunctionV2(UptimeCheckConfigSyntheticMonitorCloudFunctionV2Args.builder()
.name(function.id())
.build())
.build())
.build());
}
}

Import

UptimeCheckConfig can be imported using any of these accepted formats:

$ pulumi import gcp:monitoring/uptimeCheckConfig:UptimeCheckConfig default {{name}}

Constructors

Link copied to clipboard
constructor(checkerType: Output<String>? = null, contentMatchers: Output<List<UptimeCheckConfigContentMatcherArgs>>? = null, displayName: Output<String>? = null, httpCheck: Output<UptimeCheckConfigHttpCheckArgs>? = null, monitoredResource: Output<UptimeCheckConfigMonitoredResourceArgs>? = null, period: Output<String>? = null, project: Output<String>? = null, resourceGroup: Output<UptimeCheckConfigResourceGroupArgs>? = null, selectedRegions: Output<List<String>>? = null, syntheticMonitor: Output<UptimeCheckConfigSyntheticMonitorArgs>? = null, tcpCheck: Output<UptimeCheckConfigTcpCheckArgs>? = null, timeout: Output<String>? = null)

Properties

Link copied to clipboard
val checkerType: Output<String>? = null

The checker type to use for the check. If the monitored resource type is servicedirectory_service, checkerType must be set to VPC_CHECKERS. Possible values are: STATIC_IP_CHECKERS, VPC_CHECKERS.

Link copied to clipboard

The expected content on the page the check is run against. Currently, only the first entry in the list is supported, and other entries will be ignored. The server will look for an exact match of the string in the page response's content. This field is optional and should only be specified if a content match is required. Structure is documented below.

Link copied to clipboard
val displayName: Output<String>? = null

A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.

Link copied to clipboard

Contains information needed to make an HTTP or HTTPS check. Structure is documented below.

Link copied to clipboard

The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for uptime checks: uptime_url gce_instance gae_app aws_ec2_instance aws_elb_load_balancer k8s_service servicedirectory_service Structure is documented below.

Link copied to clipboard
val period: Output<String>? = null

How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard

The group resource associated with the configuration. Structure is documented below.

Link copied to clipboard
val selectedRegions: Output<List<String>>? = null

The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.

Link copied to clipboard

A Synthetic Monitor deployed to a Cloud Functions V2 instance. Structure is documented below.

Link copied to clipboard

Contains information needed to make a TCP check. Structure is documented below.

Link copied to clipboard
val timeout: Output<String>? = null

The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Accepted formats https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration

Functions

Link copied to clipboard
open override fun toJava(): UptimeCheckConfigArgs