1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. monitoring
  5. AlertPolicy
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

gcp.monitoring.AlertPolicy

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

    A description of the conditions under which some aspect of your system is considered to be “unhealthy” and the ways to notify people or services about this state.

    To get more information about AlertPolicy, see:

    Example Usage

    Monitoring Alert Policy Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const alertPolicy = new gcp.monitoring.AlertPolicy("alert_policy", {
        displayName: "My Alert Policy",
        combiner: "OR",
        conditions: [{
            displayName: "test condition",
            conditionThreshold: {
                filter: "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration: "60s",
                comparison: "COMPARISON_GT",
                aggregations: [{
                    alignmentPeriod: "60s",
                    perSeriesAligner: "ALIGN_RATE",
                }],
            },
        }],
        userLabels: {
            foo: "bar",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
        display_name="My Alert Policy",
        combiner="OR",
        conditions=[gcp.monitoring.AlertPolicyConditionArgs(
            display_name="test condition",
            condition_threshold=gcp.monitoring.AlertPolicyConditionConditionThresholdArgs(
                filter="metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration="60s",
                comparison="COMPARISON_GT",
                aggregations=[gcp.monitoring.AlertPolicyConditionConditionThresholdAggregationArgs(
                    alignment_period="60s",
                    per_series_aligner="ALIGN_RATE",
                )],
            ),
        )],
        user_labels={
            "foo": "bar",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := monitoring.NewAlertPolicy(ctx, "alert_policy", &monitoring.AlertPolicyArgs{
    			DisplayName: pulumi.String("My Alert Policy"),
    			Combiner:    pulumi.String("OR"),
    			Conditions: monitoring.AlertPolicyConditionArray{
    				&monitoring.AlertPolicyConditionArgs{
    					DisplayName: pulumi.String("test condition"),
    					ConditionThreshold: &monitoring.AlertPolicyConditionConditionThresholdArgs{
    						Filter:     pulumi.String("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\""),
    						Duration:   pulumi.String("60s"),
    						Comparison: pulumi.String("COMPARISON_GT"),
    						Aggregations: monitoring.AlertPolicyConditionConditionThresholdAggregationArray{
    							&monitoring.AlertPolicyConditionConditionThresholdAggregationArgs{
    								AlignmentPeriod:  pulumi.String("60s"),
    								PerSeriesAligner: pulumi.String("ALIGN_RATE"),
    							},
    						},
    					},
    				},
    			},
    			UserLabels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var alertPolicy = new Gcp.Monitoring.AlertPolicy("alert_policy", new()
        {
            DisplayName = "My Alert Policy",
            Combiner = "OR",
            Conditions = new[]
            {
                new Gcp.Monitoring.Inputs.AlertPolicyConditionArgs
                {
                    DisplayName = "test condition",
                    ConditionThreshold = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdArgs
                    {
                        Filter = "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                        Duration = "60s",
                        Comparison = "COMPARISON_GT",
                        Aggregations = new[]
                        {
                            new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdAggregationArgs
                            {
                                AlignmentPeriod = "60s",
                                PerSeriesAligner = "ALIGN_RATE",
                            },
                        },
                    },
                },
            },
            UserLabels = 
            {
                { "foo", "bar" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.AlertPolicy;
    import com.pulumi.gcp.monitoring.AlertPolicyArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionConditionThresholdArgs;
    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 alertPolicy = new AlertPolicy("alertPolicy", AlertPolicyArgs.builder()
                .displayName("My Alert Policy")
                .combiner("OR")
                .conditions(AlertPolicyConditionArgs.builder()
                    .displayName("test condition")
                    .conditionThreshold(AlertPolicyConditionConditionThresholdArgs.builder()
                        .filter("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"")
                        .duration("60s")
                        .comparison("COMPARISON_GT")
                        .aggregations(AlertPolicyConditionConditionThresholdAggregationArgs.builder()
                            .alignmentPeriod("60s")
                            .perSeriesAligner("ALIGN_RATE")
                            .build())
                        .build())
                    .build())
                .userLabels(Map.of("foo", "bar"))
                .build());
    
        }
    }
    
    resources:
      alertPolicy:
        type: gcp:monitoring:AlertPolicy
        name: alert_policy
        properties:
          displayName: My Alert Policy
          combiner: OR
          conditions:
            - displayName: test condition
              conditionThreshold:
                filter: metric.type="compute.googleapis.com/instance/disk/write_bytes_count" AND resource.type="gce_instance"
                duration: 60s
                comparison: COMPARISON_GT
                aggregations:
                  - alignmentPeriod: 60s
                    perSeriesAligner: ALIGN_RATE
          userLabels:
            foo: bar
    

    Monitoring Alert Policy Evaluation Missing Data

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const alertPolicy = new gcp.monitoring.AlertPolicy("alert_policy", {
        displayName: "My Alert Policy",
        combiner: "OR",
        conditions: [{
            displayName: "test condition",
            conditionThreshold: {
                filter: "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration: "60s",
                comparison: "COMPARISON_GT",
                aggregations: [{
                    alignmentPeriod: "60s",
                    perSeriesAligner: "ALIGN_RATE",
                }],
                evaluationMissingData: "EVALUATION_MISSING_DATA_INACTIVE",
            },
        }],
        userLabels: {
            foo: "bar",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
        display_name="My Alert Policy",
        combiner="OR",
        conditions=[gcp.monitoring.AlertPolicyConditionArgs(
            display_name="test condition",
            condition_threshold=gcp.monitoring.AlertPolicyConditionConditionThresholdArgs(
                filter="metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration="60s",
                comparison="COMPARISON_GT",
                aggregations=[gcp.monitoring.AlertPolicyConditionConditionThresholdAggregationArgs(
                    alignment_period="60s",
                    per_series_aligner="ALIGN_RATE",
                )],
                evaluation_missing_data="EVALUATION_MISSING_DATA_INACTIVE",
            ),
        )],
        user_labels={
            "foo": "bar",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := monitoring.NewAlertPolicy(ctx, "alert_policy", &monitoring.AlertPolicyArgs{
    			DisplayName: pulumi.String("My Alert Policy"),
    			Combiner:    pulumi.String("OR"),
    			Conditions: monitoring.AlertPolicyConditionArray{
    				&monitoring.AlertPolicyConditionArgs{
    					DisplayName: pulumi.String("test condition"),
    					ConditionThreshold: &monitoring.AlertPolicyConditionConditionThresholdArgs{
    						Filter:     pulumi.String("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\""),
    						Duration:   pulumi.String("60s"),
    						Comparison: pulumi.String("COMPARISON_GT"),
    						Aggregations: monitoring.AlertPolicyConditionConditionThresholdAggregationArray{
    							&monitoring.AlertPolicyConditionConditionThresholdAggregationArgs{
    								AlignmentPeriod:  pulumi.String("60s"),
    								PerSeriesAligner: pulumi.String("ALIGN_RATE"),
    							},
    						},
    						EvaluationMissingData: pulumi.String("EVALUATION_MISSING_DATA_INACTIVE"),
    					},
    				},
    			},
    			UserLabels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var alertPolicy = new Gcp.Monitoring.AlertPolicy("alert_policy", new()
        {
            DisplayName = "My Alert Policy",
            Combiner = "OR",
            Conditions = new[]
            {
                new Gcp.Monitoring.Inputs.AlertPolicyConditionArgs
                {
                    DisplayName = "test condition",
                    ConditionThreshold = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdArgs
                    {
                        Filter = "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                        Duration = "60s",
                        Comparison = "COMPARISON_GT",
                        Aggregations = new[]
                        {
                            new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdAggregationArgs
                            {
                                AlignmentPeriod = "60s",
                                PerSeriesAligner = "ALIGN_RATE",
                            },
                        },
                        EvaluationMissingData = "EVALUATION_MISSING_DATA_INACTIVE",
                    },
                },
            },
            UserLabels = 
            {
                { "foo", "bar" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.AlertPolicy;
    import com.pulumi.gcp.monitoring.AlertPolicyArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionConditionThresholdArgs;
    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 alertPolicy = new AlertPolicy("alertPolicy", AlertPolicyArgs.builder()
                .displayName("My Alert Policy")
                .combiner("OR")
                .conditions(AlertPolicyConditionArgs.builder()
                    .displayName("test condition")
                    .conditionThreshold(AlertPolicyConditionConditionThresholdArgs.builder()
                        .filter("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"")
                        .duration("60s")
                        .comparison("COMPARISON_GT")
                        .aggregations(AlertPolicyConditionConditionThresholdAggregationArgs.builder()
                            .alignmentPeriod("60s")
                            .perSeriesAligner("ALIGN_RATE")
                            .build())
                        .evaluationMissingData("EVALUATION_MISSING_DATA_INACTIVE")
                        .build())
                    .build())
                .userLabels(Map.of("foo", "bar"))
                .build());
    
        }
    }
    
    resources:
      alertPolicy:
        type: gcp:monitoring:AlertPolicy
        name: alert_policy
        properties:
          displayName: My Alert Policy
          combiner: OR
          conditions:
            - displayName: test condition
              conditionThreshold:
                filter: metric.type="compute.googleapis.com/instance/disk/write_bytes_count" AND resource.type="gce_instance"
                duration: 60s
                comparison: COMPARISON_GT
                aggregations:
                  - alignmentPeriod: 60s
                    perSeriesAligner: ALIGN_RATE
                evaluationMissingData: EVALUATION_MISSING_DATA_INACTIVE
          userLabels:
            foo: bar
    

    Monitoring Alert Policy Forecast Options

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const alertPolicy = new gcp.monitoring.AlertPolicy("alert_policy", {
        displayName: "My Alert Policy",
        combiner: "OR",
        conditions: [{
            displayName: "test condition",
            conditionThreshold: {
                filter: "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration: "60s",
                forecastOptions: {
                    forecastHorizon: "3600s",
                },
                comparison: "COMPARISON_GT",
                aggregations: [{
                    alignmentPeriod: "60s",
                    perSeriesAligner: "ALIGN_RATE",
                }],
            },
        }],
        userLabels: {
            foo: "bar",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
        display_name="My Alert Policy",
        combiner="OR",
        conditions=[gcp.monitoring.AlertPolicyConditionArgs(
            display_name="test condition",
            condition_threshold=gcp.monitoring.AlertPolicyConditionConditionThresholdArgs(
                filter="metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                duration="60s",
                forecast_options=gcp.monitoring.AlertPolicyConditionConditionThresholdForecastOptionsArgs(
                    forecast_horizon="3600s",
                ),
                comparison="COMPARISON_GT",
                aggregations=[gcp.monitoring.AlertPolicyConditionConditionThresholdAggregationArgs(
                    alignment_period="60s",
                    per_series_aligner="ALIGN_RATE",
                )],
            ),
        )],
        user_labels={
            "foo": "bar",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := monitoring.NewAlertPolicy(ctx, "alert_policy", &monitoring.AlertPolicyArgs{
    			DisplayName: pulumi.String("My Alert Policy"),
    			Combiner:    pulumi.String("OR"),
    			Conditions: monitoring.AlertPolicyConditionArray{
    				&monitoring.AlertPolicyConditionArgs{
    					DisplayName: pulumi.String("test condition"),
    					ConditionThreshold: &monitoring.AlertPolicyConditionConditionThresholdArgs{
    						Filter:   pulumi.String("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\""),
    						Duration: pulumi.String("60s"),
    						ForecastOptions: &monitoring.AlertPolicyConditionConditionThresholdForecastOptionsArgs{
    							ForecastHorizon: pulumi.String("3600s"),
    						},
    						Comparison: pulumi.String("COMPARISON_GT"),
    						Aggregations: monitoring.AlertPolicyConditionConditionThresholdAggregationArray{
    							&monitoring.AlertPolicyConditionConditionThresholdAggregationArgs{
    								AlignmentPeriod:  pulumi.String("60s"),
    								PerSeriesAligner: pulumi.String("ALIGN_RATE"),
    							},
    						},
    					},
    				},
    			},
    			UserLabels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var alertPolicy = new Gcp.Monitoring.AlertPolicy("alert_policy", new()
        {
            DisplayName = "My Alert Policy",
            Combiner = "OR",
            Conditions = new[]
            {
                new Gcp.Monitoring.Inputs.AlertPolicyConditionArgs
                {
                    DisplayName = "test condition",
                    ConditionThreshold = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdArgs
                    {
                        Filter = "metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"",
                        Duration = "60s",
                        ForecastOptions = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdForecastOptionsArgs
                        {
                            ForecastHorizon = "3600s",
                        },
                        Comparison = "COMPARISON_GT",
                        Aggregations = new[]
                        {
                            new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdAggregationArgs
                            {
                                AlignmentPeriod = "60s",
                                PerSeriesAligner = "ALIGN_RATE",
                            },
                        },
                    },
                },
            },
            UserLabels = 
            {
                { "foo", "bar" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.AlertPolicy;
    import com.pulumi.gcp.monitoring.AlertPolicyArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionConditionThresholdArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionConditionThresholdForecastOptionsArgs;
    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 alertPolicy = new AlertPolicy("alertPolicy", AlertPolicyArgs.builder()
                .displayName("My Alert Policy")
                .combiner("OR")
                .conditions(AlertPolicyConditionArgs.builder()
                    .displayName("test condition")
                    .conditionThreshold(AlertPolicyConditionConditionThresholdArgs.builder()
                        .filter("metric.type=\"compute.googleapis.com/instance/disk/write_bytes_count\" AND resource.type=\"gce_instance\"")
                        .duration("60s")
                        .forecastOptions(AlertPolicyConditionConditionThresholdForecastOptionsArgs.builder()
                            .forecastHorizon("3600s")
                            .build())
                        .comparison("COMPARISON_GT")
                        .aggregations(AlertPolicyConditionConditionThresholdAggregationArgs.builder()
                            .alignmentPeriod("60s")
                            .perSeriesAligner("ALIGN_RATE")
                            .build())
                        .build())
                    .build())
                .userLabels(Map.of("foo", "bar"))
                .build());
    
        }
    }
    
    resources:
      alertPolicy:
        type: gcp:monitoring:AlertPolicy
        name: alert_policy
        properties:
          displayName: My Alert Policy
          combiner: OR
          conditions:
            - displayName: test condition
              conditionThreshold:
                filter: metric.type="compute.googleapis.com/instance/disk/write_bytes_count" AND resource.type="gce_instance"
                duration: 60s
                forecastOptions:
                  forecastHorizon: 3600s
                comparison: COMPARISON_GT
                aggregations:
                  - alignmentPeriod: 60s
                    perSeriesAligner: ALIGN_RATE
          userLabels:
            foo: bar
    

    Monitoring Alert Policy Promql Condition

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const alertPolicy = new gcp.monitoring.AlertPolicy("alert_policy", {
        displayName: "My Alert Policy",
        combiner: "OR",
        conditions: [{
            displayName: "test condition",
            conditionPrometheusQueryLanguage: {
                query: "compute_googleapis_com:instance_cpu_usage_time > 0",
                duration: "60s",
                evaluationInterval: "60s",
                alertRule: "AlwaysOn",
                ruleGroup: "a test",
            },
        }],
        alertStrategy: {
            autoClose: "1800s",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
        display_name="My Alert Policy",
        combiner="OR",
        conditions=[gcp.monitoring.AlertPolicyConditionArgs(
            display_name="test condition",
            condition_prometheus_query_language=gcp.monitoring.AlertPolicyConditionConditionPrometheusQueryLanguageArgs(
                query="compute_googleapis_com:instance_cpu_usage_time > 0",
                duration="60s",
                evaluation_interval="60s",
                alert_rule="AlwaysOn",
                rule_group="a test",
            ),
        )],
        alert_strategy=gcp.monitoring.AlertPolicyAlertStrategyArgs(
            auto_close="1800s",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := monitoring.NewAlertPolicy(ctx, "alert_policy", &monitoring.AlertPolicyArgs{
    			DisplayName: pulumi.String("My Alert Policy"),
    			Combiner:    pulumi.String("OR"),
    			Conditions: monitoring.AlertPolicyConditionArray{
    				&monitoring.AlertPolicyConditionArgs{
    					DisplayName: pulumi.String("test condition"),
    					ConditionPrometheusQueryLanguage: &monitoring.AlertPolicyConditionConditionPrometheusQueryLanguageArgs{
    						Query:              pulumi.String("compute_googleapis_com:instance_cpu_usage_time > 0"),
    						Duration:           pulumi.String("60s"),
    						EvaluationInterval: pulumi.String("60s"),
    						AlertRule:          pulumi.String("AlwaysOn"),
    						RuleGroup:          pulumi.String("a test"),
    					},
    				},
    			},
    			AlertStrategy: &monitoring.AlertPolicyAlertStrategyArgs{
    				AutoClose: pulumi.String("1800s"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var alertPolicy = new Gcp.Monitoring.AlertPolicy("alert_policy", new()
        {
            DisplayName = "My Alert Policy",
            Combiner = "OR",
            Conditions = new[]
            {
                new Gcp.Monitoring.Inputs.AlertPolicyConditionArgs
                {
                    DisplayName = "test condition",
                    ConditionPrometheusQueryLanguage = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionPrometheusQueryLanguageArgs
                    {
                        Query = "compute_googleapis_com:instance_cpu_usage_time > 0",
                        Duration = "60s",
                        EvaluationInterval = "60s",
                        AlertRule = "AlwaysOn",
                        RuleGroup = "a test",
                    },
                },
            },
            AlertStrategy = new Gcp.Monitoring.Inputs.AlertPolicyAlertStrategyArgs
            {
                AutoClose = "1800s",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.AlertPolicy;
    import com.pulumi.gcp.monitoring.AlertPolicyArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyConditionConditionPrometheusQueryLanguageArgs;
    import com.pulumi.gcp.monitoring.inputs.AlertPolicyAlertStrategyArgs;
    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 alertPolicy = new AlertPolicy("alertPolicy", AlertPolicyArgs.builder()
                .displayName("My Alert Policy")
                .combiner("OR")
                .conditions(AlertPolicyConditionArgs.builder()
                    .displayName("test condition")
                    .conditionPrometheusQueryLanguage(AlertPolicyConditionConditionPrometheusQueryLanguageArgs.builder()
                        .query("compute_googleapis_com:instance_cpu_usage_time > 0")
                        .duration("60s")
                        .evaluationInterval("60s")
                        .alertRule("AlwaysOn")
                        .ruleGroup("a test")
                        .build())
                    .build())
                .alertStrategy(AlertPolicyAlertStrategyArgs.builder()
                    .autoClose("1800s")
                    .build())
                .build());
    
        }
    }
    
    resources:
      alertPolicy:
        type: gcp:monitoring:AlertPolicy
        name: alert_policy
        properties:
          displayName: My Alert Policy
          combiner: OR
          conditions:
            - displayName: test condition
              conditionPrometheusQueryLanguage:
                query: compute_googleapis_com:instance_cpu_usage_time > 0
                duration: 60s
                evaluationInterval: 60s
                alertRule: AlwaysOn
                ruleGroup: a test
          alertStrategy:
            autoClose: 1800s
    

    Create AlertPolicy Resource

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

    Constructor syntax

    new AlertPolicy(name: string, args: AlertPolicyArgs, opts?: CustomResourceOptions);
    @overload
    def AlertPolicy(resource_name: str,
                    args: AlertPolicyArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def AlertPolicy(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    combiner: Optional[str] = None,
                    conditions: Optional[Sequence[AlertPolicyConditionArgs]] = None,
                    display_name: Optional[str] = None,
                    alert_strategy: Optional[AlertPolicyAlertStrategyArgs] = None,
                    documentation: Optional[AlertPolicyDocumentationArgs] = None,
                    enabled: Optional[bool] = None,
                    notification_channels: Optional[Sequence[str]] = None,
                    project: Optional[str] = None,
                    severity: Optional[str] = None,
                    user_labels: Optional[Mapping[str, str]] = None)
    func NewAlertPolicy(ctx *Context, name string, args AlertPolicyArgs, opts ...ResourceOption) (*AlertPolicy, error)
    public AlertPolicy(string name, AlertPolicyArgs args, CustomResourceOptions? opts = null)
    public AlertPolicy(String name, AlertPolicyArgs args)
    public AlertPolicy(String name, AlertPolicyArgs args, CustomResourceOptions options)
    
    type: gcp:monitoring:AlertPolicy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var alertPolicyResource = new Gcp.Monitoring.AlertPolicy("alertPolicyResource", new()
    {
        Combiner = "string",
        Conditions = new[]
        {
            new Gcp.Monitoring.Inputs.AlertPolicyConditionArgs
            {
                DisplayName = "string",
                ConditionAbsent = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionAbsentArgs
                {
                    Duration = "string",
                    Aggregations = new[]
                    {
                        new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionAbsentAggregationArgs
                        {
                            AlignmentPeriod = "string",
                            CrossSeriesReducer = "string",
                            GroupByFields = new[]
                            {
                                "string",
                            },
                            PerSeriesAligner = "string",
                        },
                    },
                    Filter = "string",
                    Trigger = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionAbsentTriggerArgs
                    {
                        Count = 0,
                        Percent = 0,
                    },
                },
                ConditionMatchedLog = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionMatchedLogArgs
                {
                    Filter = "string",
                    LabelExtractors = 
                    {
                        { "string", "string" },
                    },
                },
                ConditionMonitoringQueryLanguage = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionMonitoringQueryLanguageArgs
                {
                    Duration = "string",
                    Query = "string",
                    EvaluationMissingData = "string",
                    Trigger = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionMonitoringQueryLanguageTriggerArgs
                    {
                        Count = 0,
                        Percent = 0,
                    },
                },
                ConditionPrometheusQueryLanguage = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionPrometheusQueryLanguageArgs
                {
                    Query = "string",
                    AlertRule = "string",
                    Duration = "string",
                    EvaluationInterval = "string",
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    RuleGroup = "string",
                },
                ConditionThreshold = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdArgs
                {
                    Comparison = "string",
                    Duration = "string",
                    Aggregations = new[]
                    {
                        new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdAggregationArgs
                        {
                            AlignmentPeriod = "string",
                            CrossSeriesReducer = "string",
                            GroupByFields = new[]
                            {
                                "string",
                            },
                            PerSeriesAligner = "string",
                        },
                    },
                    DenominatorAggregations = new[]
                    {
                        new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdDenominatorAggregationArgs
                        {
                            AlignmentPeriod = "string",
                            CrossSeriesReducer = "string",
                            GroupByFields = new[]
                            {
                                "string",
                            },
                            PerSeriesAligner = "string",
                        },
                    },
                    DenominatorFilter = "string",
                    EvaluationMissingData = "string",
                    Filter = "string",
                    ForecastOptions = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdForecastOptionsArgs
                    {
                        ForecastHorizon = "string",
                    },
                    ThresholdValue = 0,
                    Trigger = new Gcp.Monitoring.Inputs.AlertPolicyConditionConditionThresholdTriggerArgs
                    {
                        Count = 0,
                        Percent = 0,
                    },
                },
                Name = "string",
            },
        },
        DisplayName = "string",
        AlertStrategy = new Gcp.Monitoring.Inputs.AlertPolicyAlertStrategyArgs
        {
            AutoClose = "string",
            NotificationChannelStrategies = new[]
            {
                new Gcp.Monitoring.Inputs.AlertPolicyAlertStrategyNotificationChannelStrategyArgs
                {
                    NotificationChannelNames = new[]
                    {
                        "string",
                    },
                    RenotifyInterval = "string",
                },
            },
            NotificationRateLimit = new Gcp.Monitoring.Inputs.AlertPolicyAlertStrategyNotificationRateLimitArgs
            {
                Period = "string",
            },
        },
        Documentation = new Gcp.Monitoring.Inputs.AlertPolicyDocumentationArgs
        {
            Content = "string",
            MimeType = "string",
            Subject = "string",
        },
        Enabled = false,
        NotificationChannels = new[]
        {
            "string",
        },
        Project = "string",
        Severity = "string",
        UserLabels = 
        {
            { "string", "string" },
        },
    });
    
    example, err := monitoring.NewAlertPolicy(ctx, "alertPolicyResource", &monitoring.AlertPolicyArgs{
    	Combiner: pulumi.String("string"),
    	Conditions: monitoring.AlertPolicyConditionArray{
    		&monitoring.AlertPolicyConditionArgs{
    			DisplayName: pulumi.String("string"),
    			ConditionAbsent: &monitoring.AlertPolicyConditionConditionAbsentArgs{
    				Duration: pulumi.String("string"),
    				Aggregations: monitoring.AlertPolicyConditionConditionAbsentAggregationArray{
    					&monitoring.AlertPolicyConditionConditionAbsentAggregationArgs{
    						AlignmentPeriod:    pulumi.String("string"),
    						CrossSeriesReducer: pulumi.String("string"),
    						GroupByFields: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PerSeriesAligner: pulumi.String("string"),
    					},
    				},
    				Filter: pulumi.String("string"),
    				Trigger: &monitoring.AlertPolicyConditionConditionAbsentTriggerArgs{
    					Count:   pulumi.Int(0),
    					Percent: pulumi.Float64(0),
    				},
    			},
    			ConditionMatchedLog: &monitoring.AlertPolicyConditionConditionMatchedLogArgs{
    				Filter: pulumi.String("string"),
    				LabelExtractors: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			ConditionMonitoringQueryLanguage: &monitoring.AlertPolicyConditionConditionMonitoringQueryLanguageArgs{
    				Duration:              pulumi.String("string"),
    				Query:                 pulumi.String("string"),
    				EvaluationMissingData: pulumi.String("string"),
    				Trigger: &monitoring.AlertPolicyConditionConditionMonitoringQueryLanguageTriggerArgs{
    					Count:   pulumi.Int(0),
    					Percent: pulumi.Float64(0),
    				},
    			},
    			ConditionPrometheusQueryLanguage: &monitoring.AlertPolicyConditionConditionPrometheusQueryLanguageArgs{
    				Query:              pulumi.String("string"),
    				AlertRule:          pulumi.String("string"),
    				Duration:           pulumi.String("string"),
    				EvaluationInterval: pulumi.String("string"),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				RuleGroup: pulumi.String("string"),
    			},
    			ConditionThreshold: &monitoring.AlertPolicyConditionConditionThresholdArgs{
    				Comparison: pulumi.String("string"),
    				Duration:   pulumi.String("string"),
    				Aggregations: monitoring.AlertPolicyConditionConditionThresholdAggregationArray{
    					&monitoring.AlertPolicyConditionConditionThresholdAggregationArgs{
    						AlignmentPeriod:    pulumi.String("string"),
    						CrossSeriesReducer: pulumi.String("string"),
    						GroupByFields: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PerSeriesAligner: pulumi.String("string"),
    					},
    				},
    				DenominatorAggregations: monitoring.AlertPolicyConditionConditionThresholdDenominatorAggregationArray{
    					&monitoring.AlertPolicyConditionConditionThresholdDenominatorAggregationArgs{
    						AlignmentPeriod:    pulumi.String("string"),
    						CrossSeriesReducer: pulumi.String("string"),
    						GroupByFields: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PerSeriesAligner: pulumi.String("string"),
    					},
    				},
    				DenominatorFilter:     pulumi.String("string"),
    				EvaluationMissingData: pulumi.String("string"),
    				Filter:                pulumi.String("string"),
    				ForecastOptions: &monitoring.AlertPolicyConditionConditionThresholdForecastOptionsArgs{
    					ForecastHorizon: pulumi.String("string"),
    				},
    				ThresholdValue: pulumi.Float64(0),
    				Trigger: &monitoring.AlertPolicyConditionConditionThresholdTriggerArgs{
    					Count:   pulumi.Int(0),
    					Percent: pulumi.Float64(0),
    				},
    			},
    			Name: pulumi.String("string"),
    		},
    	},
    	DisplayName: pulumi.String("string"),
    	AlertStrategy: &monitoring.AlertPolicyAlertStrategyArgs{
    		AutoClose: pulumi.String("string"),
    		NotificationChannelStrategies: monitoring.AlertPolicyAlertStrategyNotificationChannelStrategyArray{
    			&monitoring.AlertPolicyAlertStrategyNotificationChannelStrategyArgs{
    				NotificationChannelNames: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				RenotifyInterval: pulumi.String("string"),
    			},
    		},
    		NotificationRateLimit: &monitoring.AlertPolicyAlertStrategyNotificationRateLimitArgs{
    			Period: pulumi.String("string"),
    		},
    	},
    	Documentation: &monitoring.AlertPolicyDocumentationArgs{
    		Content:  pulumi.String("string"),
    		MimeType: pulumi.String("string"),
    		Subject:  pulumi.String("string"),
    	},
    	Enabled: pulumi.Bool(false),
    	NotificationChannels: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Project:  pulumi.String("string"),
    	Severity: pulumi.String("string"),
    	UserLabels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var alertPolicyResource = new AlertPolicy("alertPolicyResource", AlertPolicyArgs.builder()
        .combiner("string")
        .conditions(AlertPolicyConditionArgs.builder()
            .displayName("string")
            .conditionAbsent(AlertPolicyConditionConditionAbsentArgs.builder()
                .duration("string")
                .aggregations(AlertPolicyConditionConditionAbsentAggregationArgs.builder()
                    .alignmentPeriod("string")
                    .crossSeriesReducer("string")
                    .groupByFields("string")
                    .perSeriesAligner("string")
                    .build())
                .filter("string")
                .trigger(AlertPolicyConditionConditionAbsentTriggerArgs.builder()
                    .count(0)
                    .percent(0)
                    .build())
                .build())
            .conditionMatchedLog(AlertPolicyConditionConditionMatchedLogArgs.builder()
                .filter("string")
                .labelExtractors(Map.of("string", "string"))
                .build())
            .conditionMonitoringQueryLanguage(AlertPolicyConditionConditionMonitoringQueryLanguageArgs.builder()
                .duration("string")
                .query("string")
                .evaluationMissingData("string")
                .trigger(AlertPolicyConditionConditionMonitoringQueryLanguageTriggerArgs.builder()
                    .count(0)
                    .percent(0)
                    .build())
                .build())
            .conditionPrometheusQueryLanguage(AlertPolicyConditionConditionPrometheusQueryLanguageArgs.builder()
                .query("string")
                .alertRule("string")
                .duration("string")
                .evaluationInterval("string")
                .labels(Map.of("string", "string"))
                .ruleGroup("string")
                .build())
            .conditionThreshold(AlertPolicyConditionConditionThresholdArgs.builder()
                .comparison("string")
                .duration("string")
                .aggregations(AlertPolicyConditionConditionThresholdAggregationArgs.builder()
                    .alignmentPeriod("string")
                    .crossSeriesReducer("string")
                    .groupByFields("string")
                    .perSeriesAligner("string")
                    .build())
                .denominatorAggregations(AlertPolicyConditionConditionThresholdDenominatorAggregationArgs.builder()
                    .alignmentPeriod("string")
                    .crossSeriesReducer("string")
                    .groupByFields("string")
                    .perSeriesAligner("string")
                    .build())
                .denominatorFilter("string")
                .evaluationMissingData("string")
                .filter("string")
                .forecastOptions(AlertPolicyConditionConditionThresholdForecastOptionsArgs.builder()
                    .forecastHorizon("string")
                    .build())
                .thresholdValue(0)
                .trigger(AlertPolicyConditionConditionThresholdTriggerArgs.builder()
                    .count(0)
                    .percent(0)
                    .build())
                .build())
            .name("string")
            .build())
        .displayName("string")
        .alertStrategy(AlertPolicyAlertStrategyArgs.builder()
            .autoClose("string")
            .notificationChannelStrategies(AlertPolicyAlertStrategyNotificationChannelStrategyArgs.builder()
                .notificationChannelNames("string")
                .renotifyInterval("string")
                .build())
            .notificationRateLimit(AlertPolicyAlertStrategyNotificationRateLimitArgs.builder()
                .period("string")
                .build())
            .build())
        .documentation(AlertPolicyDocumentationArgs.builder()
            .content("string")
            .mimeType("string")
            .subject("string")
            .build())
        .enabled(false)
        .notificationChannels("string")
        .project("string")
        .severity("string")
        .userLabels(Map.of("string", "string"))
        .build());
    
    alert_policy_resource = gcp.monitoring.AlertPolicy("alertPolicyResource",
        combiner="string",
        conditions=[gcp.monitoring.AlertPolicyConditionArgs(
            display_name="string",
            condition_absent=gcp.monitoring.AlertPolicyConditionConditionAbsentArgs(
                duration="string",
                aggregations=[gcp.monitoring.AlertPolicyConditionConditionAbsentAggregationArgs(
                    alignment_period="string",
                    cross_series_reducer="string",
                    group_by_fields=["string"],
                    per_series_aligner="string",
                )],
                filter="string",
                trigger=gcp.monitoring.AlertPolicyConditionConditionAbsentTriggerArgs(
                    count=0,
                    percent=0,
                ),
            ),
            condition_matched_log=gcp.monitoring.AlertPolicyConditionConditionMatchedLogArgs(
                filter="string",
                label_extractors={
                    "string": "string",
                },
            ),
            condition_monitoring_query_language=gcp.monitoring.AlertPolicyConditionConditionMonitoringQueryLanguageArgs(
                duration="string",
                query="string",
                evaluation_missing_data="string",
                trigger=gcp.monitoring.AlertPolicyConditionConditionMonitoringQueryLanguageTriggerArgs(
                    count=0,
                    percent=0,
                ),
            ),
            condition_prometheus_query_language=gcp.monitoring.AlertPolicyConditionConditionPrometheusQueryLanguageArgs(
                query="string",
                alert_rule="string",
                duration="string",
                evaluation_interval="string",
                labels={
                    "string": "string",
                },
                rule_group="string",
            ),
            condition_threshold=gcp.monitoring.AlertPolicyConditionConditionThresholdArgs(
                comparison="string",
                duration="string",
                aggregations=[gcp.monitoring.AlertPolicyConditionConditionThresholdAggregationArgs(
                    alignment_period="string",
                    cross_series_reducer="string",
                    group_by_fields=["string"],
                    per_series_aligner="string",
                )],
                denominator_aggregations=[gcp.monitoring.AlertPolicyConditionConditionThresholdDenominatorAggregationArgs(
                    alignment_period="string",
                    cross_series_reducer="string",
                    group_by_fields=["string"],
                    per_series_aligner="string",
                )],
                denominator_filter="string",
                evaluation_missing_data="string",
                filter="string",
                forecast_options=gcp.monitoring.AlertPolicyConditionConditionThresholdForecastOptionsArgs(
                    forecast_horizon="string",
                ),
                threshold_value=0,
                trigger=gcp.monitoring.AlertPolicyConditionConditionThresholdTriggerArgs(
                    count=0,
                    percent=0,
                ),
            ),
            name="string",
        )],
        display_name="string",
        alert_strategy=gcp.monitoring.AlertPolicyAlertStrategyArgs(
            auto_close="string",
            notification_channel_strategies=[gcp.monitoring.AlertPolicyAlertStrategyNotificationChannelStrategyArgs(
                notification_channel_names=["string"],
                renotify_interval="string",
            )],
            notification_rate_limit=gcp.monitoring.AlertPolicyAlertStrategyNotificationRateLimitArgs(
                period="string",
            ),
        ),
        documentation=gcp.monitoring.AlertPolicyDocumentationArgs(
            content="string",
            mime_type="string",
            subject="string",
        ),
        enabled=False,
        notification_channels=["string"],
        project="string",
        severity="string",
        user_labels={
            "string": "string",
        })
    
    const alertPolicyResource = new gcp.monitoring.AlertPolicy("alertPolicyResource", {
        combiner: "string",
        conditions: [{
            displayName: "string",
            conditionAbsent: {
                duration: "string",
                aggregations: [{
                    alignmentPeriod: "string",
                    crossSeriesReducer: "string",
                    groupByFields: ["string"],
                    perSeriesAligner: "string",
                }],
                filter: "string",
                trigger: {
                    count: 0,
                    percent: 0,
                },
            },
            conditionMatchedLog: {
                filter: "string",
                labelExtractors: {
                    string: "string",
                },
            },
            conditionMonitoringQueryLanguage: {
                duration: "string",
                query: "string",
                evaluationMissingData: "string",
                trigger: {
                    count: 0,
                    percent: 0,
                },
            },
            conditionPrometheusQueryLanguage: {
                query: "string",
                alertRule: "string",
                duration: "string",
                evaluationInterval: "string",
                labels: {
                    string: "string",
                },
                ruleGroup: "string",
            },
            conditionThreshold: {
                comparison: "string",
                duration: "string",
                aggregations: [{
                    alignmentPeriod: "string",
                    crossSeriesReducer: "string",
                    groupByFields: ["string"],
                    perSeriesAligner: "string",
                }],
                denominatorAggregations: [{
                    alignmentPeriod: "string",
                    crossSeriesReducer: "string",
                    groupByFields: ["string"],
                    perSeriesAligner: "string",
                }],
                denominatorFilter: "string",
                evaluationMissingData: "string",
                filter: "string",
                forecastOptions: {
                    forecastHorizon: "string",
                },
                thresholdValue: 0,
                trigger: {
                    count: 0,
                    percent: 0,
                },
            },
            name: "string",
        }],
        displayName: "string",
        alertStrategy: {
            autoClose: "string",
            notificationChannelStrategies: [{
                notificationChannelNames: ["string"],
                renotifyInterval: "string",
            }],
            notificationRateLimit: {
                period: "string",
            },
        },
        documentation: {
            content: "string",
            mimeType: "string",
            subject: "string",
        },
        enabled: false,
        notificationChannels: ["string"],
        project: "string",
        severity: "string",
        userLabels: {
            string: "string",
        },
    });
    
    type: gcp:monitoring:AlertPolicy
    properties:
        alertStrategy:
            autoClose: string
            notificationChannelStrategies:
                - notificationChannelNames:
                    - string
                  renotifyInterval: string
            notificationRateLimit:
                period: string
        combiner: string
        conditions:
            - conditionAbsent:
                aggregations:
                    - alignmentPeriod: string
                      crossSeriesReducer: string
                      groupByFields:
                        - string
                      perSeriesAligner: string
                duration: string
                filter: string
                trigger:
                    count: 0
                    percent: 0
              conditionMatchedLog:
                filter: string
                labelExtractors:
                    string: string
              conditionMonitoringQueryLanguage:
                duration: string
                evaluationMissingData: string
                query: string
                trigger:
                    count: 0
                    percent: 0
              conditionPrometheusQueryLanguage:
                alertRule: string
                duration: string
                evaluationInterval: string
                labels:
                    string: string
                query: string
                ruleGroup: string
              conditionThreshold:
                aggregations:
                    - alignmentPeriod: string
                      crossSeriesReducer: string
                      groupByFields:
                        - string
                      perSeriesAligner: string
                comparison: string
                denominatorAggregations:
                    - alignmentPeriod: string
                      crossSeriesReducer: string
                      groupByFields:
                        - string
                      perSeriesAligner: string
                denominatorFilter: string
                duration: string
                evaluationMissingData: string
                filter: string
                forecastOptions:
                    forecastHorizon: string
                thresholdValue: 0
                trigger:
                    count: 0
                    percent: 0
              displayName: string
              name: string
        displayName: string
        documentation:
            content: string
            mimeType: string
            subject: string
        enabled: false
        notificationChannels:
            - string
        project: string
        severity: string
        userLabels:
            string: string
    

    AlertPolicy Resource Properties

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

    Inputs

    The AlertPolicy resource accepts the following input properties:

    Combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    Conditions List<AlertPolicyCondition>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    DisplayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    AlertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    Documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    Enabled bool
    Whether or not the policy is enabled. The default is true.
    NotificationChannels List<string>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    Project string
    Severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    UserLabels Dictionary<string, string>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    Combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    Conditions []AlertPolicyConditionArgs
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    DisplayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    AlertStrategy AlertPolicyAlertStrategyArgs
    Control over how this alert policy's notification channels are notified.
    Documentation AlertPolicyDocumentationArgs
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    Enabled bool
    Whether or not the policy is enabled. The default is true.
    NotificationChannels []string
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    Project string
    Severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    UserLabels map[string]string
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    combiner String
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions List<AlertPolicyCondition>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    displayName String
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    alertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled Boolean
    Whether or not the policy is enabled. The default is true.
    notificationChannels List<String>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project String
    severity String
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels Map<String,String>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions AlertPolicyCondition[]
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    displayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    alertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled boolean
    Whether or not the policy is enabled. The default is true.
    notificationChannels string[]
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project string
    severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels {[key: string]: string}
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    combiner str
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions Sequence[AlertPolicyConditionArgs]
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    display_name str
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    alert_strategy AlertPolicyAlertStrategyArgs
    Control over how this alert policy's notification channels are notified.
    documentation AlertPolicyDocumentationArgs
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled bool
    Whether or not the policy is enabled. The default is true.
    notification_channels Sequence[str]
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project str
    severity str
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    user_labels Mapping[str, str]
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    combiner String
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions List<Property Map>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    displayName String
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    alertStrategy Property Map
    Control over how this alert policy's notification channels are notified.
    documentation Property Map
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled Boolean
    Whether or not the policy is enabled. The default is true.
    notificationChannels List<String>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project String
    severity String
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels Map<String>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

    Outputs

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

    CreationRecords List<AlertPolicyCreationRecord>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    CreationRecords []AlertPolicyCreationRecord
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    creationRecords List<AlertPolicyCreationRecord>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    creationRecords AlertPolicyCreationRecord[]
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    creation_records Sequence[AlertPolicyCreationRecord]
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    creationRecords List<Property Map>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]

    Look up Existing AlertPolicy Resource

    Get an existing AlertPolicy 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?: AlertPolicyState, opts?: CustomResourceOptions): AlertPolicy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alert_strategy: Optional[AlertPolicyAlertStrategyArgs] = None,
            combiner: Optional[str] = None,
            conditions: Optional[Sequence[AlertPolicyConditionArgs]] = None,
            creation_records: Optional[Sequence[AlertPolicyCreationRecordArgs]] = None,
            display_name: Optional[str] = None,
            documentation: Optional[AlertPolicyDocumentationArgs] = None,
            enabled: Optional[bool] = None,
            name: Optional[str] = None,
            notification_channels: Optional[Sequence[str]] = None,
            project: Optional[str] = None,
            severity: Optional[str] = None,
            user_labels: Optional[Mapping[str, str]] = None) -> AlertPolicy
    func GetAlertPolicy(ctx *Context, name string, id IDInput, state *AlertPolicyState, opts ...ResourceOption) (*AlertPolicy, error)
    public static AlertPolicy Get(string name, Input<string> id, AlertPolicyState? state, CustomResourceOptions? opts = null)
    public static AlertPolicy get(String name, Output<String> id, AlertPolicyState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AlertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    Combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    Conditions List<AlertPolicyCondition>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    CreationRecords List<AlertPolicyCreationRecord>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    DisplayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    Documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    Enabled bool
    Whether or not the policy is enabled. The default is true.
    Name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    NotificationChannels List<string>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    Project string
    Severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    UserLabels Dictionary<string, string>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    AlertStrategy AlertPolicyAlertStrategyArgs
    Control over how this alert policy's notification channels are notified.
    Combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    Conditions []AlertPolicyConditionArgs
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    CreationRecords []AlertPolicyCreationRecordArgs
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    DisplayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    Documentation AlertPolicyDocumentationArgs
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    Enabled bool
    Whether or not the policy is enabled. The default is true.
    Name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    NotificationChannels []string
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    Project string
    Severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    UserLabels map[string]string
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    alertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    combiner String
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions List<AlertPolicyCondition>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    creationRecords List<AlertPolicyCreationRecord>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    displayName String
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled Boolean
    Whether or not the policy is enabled. The default is true.
    name String
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    notificationChannels List<String>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project String
    severity String
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels Map<String,String>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    alertStrategy AlertPolicyAlertStrategy
    Control over how this alert policy's notification channels are notified.
    combiner string
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions AlertPolicyCondition[]
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    creationRecords AlertPolicyCreationRecord[]
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    displayName string
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    documentation AlertPolicyDocumentation
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled boolean
    Whether or not the policy is enabled. The default is true.
    name string
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    notificationChannels string[]
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project string
    severity string
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels {[key: string]: string}
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    alert_strategy AlertPolicyAlertStrategyArgs
    Control over how this alert policy's notification channels are notified.
    combiner str
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions Sequence[AlertPolicyConditionArgs]
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    creation_records Sequence[AlertPolicyCreationRecordArgs]
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    display_name str
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    documentation AlertPolicyDocumentationArgs
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled bool
    Whether or not the policy is enabled. The default is true.
    name str
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    notification_channels Sequence[str]
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project str
    severity str
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    user_labels Mapping[str, str]
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    alertStrategy Property Map
    Control over how this alert policy's notification channels are notified.
    combiner String
    How to combine the results of multiple conditions to determine if an incident should be opened. Possible values are: AND, OR, AND_WITH_MATCHING_RESOURCE.
    conditions List<Property Map>
    A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. Structure is documented below.
    creationRecords List<Property Map>
    A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored. Structure is documented below.
    displayName String
    A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.
    documentation Property Map
    Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
    enabled Boolean
    Whether or not the policy is enabled. The default is true.
    name String
    The unique resource name for this policy. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
    notificationChannels List<String>
    Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the notificationChannels.list method. The syntax of the entries in this field is 'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'
    project String
    severity String
    The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. Possible values: ["CRITICAL", "ERROR", "WARNING"]
    userLabels Map<String>
    This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

    Supporting Types

    AlertPolicyAlertStrategy, AlertPolicyAlertStrategyArgs

    AutoClose string
    If an alert policy that was active has no data for this long, any open incidents will close.
    NotificationChannelStrategies List<AlertPolicyAlertStrategyNotificationChannelStrategy>
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    NotificationRateLimit AlertPolicyAlertStrategyNotificationRateLimit
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.
    AutoClose string
    If an alert policy that was active has no data for this long, any open incidents will close.
    NotificationChannelStrategies []AlertPolicyAlertStrategyNotificationChannelStrategy
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    NotificationRateLimit AlertPolicyAlertStrategyNotificationRateLimit
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.
    autoClose String
    If an alert policy that was active has no data for this long, any open incidents will close.
    notificationChannelStrategies List<AlertPolicyAlertStrategyNotificationChannelStrategy>
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    notificationRateLimit AlertPolicyAlertStrategyNotificationRateLimit
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.
    autoClose string
    If an alert policy that was active has no data for this long, any open incidents will close.
    notificationChannelStrategies AlertPolicyAlertStrategyNotificationChannelStrategy[]
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    notificationRateLimit AlertPolicyAlertStrategyNotificationRateLimit
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.
    auto_close str
    If an alert policy that was active has no data for this long, any open incidents will close.
    notification_channel_strategies Sequence[AlertPolicyAlertStrategyNotificationChannelStrategy]
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    notification_rate_limit AlertPolicyAlertStrategyNotificationRateLimit
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.
    autoClose String
    If an alert policy that was active has no data for this long, any open incidents will close.
    notificationChannelStrategies List<Property Map>
    Control over how the notification channels in notification_channels are notified when this alert fires, on a per-channel basis. Structure is documented below.
    notificationRateLimit Property Map
    Required for alert policies with a LogMatch condition. This limit is not implemented for alert policies that are not log-based. Structure is documented below.

    AlertPolicyAlertStrategyNotificationChannelStrategy, AlertPolicyAlertStrategyNotificationChannelStrategyArgs

    NotificationChannelNames List<string>
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    RenotifyInterval string
    The frequency at which to send reminder notifications for open incidents.
    NotificationChannelNames []string
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    RenotifyInterval string
    The frequency at which to send reminder notifications for open incidents.
    notificationChannelNames List<String>
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    renotifyInterval String
    The frequency at which to send reminder notifications for open incidents.
    notificationChannelNames string[]
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    renotifyInterval string
    The frequency at which to send reminder notifications for open incidents.
    notification_channel_names Sequence[str]
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    renotify_interval str
    The frequency at which to send reminder notifications for open incidents.
    notificationChannelNames List<String>
    The notification channels that these settings apply to. Each of these correspond to the name field in one of the NotificationChannel objects referenced in the notification_channels field of this AlertPolicy. The format is projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
    renotifyInterval String
    The frequency at which to send reminder notifications for open incidents.

    AlertPolicyAlertStrategyNotificationRateLimit, AlertPolicyAlertStrategyNotificationRateLimitArgs

    Period string
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".
    Period string
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".
    period String
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".
    period string
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".
    period str
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".
    period String
    Not more than one notification per period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example "60.5s".

    AlertPolicyCondition, AlertPolicyConditionArgs

    DisplayName string
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    ConditionAbsent AlertPolicyConditionConditionAbsent
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    ConditionMatchedLog AlertPolicyConditionConditionMatchedLog
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    ConditionMonitoringQueryLanguage AlertPolicyConditionConditionMonitoringQueryLanguage
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    ConditionPrometheusQueryLanguage AlertPolicyConditionConditionPrometheusQueryLanguage
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    ConditionThreshold AlertPolicyConditionConditionThreshold
    A condition that compares a time series against a threshold. Structure is documented below.
    Name string
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.
    DisplayName string
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    ConditionAbsent AlertPolicyConditionConditionAbsent
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    ConditionMatchedLog AlertPolicyConditionConditionMatchedLog
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    ConditionMonitoringQueryLanguage AlertPolicyConditionConditionMonitoringQueryLanguage
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    ConditionPrometheusQueryLanguage AlertPolicyConditionConditionPrometheusQueryLanguage
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    ConditionThreshold AlertPolicyConditionConditionThreshold
    A condition that compares a time series against a threshold. Structure is documented below.
    Name string
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.
    displayName String
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    conditionAbsent AlertPolicyConditionConditionAbsent
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    conditionMatchedLog AlertPolicyConditionConditionMatchedLog
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    conditionMonitoringQueryLanguage AlertPolicyConditionConditionMonitoringQueryLanguage
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    conditionPrometheusQueryLanguage AlertPolicyConditionConditionPrometheusQueryLanguage
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    conditionThreshold AlertPolicyConditionConditionThreshold
    A condition that compares a time series against a threshold. Structure is documented below.
    name String
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.
    displayName string
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    conditionAbsent AlertPolicyConditionConditionAbsent
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    conditionMatchedLog AlertPolicyConditionConditionMatchedLog
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    conditionMonitoringQueryLanguage AlertPolicyConditionConditionMonitoringQueryLanguage
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    conditionPrometheusQueryLanguage AlertPolicyConditionConditionPrometheusQueryLanguage
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    conditionThreshold AlertPolicyConditionConditionThreshold
    A condition that compares a time series against a threshold. Structure is documented below.
    name string
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.
    display_name str
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    condition_absent AlertPolicyConditionConditionAbsent
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    condition_matched_log AlertPolicyConditionConditionMatchedLog
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    condition_monitoring_query_language AlertPolicyConditionConditionMonitoringQueryLanguage
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    condition_prometheus_query_language AlertPolicyConditionConditionPrometheusQueryLanguage
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    condition_threshold AlertPolicyConditionConditionThreshold
    A condition that compares a time series against a threshold. Structure is documented below.
    name str
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.
    displayName String
    A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.
    conditionAbsent Property Map
    A condition that checks that a time series continues to receive new data points. Structure is documented below.
    conditionMatchedLog Property Map
    A condition that checks for log messages matching given constraints. If set, no other conditions can be present. Structure is documented below.
    conditionMonitoringQueryLanguage Property Map
    A Monitoring Query Language query that outputs a boolean stream Structure is documented below.
    conditionPrometheusQueryLanguage Property Map
    A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL). The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group. Structure is documented below.
    conditionThreshold Property Map
    A condition that compares a time series against a threshold. Structure is documented below.
    name String
    (Output) The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.

    AlertPolicyConditionConditionAbsent, AlertPolicyConditionConditionAbsentArgs

    Duration string
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    Aggregations List<AlertPolicyConditionConditionAbsentAggregation>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    Filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    Trigger AlertPolicyConditionConditionAbsentTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.
    Duration string
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    Aggregations []AlertPolicyConditionConditionAbsentAggregation
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    Filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    Trigger AlertPolicyConditionConditionAbsentTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.
    duration String
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    aggregations List<AlertPolicyConditionConditionAbsentAggregation>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    filter String
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    trigger AlertPolicyConditionConditionAbsentTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.
    duration string
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    aggregations AlertPolicyConditionConditionAbsentAggregation[]
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    trigger AlertPolicyConditionConditionAbsentTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.
    duration str
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    aggregations Sequence[AlertPolicyConditionConditionAbsentAggregation]
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    filter str
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    trigger AlertPolicyConditionConditionAbsentTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.
    duration String
    The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60s, 120s, or 300s --are supported.
    aggregations List<Property Map>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified. Structure is documented below.
    filter String
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    trigger Property Map
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations. Structure is documented below.

    AlertPolicyConditionConditionAbsentAggregation, AlertPolicyConditionConditionAbsentAggregationArgs

    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields List<string>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields []string
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields string[]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignment_period str
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    cross_series_reducer str
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    group_by_fields Sequence[str]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    per_series_aligner str
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.

    AlertPolicyConditionConditionAbsentTrigger, AlertPolicyConditionConditionAbsentTriggerArgs

    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent float64
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Integer
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent number
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent float
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Number
    The percentage of time series that must fail the predicate for the condition to be triggered.

    AlertPolicyConditionConditionMatchedLog, AlertPolicyConditionConditionMatchedLogArgs

    Filter string
    A logs-based filter.
    LabelExtractors Dictionary<string, string>
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.
    Filter string
    A logs-based filter.
    LabelExtractors map[string]string
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.
    filter String
    A logs-based filter.
    labelExtractors Map<String,String>
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.
    filter string
    A logs-based filter.
    labelExtractors {[key: string]: string}
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.
    filter str
    A logs-based filter.
    label_extractors Mapping[str, str]
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.
    filter String
    A logs-based filter.
    labelExtractors Map<String>
    A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.

    AlertPolicyConditionConditionMonitoringQueryLanguage, AlertPolicyConditionConditionMonitoringQueryLanguageArgs

    Duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    Query string
    Monitoring Query Language query that outputs a boolean stream.
    EvaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    Trigger AlertPolicyConditionConditionMonitoringQueryLanguageTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    Duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    Query string
    Monitoring Query Language query that outputs a boolean stream.
    EvaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    Trigger AlertPolicyConditionConditionMonitoringQueryLanguageTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    duration String
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    query String
    Monitoring Query Language query that outputs a boolean stream.
    evaluationMissingData String
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    trigger AlertPolicyConditionConditionMonitoringQueryLanguageTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    query string
    Monitoring Query Language query that outputs a boolean stream.
    evaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    trigger AlertPolicyConditionConditionMonitoringQueryLanguageTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    duration str
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    query str
    Monitoring Query Language query that outputs a boolean stream.
    evaluation_missing_data str
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    trigger AlertPolicyConditionConditionMonitoringQueryLanguageTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    duration String
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    query String
    Monitoring Query Language query that outputs a boolean stream.
    evaluationMissingData String
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    trigger Property Map
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.

    AlertPolicyConditionConditionMonitoringQueryLanguageTrigger, AlertPolicyConditionConditionMonitoringQueryLanguageTriggerArgs

    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent float64
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Integer
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent number
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent float
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Number
    The percentage of time series that must fail the predicate for the condition to be triggered.

    AlertPolicyConditionConditionPrometheusQueryLanguage, AlertPolicyConditionConditionPrometheusQueryLanguageArgs

    Query string
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    AlertRule string
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    Duration string
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    EvaluationInterval string
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    Labels Dictionary<string, string>
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    RuleGroup string
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.
    Query string
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    AlertRule string
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    Duration string
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    EvaluationInterval string
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    Labels map[string]string
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    RuleGroup string
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.
    query String
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    alertRule String
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    duration String
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    evaluationInterval String
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    labels Map<String,String>
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    ruleGroup String
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.
    query string
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    alertRule string
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    duration string
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    evaluationInterval string
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    labels {[key: string]: string}
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    ruleGroup string
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.
    query str
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    alert_rule str
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    duration str
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    evaluation_interval str
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    labels Mapping[str, str]
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    rule_group str
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.
    query String
    The PromQL expression to evaluate. Every evaluation cycle this expression is evaluated at the current time, and all resultant time series become pending/firing alerts. This field must not be empty.
    alertRule String
    The alerting rule name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional. If this field is not empty, then it must be a valid Prometheus label name.


    duration String
    Alerts are considered firing once their PromQL expression evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. The default value is zero. Must be zero or positive.
    evaluationInterval String
    How often this rule should be evaluated. Must be a positive multiple of 30 seconds or missing. The default value is 30 seconds. If this PrometheusQueryLanguageCondition was generated from a Prometheus alerting rule, then this value should be taken from the enclosing rule group.
    labels Map<String>
    Labels to add to or overwrite in the PromQL query result. Label names must be valid. Label values can be templatized by using variables. The only available variable names are the names of the labels in the PromQL result, including "name" and "value". "labels" may be empty. This field is intended to be used for organizing and identifying the AlertPolicy
    ruleGroup String
    The rule group name of this alert in the corresponding Prometheus configuration file. Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future. This field is optional.

    AlertPolicyConditionConditionThreshold, AlertPolicyConditionConditionThresholdArgs

    Comparison string
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    Duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    Aggregations List<AlertPolicyConditionConditionThresholdAggregation>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    DenominatorAggregations List<AlertPolicyConditionConditionThresholdDenominatorAggregation>
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    DenominatorFilter string
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    EvaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    Filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    ForecastOptions AlertPolicyConditionConditionThresholdForecastOptions
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    ThresholdValue double
    A value against which to compare the time series.
    Trigger AlertPolicyConditionConditionThresholdTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    Comparison string
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    Duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    Aggregations []AlertPolicyConditionConditionThresholdAggregation
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    DenominatorAggregations []AlertPolicyConditionConditionThresholdDenominatorAggregation
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    DenominatorFilter string
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    EvaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    Filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    ForecastOptions AlertPolicyConditionConditionThresholdForecastOptions
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    ThresholdValue float64
    A value against which to compare the time series.
    Trigger AlertPolicyConditionConditionThresholdTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    comparison String
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    duration String
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    aggregations List<AlertPolicyConditionConditionThresholdAggregation>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorAggregations List<AlertPolicyConditionConditionThresholdDenominatorAggregation>
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorFilter String
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    evaluationMissingData String
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    filter String
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    forecastOptions AlertPolicyConditionConditionThresholdForecastOptions
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    thresholdValue Double
    A value against which to compare the time series.
    trigger AlertPolicyConditionConditionThresholdTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    comparison string
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    duration string
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    aggregations AlertPolicyConditionConditionThresholdAggregation[]
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorAggregations AlertPolicyConditionConditionThresholdDenominatorAggregation[]
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorFilter string
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    evaluationMissingData string
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    filter string
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    forecastOptions AlertPolicyConditionConditionThresholdForecastOptions
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    thresholdValue number
    A value against which to compare the time series.
    trigger AlertPolicyConditionConditionThresholdTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    comparison str
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    duration str
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    aggregations Sequence[AlertPolicyConditionConditionThresholdAggregation]
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominator_aggregations Sequence[AlertPolicyConditionConditionThresholdDenominatorAggregation]
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominator_filter str
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    evaluation_missing_data str
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    filter str
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    forecast_options AlertPolicyConditionConditionThresholdForecastOptions
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    threshold_value float
    A value against which to compare the time series.
    trigger AlertPolicyConditionConditionThresholdTrigger
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.
    comparison String
    The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side. Only COMPARISON_LT and COMPARISON_GT are supported currently. Possible values are: COMPARISON_GT, COMPARISON_GE, COMPARISON_LT, COMPARISON_LE, COMPARISON_EQ, COMPARISON_NE.
    duration String
    The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.
    aggregations List<Property Map>
    Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorAggregations List<Property Map>
    Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field. Structure is documented below.
    denominatorFilter String
    A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    evaluationMissingData String
    A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values are: EVALUATION_MISSING_DATA_INACTIVE, EVALUATION_MISSING_DATA_ACTIVE, EVALUATION_MISSING_DATA_NO_OP.
    filter String
    A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.
    forecastOptions Property Map
    When this field is present, the MetricThreshold condition forecasts whether the time series is predicted to violate the threshold within the forecastHorizon. When this field is not set, the MetricThreshold tests the current value of the timeseries against the threshold. Structure is documented below.
    thresholdValue Number
    A value against which to compare the time series.
    trigger Property Map
    The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified. Structure is documented below.

    AlertPolicyConditionConditionThresholdAggregation, AlertPolicyConditionConditionThresholdAggregationArgs

    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields List<string>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields []string
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields string[]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignment_period str
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    cross_series_reducer str
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    group_by_fields Sequence[str]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    per_series_aligner str
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.

    AlertPolicyConditionConditionThresholdDenominatorAggregation, AlertPolicyConditionConditionThresholdDenominatorAggregationArgs

    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields List<string>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    AlignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    CrossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    GroupByFields []string
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    PerSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod string
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer string
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields string[]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner string
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignment_period str
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    cross_series_reducer str
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    group_by_fields Sequence[str]
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    per_series_aligner str
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.
    alignmentPeriod String
    The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.
    crossSeriesReducer String
    The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05.
    groupByFields List<String>
    The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.
    perSeriesAligner String
    The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross- time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. Possible values are: ALIGN_NONE, ALIGN_DELTA, ALIGN_RATE, ALIGN_INTERPOLATE, ALIGN_NEXT_OLDER, ALIGN_MIN, ALIGN_MAX, ALIGN_MEAN, ALIGN_COUNT, ALIGN_SUM, ALIGN_STDDEV, ALIGN_COUNT_TRUE, ALIGN_COUNT_FALSE, ALIGN_FRACTION_TRUE, ALIGN_PERCENTILE_99, ALIGN_PERCENTILE_95, ALIGN_PERCENTILE_50, ALIGN_PERCENTILE_05, ALIGN_PERCENT_CHANGE.

    AlertPolicyConditionConditionThresholdForecastOptions, AlertPolicyConditionConditionThresholdForecastOptionsArgs

    ForecastHorizon string
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.
    ForecastHorizon string
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.
    forecastHorizon String
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.
    forecastHorizon string
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.
    forecast_horizon str
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.
    forecastHorizon String
    The length of time into the future to forecast whether a timeseries will violate the threshold. If the predicted value is found to violate the threshold, and the violation is observed in all forecasts made for the Configured duration, then the timeseries is considered to be failing.

    AlertPolicyConditionConditionThresholdTrigger, AlertPolicyConditionConditionThresholdTriggerArgs

    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    Count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    Percent float64
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Integer
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Double
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent number
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count int
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent float
    The percentage of time series that must fail the predicate for the condition to be triggered.
    count Number
    The absolute number of time series that must fail the predicate for the condition to be triggered.
    percent Number
    The percentage of time series that must fail the predicate for the condition to be triggered.

    AlertPolicyCreationRecord, AlertPolicyCreationRecordArgs

    MutateTime string
    (Output) When the change occurred.
    MutatedBy string
    (Output) The email address of the user making the change.
    MutateTime string
    (Output) When the change occurred.
    MutatedBy string
    (Output) The email address of the user making the change.
    mutateTime String
    (Output) When the change occurred.
    mutatedBy String
    (Output) The email address of the user making the change.
    mutateTime string
    (Output) When the change occurred.
    mutatedBy string
    (Output) The email address of the user making the change.
    mutate_time str
    (Output) When the change occurred.
    mutated_by str
    (Output) The email address of the user making the change.
    mutateTime String
    (Output) When the change occurred.
    mutatedBy String
    (Output) The email address of the user making the change.

    AlertPolicyDocumentation, AlertPolicyDocumentationArgs

    Content string
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    MimeType string
    The format of the content field. Presently, only the value "text/markdown" is supported.
    Subject string
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.
    Content string
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    MimeType string
    The format of the content field. Presently, only the value "text/markdown" is supported.
    Subject string
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.
    content String
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    mimeType String
    The format of the content field. Presently, only the value "text/markdown" is supported.
    subject String
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.
    content string
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    mimeType string
    The format of the content field. Presently, only the value "text/markdown" is supported.
    subject string
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.
    content str
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    mime_type str
    The format of the content field. Presently, only the value "text/markdown" is supported.
    subject str
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.
    content String
    The text of the documentation, interpreted according to mimeType. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.
    mimeType String
    The format of the content field. Presently, only the value "text/markdown" is supported.
    subject String
    The subject line of the notification. The subject line may not exceed 10,240 bytes. In notifications generated by this policy the contents of the subject line after variable expansion will be truncated to 255 bytes or shorter at the latest UTF-8 character boundary.

    Import

    AlertPolicy can be imported using any of these accepted formats:

    • {{name}}

    When using the pulumi import command, AlertPolicy can be imported using one of the formats above. For example:

    $ pulumi import gcp:monitoring/alertPolicy:AlertPolicy default {{name}}
    

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

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi