1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. monitoring
  5. Slo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

gcp.monitoring.Slo

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

    A Service-Level Objective (SLO) describes the level of desired good service. It consists of a service-level indicator (SLI), a performance goal, and a period over which the objective is to be evaluated against that goal. The SLO can use SLIs defined in a number of different manners. Typical SLOs might include “99% of requests in each rolling week have latency below 200 milliseconds” or “99.5% of requests in each calendar month return successfully.”

    To get more information about Slo, see:

    Example Usage

    Monitoring Slo Appengine

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const default = gcp.monitoring.getAppEngineService({
        moduleId: "default",
    });
    const appengSlo = new gcp.monitoring.Slo("appeng_slo", {
        service: _default.then(_default => _default.serviceId),
        sloId: "ae-slo",
        displayName: "Test SLO for App Engine",
        goal: 0.9,
        calendarPeriod: "DAY",
        basicSli: {
            latency: {
                threshold: "1s",
            },
        },
        userLabels: {
            my_key: "my_value",
            my_other_key: "my_other_value",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.monitoring.get_app_engine_service(module_id="default")
    appeng_slo = gcp.monitoring.Slo("appeng_slo",
        service=default.service_id,
        slo_id="ae-slo",
        display_name="Test SLO for App Engine",
        goal=0.9,
        calendar_period="DAY",
        basic_sli=gcp.monitoring.SloBasicSliArgs(
            latency=gcp.monitoring.SloBasicSliLatencyArgs(
                threshold="1s",
            ),
        ),
        user_labels={
            "my_key": "my_value",
            "my_other_key": "my_other_value",
        })
    
    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 {
    		_default, err := monitoring.GetAppEngineService(ctx, &monitoring.GetAppEngineServiceArgs{
    			ModuleId: "default",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "appeng_slo", &monitoring.SloArgs{
    			Service:        pulumi.String(_default.ServiceId),
    			SloId:          pulumi.String("ae-slo"),
    			DisplayName:    pulumi.String("Test SLO for App Engine"),
    			Goal:           pulumi.Float64(0.9),
    			CalendarPeriod: pulumi.String("DAY"),
    			BasicSli: &monitoring.SloBasicSliArgs{
    				Latency: &monitoring.SloBasicSliLatencyArgs{
    					Threshold: pulumi.String("1s"),
    				},
    			},
    			UserLabels: pulumi.StringMap{
    				"my_key":       pulumi.String("my_value"),
    				"my_other_key": pulumi.String("my_other_value"),
    			},
    		})
    		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 @default = Gcp.Monitoring.GetAppEngineService.Invoke(new()
        {
            ModuleId = "default",
        });
    
        var appengSlo = new Gcp.Monitoring.Slo("appeng_slo", new()
        {
            Service = @default.Apply(@default => @default.Apply(getAppEngineServiceResult => getAppEngineServiceResult.ServiceId)),
            SloId = "ae-slo",
            DisplayName = "Test SLO for App Engine",
            Goal = 0.9,
            CalendarPeriod = "DAY",
            BasicSli = new Gcp.Monitoring.Inputs.SloBasicSliArgs
            {
                Latency = new Gcp.Monitoring.Inputs.SloBasicSliLatencyArgs
                {
                    Threshold = "1s",
                },
            },
            UserLabels = 
            {
                { "my_key", "my_value" },
                { "my_other_key", "my_other_value" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.MonitoringFunctions;
    import com.pulumi.gcp.monitoring.inputs.GetAppEngineServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloBasicSliArgs;
    import com.pulumi.gcp.monitoring.inputs.SloBasicSliLatencyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var default = MonitoringFunctions.getAppEngineService(GetAppEngineServiceArgs.builder()
                .moduleId("default")
                .build());
    
            var appengSlo = new Slo("appengSlo", SloArgs.builder()        
                .service(default_.serviceId())
                .sloId("ae-slo")
                .displayName("Test SLO for App Engine")
                .goal(0.9)
                .calendarPeriod("DAY")
                .basicSli(SloBasicSliArgs.builder()
                    .latency(SloBasicSliLatencyArgs.builder()
                        .threshold("1s")
                        .build())
                    .build())
                .userLabels(Map.ofEntries(
                    Map.entry("my_key", "my_value"),
                    Map.entry("my_other_key", "my_other_value")
                ))
                .build());
    
        }
    }
    
    resources:
      appengSlo:
        type: gcp:monitoring:Slo
        name: appeng_slo
        properties:
          service: ${default.serviceId}
          sloId: ae-slo
          displayName: Test SLO for App Engine
          goal: 0.9
          calendarPeriod: DAY
          basicSli:
            latency:
              threshold: 1s
          userLabels:
            my_key: my_value
            my_other_key: my_other_value
    variables:
      default:
        fn::invoke:
          Function: gcp:monitoring:getAppEngineService
          Arguments:
            moduleId: default
    

    Monitoring Slo Request Based

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const customsrv = new gcp.monitoring.CustomService("customsrv", {
        serviceId: "custom-srv-request-slos",
        displayName: "My Custom Service",
    });
    const requestBasedSlo = new gcp.monitoring.Slo("request_based_slo", {
        service: customsrv.serviceId,
        sloId: "consumed-api-slo",
        displayName: "Test SLO with request based SLI (good total ratio)",
        goal: 0.9,
        rollingPeriodDays: 30,
        requestBasedSli: {
            distributionCut: {
                distributionFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\"  ",
                range: {
                    max: 0.5,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    customsrv = gcp.monitoring.CustomService("customsrv",
        service_id="custom-srv-request-slos",
        display_name="My Custom Service")
    request_based_slo = gcp.monitoring.Slo("request_based_slo",
        service=customsrv.service_id,
        slo_id="consumed-api-slo",
        display_name="Test SLO with request based SLI (good total ratio)",
        goal=0.9,
        rolling_period_days=30,
        request_based_sli=gcp.monitoring.SloRequestBasedSliArgs(
            distribution_cut=gcp.monitoring.SloRequestBasedSliDistributionCutArgs(
                distribution_filter="metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\"  ",
                range=gcp.monitoring.SloRequestBasedSliDistributionCutRangeArgs(
                    max=0.5,
                ),
            ),
        ))
    
    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 {
    		customsrv, err := monitoring.NewCustomService(ctx, "customsrv", &monitoring.CustomServiceArgs{
    			ServiceId:   pulumi.String("custom-srv-request-slos"),
    			DisplayName: pulumi.String("My Custom Service"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "request_based_slo", &monitoring.SloArgs{
    			Service:           customsrv.ServiceId,
    			SloId:             pulumi.String("consumed-api-slo"),
    			DisplayName:       pulumi.String("Test SLO with request based SLI (good total ratio)"),
    			Goal:              pulumi.Float64(0.9),
    			RollingPeriodDays: pulumi.Int(30),
    			RequestBasedSli: &monitoring.SloRequestBasedSliArgs{
    				DistributionCut: &monitoring.SloRequestBasedSliDistributionCutArgs{
    					DistributionFilter: pulumi.String("metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\"  "),
    					Range: &monitoring.SloRequestBasedSliDistributionCutRangeArgs{
    						Max: pulumi.Float64(0.5),
    					},
    				},
    			},
    		})
    		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 customsrv = new Gcp.Monitoring.CustomService("customsrv", new()
        {
            ServiceId = "custom-srv-request-slos",
            DisplayName = "My Custom Service",
        });
    
        var requestBasedSlo = new Gcp.Monitoring.Slo("request_based_slo", new()
        {
            Service = customsrv.ServiceId,
            SloId = "consumed-api-slo",
            DisplayName = "Test SLO with request based SLI (good total ratio)",
            Goal = 0.9,
            RollingPeriodDays = 30,
            RequestBasedSli = new Gcp.Monitoring.Inputs.SloRequestBasedSliArgs
            {
                DistributionCut = new Gcp.Monitoring.Inputs.SloRequestBasedSliDistributionCutArgs
                {
                    DistributionFilter = "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\"  ",
                    Range = new Gcp.Monitoring.Inputs.SloRequestBasedSliDistributionCutRangeArgs
                    {
                        Max = 0.5,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.CustomService;
    import com.pulumi.gcp.monitoring.CustomServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloRequestBasedSliArgs;
    import com.pulumi.gcp.monitoring.inputs.SloRequestBasedSliDistributionCutArgs;
    import com.pulumi.gcp.monitoring.inputs.SloRequestBasedSliDistributionCutRangeArgs;
    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 customsrv = new CustomService("customsrv", CustomServiceArgs.builder()        
                .serviceId("custom-srv-request-slos")
                .displayName("My Custom Service")
                .build());
    
            var requestBasedSlo = new Slo("requestBasedSlo", SloArgs.builder()        
                .service(customsrv.serviceId())
                .sloId("consumed-api-slo")
                .displayName("Test SLO with request based SLI (good total ratio)")
                .goal(0.9)
                .rollingPeriodDays(30)
                .requestBasedSli(SloRequestBasedSliArgs.builder()
                    .distributionCut(SloRequestBasedSliDistributionCutArgs.builder()
                        .distributionFilter("metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\"  ")
                        .range(SloRequestBasedSliDistributionCutRangeArgs.builder()
                            .max(0.5)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      customsrv:
        type: gcp:monitoring:CustomService
        properties:
          serviceId: custom-srv-request-slos
          displayName: My Custom Service
      requestBasedSlo:
        type: gcp:monitoring:Slo
        name: request_based_slo
        properties:
          service: ${customsrv.serviceId}
          sloId: consumed-api-slo
          displayName: Test SLO with request based SLI (good total ratio)
          goal: 0.9
          rollingPeriodDays: 30
          requestBasedSli:
            distributionCut:
              distributionFilter: 'metric.type="serviceruntime.googleapis.com/api/request_latencies" resource.type="api"  '
              range:
                max: 0.5
    

    Monitoring Slo Windows Based Good Bad Metric Filter

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const customsrv = new gcp.monitoring.CustomService("customsrv", {
        serviceId: "custom-srv-windows-slos",
        displayName: "My Custom Service",
    });
    const windowsBased = new gcp.monitoring.Slo("windows_based", {
        service: customsrv.serviceId,
        displayName: "Test SLO with window based SLI",
        goal: 0.95,
        calendarPeriod: "FORTNIGHT",
        windowsBasedSli: {
            windowPeriod: "400s",
            goodBadMetricFilter: std.join({
                separator: " AND ",
                input: [
                    "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"",
                    "resource.type=\"uptime_url\"",
                ],
            }).then(invoke => invoke.result),
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    customsrv = gcp.monitoring.CustomService("customsrv",
        service_id="custom-srv-windows-slos",
        display_name="My Custom Service")
    windows_based = gcp.monitoring.Slo("windows_based",
        service=customsrv.service_id,
        display_name="Test SLO with window based SLI",
        goal=0.95,
        calendar_period="FORTNIGHT",
        windows_based_sli=gcp.monitoring.SloWindowsBasedSliArgs(
            window_period="400s",
            good_bad_metric_filter=std.join(separator=" AND ",
                input=[
                    "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"",
                    "resource.type=\"uptime_url\"",
                ]).result,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		customsrv, err := monitoring.NewCustomService(ctx, "customsrv", &monitoring.CustomServiceArgs{
    			ServiceId:   pulumi.String("custom-srv-windows-slos"),
    			DisplayName: pulumi.String("My Custom Service"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeJoin, err := std.Join(ctx, &std.JoinArgs{
    			Separator: " AND ",
    			Input: []string{
    				"metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"",
    				"resource.type=\"uptime_url\"",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "windows_based", &monitoring.SloArgs{
    			Service:        customsrv.ServiceId,
    			DisplayName:    pulumi.String("Test SLO with window based SLI"),
    			Goal:           pulumi.Float64(0.95),
    			CalendarPeriod: pulumi.String("FORTNIGHT"),
    			WindowsBasedSli: &monitoring.SloWindowsBasedSliArgs{
    				WindowPeriod:        pulumi.String("400s"),
    				GoodBadMetricFilter: invokeJoin.Result,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var customsrv = new Gcp.Monitoring.CustomService("customsrv", new()
        {
            ServiceId = "custom-srv-windows-slos",
            DisplayName = "My Custom Service",
        });
    
        var windowsBased = new Gcp.Monitoring.Slo("windows_based", new()
        {
            Service = customsrv.ServiceId,
            DisplayName = "Test SLO with window based SLI",
            Goal = 0.95,
            CalendarPeriod = "FORTNIGHT",
            WindowsBasedSli = new Gcp.Monitoring.Inputs.SloWindowsBasedSliArgs
            {
                WindowPeriod = "400s",
                GoodBadMetricFilter = Std.Join.Invoke(new()
                {
                    Separator = " AND ",
                    Input = new[]
                    {
                        "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"",
                        "resource.type=\"uptime_url\"",
                    },
                }).Apply(invoke => invoke.Result),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.CustomService;
    import com.pulumi.gcp.monitoring.CustomServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliArgs;
    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 customsrv = new CustomService("customsrv", CustomServiceArgs.builder()        
                .serviceId("custom-srv-windows-slos")
                .displayName("My Custom Service")
                .build());
    
            var windowsBased = new Slo("windowsBased", SloArgs.builder()        
                .service(customsrv.serviceId())
                .displayName("Test SLO with window based SLI")
                .goal(0.95)
                .calendarPeriod("FORTNIGHT")
                .windowsBasedSli(SloWindowsBasedSliArgs.builder()
                    .windowPeriod("400s")
                    .goodBadMetricFilter(StdFunctions.join(JoinArgs.builder()
                        .separator(" AND ")
                        .input(                    
                            "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"",
                            "resource.type=\"uptime_url\"")
                        .build()).result())
                    .build())
                .build());
    
        }
    }
    
    resources:
      customsrv:
        type: gcp:monitoring:CustomService
        properties:
          serviceId: custom-srv-windows-slos
          displayName: My Custom Service
      windowsBased:
        type: gcp:monitoring:Slo
        name: windows_based
        properties:
          service: ${customsrv.serviceId}
          displayName: Test SLO with window based SLI
          goal: 0.95
          calendarPeriod: FORTNIGHT
          windowsBasedSli:
            windowPeriod: 400s
            goodBadMetricFilter:
              fn::invoke:
                Function: std:join
                Arguments:
                  separator: ' AND '
                  input:
                    - metric.type="monitoring.googleapis.com/uptime_check/check_passed"
                    - resource.type="uptime_url"
                Return: result
    

    Monitoring Slo Windows Based Metric Mean

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const customsrv = new gcp.monitoring.CustomService("customsrv", {
        serviceId: "custom-srv-windows-slos",
        displayName: "My Custom Service",
    });
    const windowsBased = new gcp.monitoring.Slo("windows_based", {
        service: customsrv.serviceId,
        displayName: "Test SLO with window based SLI",
        goal: 0.9,
        rollingPeriodDays: 20,
        windowsBasedSli: {
            windowPeriod: "600s",
            metricMeanInRange: {
                timeSeries: std.join({
                    separator: " AND ",
                    input: [
                        "metric.type=\"agent.googleapis.com/cassandra/client_request/latency/95p\"",
                        "resource.type=\"gce_instance\"",
                    ],
                }).then(invoke => invoke.result),
                range: {
                    max: 5,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    customsrv = gcp.monitoring.CustomService("customsrv",
        service_id="custom-srv-windows-slos",
        display_name="My Custom Service")
    windows_based = gcp.monitoring.Slo("windows_based",
        service=customsrv.service_id,
        display_name="Test SLO with window based SLI",
        goal=0.9,
        rolling_period_days=20,
        windows_based_sli=gcp.monitoring.SloWindowsBasedSliArgs(
            window_period="600s",
            metric_mean_in_range=gcp.monitoring.SloWindowsBasedSliMetricMeanInRangeArgs(
                time_series=std.join(separator=" AND ",
                    input=[
                        "metric.type=\"agent.googleapis.com/cassandra/client_request/latency/95p\"",
                        "resource.type=\"gce_instance\"",
                    ]).result,
                range=gcp.monitoring.SloWindowsBasedSliMetricMeanInRangeRangeArgs(
                    max=5,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		customsrv, err := monitoring.NewCustomService(ctx, "customsrv", &monitoring.CustomServiceArgs{
    			ServiceId:   pulumi.String("custom-srv-windows-slos"),
    			DisplayName: pulumi.String("My Custom Service"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeJoin, err := std.Join(ctx, &std.JoinArgs{
    			Separator: " AND ",
    			Input: []string{
    				"metric.type=\"agent.googleapis.com/cassandra/client_request/latency/95p\"",
    				"resource.type=\"gce_instance\"",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "windows_based", &monitoring.SloArgs{
    			Service:           customsrv.ServiceId,
    			DisplayName:       pulumi.String("Test SLO with window based SLI"),
    			Goal:              pulumi.Float64(0.9),
    			RollingPeriodDays: pulumi.Int(20),
    			WindowsBasedSli: &monitoring.SloWindowsBasedSliArgs{
    				WindowPeriod: pulumi.String("600s"),
    				MetricMeanInRange: &monitoring.SloWindowsBasedSliMetricMeanInRangeArgs{
    					TimeSeries: invokeJoin.Result,
    					Range: &monitoring.SloWindowsBasedSliMetricMeanInRangeRangeArgs{
    						Max: pulumi.Float64(5),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var customsrv = new Gcp.Monitoring.CustomService("customsrv", new()
        {
            ServiceId = "custom-srv-windows-slos",
            DisplayName = "My Custom Service",
        });
    
        var windowsBased = new Gcp.Monitoring.Slo("windows_based", new()
        {
            Service = customsrv.ServiceId,
            DisplayName = "Test SLO with window based SLI",
            Goal = 0.9,
            RollingPeriodDays = 20,
            WindowsBasedSli = new Gcp.Monitoring.Inputs.SloWindowsBasedSliArgs
            {
                WindowPeriod = "600s",
                MetricMeanInRange = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricMeanInRangeArgs
                {
                    TimeSeries = Std.Join.Invoke(new()
                    {
                        Separator = " AND ",
                        Input = new[]
                        {
                            "metric.type=\"agent.googleapis.com/cassandra/client_request/latency/95p\"",
                            "resource.type=\"gce_instance\"",
                        },
                    }).Apply(invoke => invoke.Result),
                    Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricMeanInRangeRangeArgs
                    {
                        Max = 5,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.CustomService;
    import com.pulumi.gcp.monitoring.CustomServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliMetricMeanInRangeArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliMetricMeanInRangeRangeArgs;
    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 customsrv = new CustomService("customsrv", CustomServiceArgs.builder()        
                .serviceId("custom-srv-windows-slos")
                .displayName("My Custom Service")
                .build());
    
            var windowsBased = new Slo("windowsBased", SloArgs.builder()        
                .service(customsrv.serviceId())
                .displayName("Test SLO with window based SLI")
                .goal(0.9)
                .rollingPeriodDays(20)
                .windowsBasedSli(SloWindowsBasedSliArgs.builder()
                    .windowPeriod("600s")
                    .metricMeanInRange(SloWindowsBasedSliMetricMeanInRangeArgs.builder()
                        .timeSeries(StdFunctions.join(JoinArgs.builder()
                            .separator(" AND ")
                            .input(                        
                                "metric.type=\"agent.googleapis.com/cassandra/client_request/latency/95p\"",
                                "resource.type=\"gce_instance\"")
                            .build()).result())
                        .range(SloWindowsBasedSliMetricMeanInRangeRangeArgs.builder()
                            .max(5)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      customsrv:
        type: gcp:monitoring:CustomService
        properties:
          serviceId: custom-srv-windows-slos
          displayName: My Custom Service
      windowsBased:
        type: gcp:monitoring:Slo
        name: windows_based
        properties:
          service: ${customsrv.serviceId}
          displayName: Test SLO with window based SLI
          goal: 0.9
          rollingPeriodDays: 20
          windowsBasedSli:
            windowPeriod: 600s
            metricMeanInRange:
              timeSeries:
                fn::invoke:
                  Function: std:join
                  Arguments:
                    separator: ' AND '
                    input:
                      - metric.type="agent.googleapis.com/cassandra/client_request/latency/95p"
                      - resource.type="gce_instance"
                  Return: result
              range:
                max: 5
    

    Monitoring Slo Windows Based Metric Sum

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const customsrv = new gcp.monitoring.CustomService("customsrv", {
        serviceId: "custom-srv-windows-slos",
        displayName: "My Custom Service",
    });
    const windowsBased = new gcp.monitoring.Slo("windows_based", {
        service: customsrv.serviceId,
        displayName: "Test SLO with window based SLI",
        goal: 0.9,
        rollingPeriodDays: 20,
        windowsBasedSli: {
            windowPeriod: "400s",
            metricSumInRange: {
                timeSeries: std.join({
                    separator: " AND ",
                    input: [
                        "metric.type=\"monitoring.googleapis.com/uptime_check/request_latency\"",
                        "resource.type=\"uptime_url\"",
                    ],
                }).then(invoke => invoke.result),
                range: {
                    max: 5000,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    customsrv = gcp.monitoring.CustomService("customsrv",
        service_id="custom-srv-windows-slos",
        display_name="My Custom Service")
    windows_based = gcp.monitoring.Slo("windows_based",
        service=customsrv.service_id,
        display_name="Test SLO with window based SLI",
        goal=0.9,
        rolling_period_days=20,
        windows_based_sli=gcp.monitoring.SloWindowsBasedSliArgs(
            window_period="400s",
            metric_sum_in_range=gcp.monitoring.SloWindowsBasedSliMetricSumInRangeArgs(
                time_series=std.join(separator=" AND ",
                    input=[
                        "metric.type=\"monitoring.googleapis.com/uptime_check/request_latency\"",
                        "resource.type=\"uptime_url\"",
                    ]).result,
                range=gcp.monitoring.SloWindowsBasedSliMetricSumInRangeRangeArgs(
                    max=5000,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		customsrv, err := monitoring.NewCustomService(ctx, "customsrv", &monitoring.CustomServiceArgs{
    			ServiceId:   pulumi.String("custom-srv-windows-slos"),
    			DisplayName: pulumi.String("My Custom Service"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeJoin, err := std.Join(ctx, &std.JoinArgs{
    			Separator: " AND ",
    			Input: []string{
    				"metric.type=\"monitoring.googleapis.com/uptime_check/request_latency\"",
    				"resource.type=\"uptime_url\"",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "windows_based", &monitoring.SloArgs{
    			Service:           customsrv.ServiceId,
    			DisplayName:       pulumi.String("Test SLO with window based SLI"),
    			Goal:              pulumi.Float64(0.9),
    			RollingPeriodDays: pulumi.Int(20),
    			WindowsBasedSli: &monitoring.SloWindowsBasedSliArgs{
    				WindowPeriod: pulumi.String("400s"),
    				MetricSumInRange: &monitoring.SloWindowsBasedSliMetricSumInRangeArgs{
    					TimeSeries: invokeJoin.Result,
    					Range: &monitoring.SloWindowsBasedSliMetricSumInRangeRangeArgs{
    						Max: pulumi.Float64(5000),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var customsrv = new Gcp.Monitoring.CustomService("customsrv", new()
        {
            ServiceId = "custom-srv-windows-slos",
            DisplayName = "My Custom Service",
        });
    
        var windowsBased = new Gcp.Monitoring.Slo("windows_based", new()
        {
            Service = customsrv.ServiceId,
            DisplayName = "Test SLO with window based SLI",
            Goal = 0.9,
            RollingPeriodDays = 20,
            WindowsBasedSli = new Gcp.Monitoring.Inputs.SloWindowsBasedSliArgs
            {
                WindowPeriod = "400s",
                MetricSumInRange = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricSumInRangeArgs
                {
                    TimeSeries = Std.Join.Invoke(new()
                    {
                        Separator = " AND ",
                        Input = new[]
                        {
                            "metric.type=\"monitoring.googleapis.com/uptime_check/request_latency\"",
                            "resource.type=\"uptime_url\"",
                        },
                    }).Apply(invoke => invoke.Result),
                    Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricSumInRangeRangeArgs
                    {
                        Max = 5000,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.CustomService;
    import com.pulumi.gcp.monitoring.CustomServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliMetricSumInRangeArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliMetricSumInRangeRangeArgs;
    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 customsrv = new CustomService("customsrv", CustomServiceArgs.builder()        
                .serviceId("custom-srv-windows-slos")
                .displayName("My Custom Service")
                .build());
    
            var windowsBased = new Slo("windowsBased", SloArgs.builder()        
                .service(customsrv.serviceId())
                .displayName("Test SLO with window based SLI")
                .goal(0.9)
                .rollingPeriodDays(20)
                .windowsBasedSli(SloWindowsBasedSliArgs.builder()
                    .windowPeriod("400s")
                    .metricSumInRange(SloWindowsBasedSliMetricSumInRangeArgs.builder()
                        .timeSeries(StdFunctions.join(JoinArgs.builder()
                            .separator(" AND ")
                            .input(                        
                                "metric.type=\"monitoring.googleapis.com/uptime_check/request_latency\"",
                                "resource.type=\"uptime_url\"")
                            .build()).result())
                        .range(SloWindowsBasedSliMetricSumInRangeRangeArgs.builder()
                            .max(5000)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      customsrv:
        type: gcp:monitoring:CustomService
        properties:
          serviceId: custom-srv-windows-slos
          displayName: My Custom Service
      windowsBased:
        type: gcp:monitoring:Slo
        name: windows_based
        properties:
          service: ${customsrv.serviceId}
          displayName: Test SLO with window based SLI
          goal: 0.9
          rollingPeriodDays: 20
          windowsBasedSli:
            windowPeriod: 400s
            metricSumInRange:
              timeSeries:
                fn::invoke:
                  Function: std:join
                  Arguments:
                    separator: ' AND '
                    input:
                      - metric.type="monitoring.googleapis.com/uptime_check/request_latency"
                      - resource.type="uptime_url"
                  Return: result
              range:
                max: 5000
    

    Monitoring Slo Windows Based Ratio Threshold

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const customsrv = new gcp.monitoring.CustomService("customsrv", {
        serviceId: "custom-srv-windows-slos",
        displayName: "My Custom Service",
    });
    const windowsBased = new gcp.monitoring.Slo("windows_based", {
        service: customsrv.serviceId,
        displayName: "Test SLO with window based SLI",
        goal: 0.9,
        rollingPeriodDays: 20,
        windowsBasedSli: {
            windowPeriod: "100s",
            goodTotalRatioThreshold: {
                threshold: 0.1,
                performance: {
                    distributionCut: {
                        distributionFilter: std.join({
                            separator: " AND ",
                            input: [
                                "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\"",
                                "resource.type=\"consumed_api\"",
                            ],
                        }).then(invoke => invoke.result),
                        range: {
                            min: 1,
                            max: 9,
                        },
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    customsrv = gcp.monitoring.CustomService("customsrv",
        service_id="custom-srv-windows-slos",
        display_name="My Custom Service")
    windows_based = gcp.monitoring.Slo("windows_based",
        service=customsrv.service_id,
        display_name="Test SLO with window based SLI",
        goal=0.9,
        rolling_period_days=20,
        windows_based_sli=gcp.monitoring.SloWindowsBasedSliArgs(
            window_period="100s",
            good_total_ratio_threshold=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdArgs(
                threshold=0.1,
                performance=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs(
                    distribution_cut=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs(
                        distribution_filter=std.join(separator=" AND ",
                            input=[
                                "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\"",
                                "resource.type=\"consumed_api\"",
                            ]).result,
                        range=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs(
                            min=1,
                            max=9,
                        ),
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		customsrv, err := monitoring.NewCustomService(ctx, "customsrv", &monitoring.CustomServiceArgs{
    			ServiceId:   pulumi.String("custom-srv-windows-slos"),
    			DisplayName: pulumi.String("My Custom Service"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeJoin, err := std.Join(ctx, &std.JoinArgs{
    			Separator: " AND ",
    			Input: []string{
    				"metric.type=\"serviceruntime.googleapis.com/api/request_latencies\"",
    				"resource.type=\"consumed_api\"",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = monitoring.NewSlo(ctx, "windows_based", &monitoring.SloArgs{
    			Service:           customsrv.ServiceId,
    			DisplayName:       pulumi.String("Test SLO with window based SLI"),
    			Goal:              pulumi.Float64(0.9),
    			RollingPeriodDays: pulumi.Int(20),
    			WindowsBasedSli: &monitoring.SloWindowsBasedSliArgs{
    				WindowPeriod: pulumi.String("100s"),
    				GoodTotalRatioThreshold: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdArgs{
    					Threshold: pulumi.Float64(0.1),
    					Performance: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs{
    						DistributionCut: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs{
    							DistributionFilter: invokeJoin.Result,
    							Range: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs{
    								Min: pulumi.Float64(1),
    								Max: pulumi.Float64(9),
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var customsrv = new Gcp.Monitoring.CustomService("customsrv", new()
        {
            ServiceId = "custom-srv-windows-slos",
            DisplayName = "My Custom Service",
        });
    
        var windowsBased = new Gcp.Monitoring.Slo("windows_based", new()
        {
            Service = customsrv.ServiceId,
            DisplayName = "Test SLO with window based SLI",
            Goal = 0.9,
            RollingPeriodDays = 20,
            WindowsBasedSli = new Gcp.Monitoring.Inputs.SloWindowsBasedSliArgs
            {
                WindowPeriod = "100s",
                GoodTotalRatioThreshold = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdArgs
                {
                    Threshold = 0.1,
                    Performance = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs
                    {
                        DistributionCut = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs
                        {
                            DistributionFilter = Std.Join.Invoke(new()
                            {
                                Separator = " AND ",
                                Input = new[]
                                {
                                    "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\"",
                                    "resource.type=\"consumed_api\"",
                                },
                            }).Apply(invoke => invoke.Result),
                            Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs
                            {
                                Min = 1,
                                Max = 9,
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.monitoring.CustomService;
    import com.pulumi.gcp.monitoring.CustomServiceArgs;
    import com.pulumi.gcp.monitoring.Slo;
    import com.pulumi.gcp.monitoring.SloArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliGoodTotalRatioThresholdArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs;
    import com.pulumi.gcp.monitoring.inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs;
    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 customsrv = new CustomService("customsrv", CustomServiceArgs.builder()        
                .serviceId("custom-srv-windows-slos")
                .displayName("My Custom Service")
                .build());
    
            var windowsBased = new Slo("windowsBased", SloArgs.builder()        
                .service(customsrv.serviceId())
                .displayName("Test SLO with window based SLI")
                .goal(0.9)
                .rollingPeriodDays(20)
                .windowsBasedSli(SloWindowsBasedSliArgs.builder()
                    .windowPeriod("100s")
                    .goodTotalRatioThreshold(SloWindowsBasedSliGoodTotalRatioThresholdArgs.builder()
                        .threshold(0.1)
                        .performance(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs.builder()
                            .distributionCut(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs.builder()
                                .distributionFilter(StdFunctions.join(JoinArgs.builder()
                                    .separator(" AND ")
                                    .input(                                
                                        "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\"",
                                        "resource.type=\"consumed_api\"")
                                    .build()).result())
                                .range(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs.builder()
                                    .min(1)
                                    .max(9)
                                    .build())
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      customsrv:
        type: gcp:monitoring:CustomService
        properties:
          serviceId: custom-srv-windows-slos
          displayName: My Custom Service
      windowsBased:
        type: gcp:monitoring:Slo
        name: windows_based
        properties:
          service: ${customsrv.serviceId}
          displayName: Test SLO with window based SLI
          goal: 0.9
          rollingPeriodDays: 20
          windowsBasedSli:
            windowPeriod: 100s
            goodTotalRatioThreshold:
              threshold: 0.1
              performance:
                distributionCut:
                  distributionFilter:
                    fn::invoke:
                      Function: std:join
                      Arguments:
                        separator: ' AND '
                        input:
                          - metric.type="serviceruntime.googleapis.com/api/request_latencies"
                          - resource.type="consumed_api"
                      Return: result
                  range:
                    min: 1
                    max: 9
    

    Create Slo Resource

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

    Constructor syntax

    new Slo(name: string, args: SloArgs, opts?: CustomResourceOptions);
    @overload
    def Slo(resource_name: str,
            args: SloArgs,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def Slo(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            goal: Optional[float] = None,
            service: Optional[str] = None,
            basic_sli: Optional[SloBasicSliArgs] = None,
            calendar_period: Optional[str] = None,
            display_name: Optional[str] = None,
            project: Optional[str] = None,
            request_based_sli: Optional[SloRequestBasedSliArgs] = None,
            rolling_period_days: Optional[int] = None,
            slo_id: Optional[str] = None,
            user_labels: Optional[Mapping[str, str]] = None,
            windows_based_sli: Optional[SloWindowsBasedSliArgs] = None)
    func NewSlo(ctx *Context, name string, args SloArgs, opts ...ResourceOption) (*Slo, error)
    public Slo(string name, SloArgs args, CustomResourceOptions? opts = null)
    public Slo(String name, SloArgs args)
    public Slo(String name, SloArgs args, CustomResourceOptions options)
    
    type: gcp:monitoring:Slo
    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 SloArgs
    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 SloArgs
    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 SloArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SloArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SloArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var sloResource = new Gcp.Monitoring.Slo("sloResource", new()
    {
        Goal = 0,
        Service = "string",
        BasicSli = new Gcp.Monitoring.Inputs.SloBasicSliArgs
        {
            Availability = new Gcp.Monitoring.Inputs.SloBasicSliAvailabilityArgs
            {
                Enabled = false,
            },
            Latency = new Gcp.Monitoring.Inputs.SloBasicSliLatencyArgs
            {
                Threshold = "string",
            },
            Locations = new[]
            {
                "string",
            },
            Methods = new[]
            {
                "string",
            },
            Versions = new[]
            {
                "string",
            },
        },
        CalendarPeriod = "string",
        DisplayName = "string",
        Project = "string",
        RequestBasedSli = new Gcp.Monitoring.Inputs.SloRequestBasedSliArgs
        {
            DistributionCut = new Gcp.Monitoring.Inputs.SloRequestBasedSliDistributionCutArgs
            {
                DistributionFilter = "string",
                Range = new Gcp.Monitoring.Inputs.SloRequestBasedSliDistributionCutRangeArgs
                {
                    Max = 0,
                    Min = 0,
                },
            },
            GoodTotalRatio = new Gcp.Monitoring.Inputs.SloRequestBasedSliGoodTotalRatioArgs
            {
                BadServiceFilter = "string",
                GoodServiceFilter = "string",
                TotalServiceFilter = "string",
            },
        },
        RollingPeriodDays = 0,
        SloId = "string",
        UserLabels = 
        {
            { "string", "string" },
        },
        WindowsBasedSli = new Gcp.Monitoring.Inputs.SloWindowsBasedSliArgs
        {
            GoodBadMetricFilter = "string",
            GoodTotalRatioThreshold = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdArgs
            {
                BasicSliPerformance = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceArgs
                {
                    Availability = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityArgs
                    {
                        Enabled = false,
                    },
                    Latency = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyArgs
                    {
                        Threshold = "string",
                    },
                    Locations = new[]
                    {
                        "string",
                    },
                    Methods = new[]
                    {
                        "string",
                    },
                    Versions = new[]
                    {
                        "string",
                    },
                },
                Performance = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs
                {
                    DistributionCut = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs
                    {
                        DistributionFilter = "string",
                        Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                    },
                    GoodTotalRatio = new Gcp.Monitoring.Inputs.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioArgs
                    {
                        BadServiceFilter = "string",
                        GoodServiceFilter = "string",
                        TotalServiceFilter = "string",
                    },
                },
                Threshold = 0,
            },
            MetricMeanInRange = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricMeanInRangeArgs
            {
                Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricMeanInRangeRangeArgs
                {
                    Max = 0,
                    Min = 0,
                },
                TimeSeries = "string",
            },
            MetricSumInRange = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricSumInRangeArgs
            {
                Range = new Gcp.Monitoring.Inputs.SloWindowsBasedSliMetricSumInRangeRangeArgs
                {
                    Max = 0,
                    Min = 0,
                },
                TimeSeries = "string",
            },
            WindowPeriod = "string",
        },
    });
    
    example, err := monitoring.NewSlo(ctx, "sloResource", &monitoring.SloArgs{
    	Goal:    pulumi.Float64(0),
    	Service: pulumi.String("string"),
    	BasicSli: &monitoring.SloBasicSliArgs{
    		Availability: &monitoring.SloBasicSliAvailabilityArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		Latency: &monitoring.SloBasicSliLatencyArgs{
    			Threshold: pulumi.String("string"),
    		},
    		Locations: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Methods: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Versions: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	CalendarPeriod: pulumi.String("string"),
    	DisplayName:    pulumi.String("string"),
    	Project:        pulumi.String("string"),
    	RequestBasedSli: &monitoring.SloRequestBasedSliArgs{
    		DistributionCut: &monitoring.SloRequestBasedSliDistributionCutArgs{
    			DistributionFilter: pulumi.String("string"),
    			Range: &monitoring.SloRequestBasedSliDistributionCutRangeArgs{
    				Max: pulumi.Float64(0),
    				Min: pulumi.Float64(0),
    			},
    		},
    		GoodTotalRatio: &monitoring.SloRequestBasedSliGoodTotalRatioArgs{
    			BadServiceFilter:   pulumi.String("string"),
    			GoodServiceFilter:  pulumi.String("string"),
    			TotalServiceFilter: pulumi.String("string"),
    		},
    	},
    	RollingPeriodDays: pulumi.Int(0),
    	SloId:             pulumi.String("string"),
    	UserLabels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	WindowsBasedSli: &monitoring.SloWindowsBasedSliArgs{
    		GoodBadMetricFilter: pulumi.String("string"),
    		GoodTotalRatioThreshold: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdArgs{
    			BasicSliPerformance: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceArgs{
    				Availability: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityArgs{
    					Enabled: pulumi.Bool(false),
    				},
    				Latency: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyArgs{
    					Threshold: pulumi.String("string"),
    				},
    				Locations: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Methods: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Versions: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Performance: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs{
    				DistributionCut: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs{
    					DistributionFilter: pulumi.String("string"),
    					Range: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs{
    						Max: pulumi.Float64(0),
    						Min: pulumi.Float64(0),
    					},
    				},
    				GoodTotalRatio: &monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioArgs{
    					BadServiceFilter:   pulumi.String("string"),
    					GoodServiceFilter:  pulumi.String("string"),
    					TotalServiceFilter: pulumi.String("string"),
    				},
    			},
    			Threshold: pulumi.Float64(0),
    		},
    		MetricMeanInRange: &monitoring.SloWindowsBasedSliMetricMeanInRangeArgs{
    			Range: &monitoring.SloWindowsBasedSliMetricMeanInRangeRangeArgs{
    				Max: pulumi.Float64(0),
    				Min: pulumi.Float64(0),
    			},
    			TimeSeries: pulumi.String("string"),
    		},
    		MetricSumInRange: &monitoring.SloWindowsBasedSliMetricSumInRangeArgs{
    			Range: &monitoring.SloWindowsBasedSliMetricSumInRangeRangeArgs{
    				Max: pulumi.Float64(0),
    				Min: pulumi.Float64(0),
    			},
    			TimeSeries: pulumi.String("string"),
    		},
    		WindowPeriod: pulumi.String("string"),
    	},
    })
    
    var sloResource = new Slo("sloResource", SloArgs.builder()        
        .goal(0)
        .service("string")
        .basicSli(SloBasicSliArgs.builder()
            .availability(SloBasicSliAvailabilityArgs.builder()
                .enabled(false)
                .build())
            .latency(SloBasicSliLatencyArgs.builder()
                .threshold("string")
                .build())
            .locations("string")
            .methods("string")
            .versions("string")
            .build())
        .calendarPeriod("string")
        .displayName("string")
        .project("string")
        .requestBasedSli(SloRequestBasedSliArgs.builder()
            .distributionCut(SloRequestBasedSliDistributionCutArgs.builder()
                .distributionFilter("string")
                .range(SloRequestBasedSliDistributionCutRangeArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .build())
            .goodTotalRatio(SloRequestBasedSliGoodTotalRatioArgs.builder()
                .badServiceFilter("string")
                .goodServiceFilter("string")
                .totalServiceFilter("string")
                .build())
            .build())
        .rollingPeriodDays(0)
        .sloId("string")
        .userLabels(Map.of("string", "string"))
        .windowsBasedSli(SloWindowsBasedSliArgs.builder()
            .goodBadMetricFilter("string")
            .goodTotalRatioThreshold(SloWindowsBasedSliGoodTotalRatioThresholdArgs.builder()
                .basicSliPerformance(SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceArgs.builder()
                    .availability(SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityArgs.builder()
                        .enabled(false)
                        .build())
                    .latency(SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyArgs.builder()
                        .threshold("string")
                        .build())
                    .locations("string")
                    .methods("string")
                    .versions("string")
                    .build())
                .performance(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs.builder()
                    .distributionCut(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs.builder()
                        .distributionFilter("string")
                        .range(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs.builder()
                            .max(0)
                            .min(0)
                            .build())
                        .build())
                    .goodTotalRatio(SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioArgs.builder()
                        .badServiceFilter("string")
                        .goodServiceFilter("string")
                        .totalServiceFilter("string")
                        .build())
                    .build())
                .threshold(0)
                .build())
            .metricMeanInRange(SloWindowsBasedSliMetricMeanInRangeArgs.builder()
                .range(SloWindowsBasedSliMetricMeanInRangeRangeArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .timeSeries("string")
                .build())
            .metricSumInRange(SloWindowsBasedSliMetricSumInRangeArgs.builder()
                .range(SloWindowsBasedSliMetricSumInRangeRangeArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .timeSeries("string")
                .build())
            .windowPeriod("string")
            .build())
        .build());
    
    slo_resource = gcp.monitoring.Slo("sloResource",
        goal=0,
        service="string",
        basic_sli=gcp.monitoring.SloBasicSliArgs(
            availability=gcp.monitoring.SloBasicSliAvailabilityArgs(
                enabled=False,
            ),
            latency=gcp.monitoring.SloBasicSliLatencyArgs(
                threshold="string",
            ),
            locations=["string"],
            methods=["string"],
            versions=["string"],
        ),
        calendar_period="string",
        display_name="string",
        project="string",
        request_based_sli=gcp.monitoring.SloRequestBasedSliArgs(
            distribution_cut=gcp.monitoring.SloRequestBasedSliDistributionCutArgs(
                distribution_filter="string",
                range=gcp.monitoring.SloRequestBasedSliDistributionCutRangeArgs(
                    max=0,
                    min=0,
                ),
            ),
            good_total_ratio=gcp.monitoring.SloRequestBasedSliGoodTotalRatioArgs(
                bad_service_filter="string",
                good_service_filter="string",
                total_service_filter="string",
            ),
        ),
        rolling_period_days=0,
        slo_id="string",
        user_labels={
            "string": "string",
        },
        windows_based_sli=gcp.monitoring.SloWindowsBasedSliArgs(
            good_bad_metric_filter="string",
            good_total_ratio_threshold=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdArgs(
                basic_sli_performance=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceArgs(
                    availability=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityArgs(
                        enabled=False,
                    ),
                    latency=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyArgs(
                        threshold="string",
                    ),
                    locations=["string"],
                    methods=["string"],
                    versions=["string"],
                ),
                performance=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs(
                    distribution_cut=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs(
                        distribution_filter="string",
                        range=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs(
                            max=0,
                            min=0,
                        ),
                    ),
                    good_total_ratio=gcp.monitoring.SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioArgs(
                        bad_service_filter="string",
                        good_service_filter="string",
                        total_service_filter="string",
                    ),
                ),
                threshold=0,
            ),
            metric_mean_in_range=gcp.monitoring.SloWindowsBasedSliMetricMeanInRangeArgs(
                range=gcp.monitoring.SloWindowsBasedSliMetricMeanInRangeRangeArgs(
                    max=0,
                    min=0,
                ),
                time_series="string",
            ),
            metric_sum_in_range=gcp.monitoring.SloWindowsBasedSliMetricSumInRangeArgs(
                range=gcp.monitoring.SloWindowsBasedSliMetricSumInRangeRangeArgs(
                    max=0,
                    min=0,
                ),
                time_series="string",
            ),
            window_period="string",
        ))
    
    const sloResource = new gcp.monitoring.Slo("sloResource", {
        goal: 0,
        service: "string",
        basicSli: {
            availability: {
                enabled: false,
            },
            latency: {
                threshold: "string",
            },
            locations: ["string"],
            methods: ["string"],
            versions: ["string"],
        },
        calendarPeriod: "string",
        displayName: "string",
        project: "string",
        requestBasedSli: {
            distributionCut: {
                distributionFilter: "string",
                range: {
                    max: 0,
                    min: 0,
                },
            },
            goodTotalRatio: {
                badServiceFilter: "string",
                goodServiceFilter: "string",
                totalServiceFilter: "string",
            },
        },
        rollingPeriodDays: 0,
        sloId: "string",
        userLabels: {
            string: "string",
        },
        windowsBasedSli: {
            goodBadMetricFilter: "string",
            goodTotalRatioThreshold: {
                basicSliPerformance: {
                    availability: {
                        enabled: false,
                    },
                    latency: {
                        threshold: "string",
                    },
                    locations: ["string"],
                    methods: ["string"],
                    versions: ["string"],
                },
                performance: {
                    distributionCut: {
                        distributionFilter: "string",
                        range: {
                            max: 0,
                            min: 0,
                        },
                    },
                    goodTotalRatio: {
                        badServiceFilter: "string",
                        goodServiceFilter: "string",
                        totalServiceFilter: "string",
                    },
                },
                threshold: 0,
            },
            metricMeanInRange: {
                range: {
                    max: 0,
                    min: 0,
                },
                timeSeries: "string",
            },
            metricSumInRange: {
                range: {
                    max: 0,
                    min: 0,
                },
                timeSeries: "string",
            },
            windowPeriod: "string",
        },
    });
    
    type: gcp:monitoring:Slo
    properties:
        basicSli:
            availability:
                enabled: false
            latency:
                threshold: string
            locations:
                - string
            methods:
                - string
            versions:
                - string
        calendarPeriod: string
        displayName: string
        goal: 0
        project: string
        requestBasedSli:
            distributionCut:
                distributionFilter: string
                range:
                    max: 0
                    min: 0
            goodTotalRatio:
                badServiceFilter: string
                goodServiceFilter: string
                totalServiceFilter: string
        rollingPeriodDays: 0
        service: string
        sloId: string
        userLabels:
            string: string
        windowsBasedSli:
            goodBadMetricFilter: string
            goodTotalRatioThreshold:
                basicSliPerformance:
                    availability:
                        enabled: false
                    latency:
                        threshold: string
                    locations:
                        - string
                    methods:
                        - string
                    versions:
                        - string
                performance:
                    distributionCut:
                        distributionFilter: string
                        range:
                            max: 0
                            min: 0
                    goodTotalRatio:
                        badServiceFilter: string
                        goodServiceFilter: string
                        totalServiceFilter: string
                threshold: 0
            metricMeanInRange:
                range:
                    max: 0
                    min: 0
                timeSeries: string
            metricSumInRange:
                range:
                    max: 0
                    min: 0
                timeSeries: string
            windowPeriod: string
    

    Slo 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 Slo resource accepts the following input properties:

    Goal double
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    Service string
    ID of the service to which this SLO belongs.


    BasicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    CalendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    DisplayName string
    Name used for UI elements listing this SLO.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RequestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    RollingPeriodDays int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    SloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    WindowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    Goal float64
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    Service string
    ID of the service to which this SLO belongs.


    BasicSli SloBasicSliArgs
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    CalendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    DisplayName string
    Name used for UI elements listing this SLO.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RequestBasedSli SloRequestBasedSliArgs
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    RollingPeriodDays int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    SloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    WindowsBasedSli SloWindowsBasedSliArgs
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    goal Double
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    service String
    ID of the service to which this SLO belongs.


    basicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod String
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName String
    Name used for UI elements listing this SLO.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays Integer
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    sloId String
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    goal number
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    service string
    ID of the service to which this SLO belongs.


    basicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName string
    Name used for UI elements listing this SLO.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays number
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    sloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    goal float
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    service str
    ID of the service to which this SLO belongs.


    basic_sli SloBasicSliArgs
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendar_period str
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    display_name str
    Name used for UI elements listing this SLO.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    request_based_sli SloRequestBasedSliArgs
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rolling_period_days int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    slo_id str
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windows_based_sli SloWindowsBasedSliArgs
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    goal Number
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    service String
    ID of the service to which this SLO belongs.


    basicSli Property Map
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod String
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName String
    Name used for UI elements listing this SLO.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli Property Map
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays Number
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    sloId String
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli Property Map
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]

    Look up Existing Slo Resource

    Get an existing Slo 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?: SloState, opts?: CustomResourceOptions): Slo
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            basic_sli: Optional[SloBasicSliArgs] = None,
            calendar_period: Optional[str] = None,
            display_name: Optional[str] = None,
            goal: Optional[float] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            request_based_sli: Optional[SloRequestBasedSliArgs] = None,
            rolling_period_days: Optional[int] = None,
            service: Optional[str] = None,
            slo_id: Optional[str] = None,
            user_labels: Optional[Mapping[str, str]] = None,
            windows_based_sli: Optional[SloWindowsBasedSliArgs] = None) -> Slo
    func GetSlo(ctx *Context, name string, id IDInput, state *SloState, opts ...ResourceOption) (*Slo, error)
    public static Slo Get(string name, Input<string> id, SloState? state, CustomResourceOptions? opts = null)
    public static Slo get(String name, Output<String> id, SloState 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:
    BasicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    CalendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    DisplayName string
    Name used for UI elements listing this SLO.
    Goal double
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    Name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RequestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    RollingPeriodDays int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    Service string
    ID of the service to which this SLO belongs.


    SloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    WindowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    BasicSli SloBasicSliArgs
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    CalendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    DisplayName string
    Name used for UI elements listing this SLO.
    Goal float64
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    Name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RequestBasedSli SloRequestBasedSliArgs
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    RollingPeriodDays int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    Service string
    ID of the service to which this SLO belongs.


    SloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    WindowsBasedSli SloWindowsBasedSliArgs
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    basicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod String
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName String
    Name used for UI elements listing this SLO.
    goal Double
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    name String
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays Integer
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    service String
    ID of the service to which this SLO belongs.


    sloId String
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    basicSli SloBasicSli
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod string
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName string
    Name used for UI elements listing this SLO.
    goal number
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    name string
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli SloRequestBasedSli
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays number
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    service string
    ID of the service to which this SLO belongs.


    sloId string
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli SloWindowsBasedSli
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    basic_sli SloBasicSliArgs
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendar_period str
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    display_name str
    Name used for UI elements listing this SLO.
    goal float
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    name str
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    request_based_sli SloRequestBasedSliArgs
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rolling_period_days int
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    service str
    ID of the service to which this SLO belongs.


    slo_id str
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windows_based_sli SloWindowsBasedSliArgs
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    basicSli Property Map
    Basic Service-Level Indicator (SLI) on a well-known service type. Performance will be computed on the basis of pre-defined metrics. SLIs are used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    calendarPeriod String
    A calendar period, semantically "since the start of the current ". Possible values are: DAY, WEEK, FORTNIGHT, MONTH.
    displayName String
    Name used for UI elements listing this SLO.
    goal Number
    The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999
    name String
    The full resource name for this service. The syntax is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    requestBasedSli Property Map
    A request-based SLI defines a SLI for which atomic units of service are counted directly. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.
    rollingPeriodDays Number
    A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.
    service String
    ID of the service to which this SLO belongs.


    sloId String
    The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.
    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.
    windowsBasedSli Property Map
    A windows-based SLI defines the criteria for time windows. good_service is defined based off the count of these time windows for which the provided service was of good quality. A SLI describes a good service. It is used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality. Exactly one of the following must be set: basic_sli, request_based_sli, windows_based_sli Structure is documented below.

    Supporting Types

    SloBasicSli, SloBasicSliArgs

    Availability SloBasicSliAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    Latency SloBasicSliLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    Locations List<string>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    Methods List<string>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    Versions List<string>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    Availability SloBasicSliAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    Latency SloBasicSliLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    Locations []string
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    Methods []string
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    Versions []string
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloBasicSliAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloBasicSliLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations List<String>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods List<String>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions List<String>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloBasicSliAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloBasicSliLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations string[]
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods string[]
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions string[]
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloBasicSliAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloBasicSliLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations Sequence[str]
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods Sequence[str]
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions Sequence[str]
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability Property Map
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency Property Map
    Parameters for a latency threshold SLI. Structure is documented below.
    locations List<String>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods List<String>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions List<String>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.

    SloBasicSliAvailability, SloBasicSliAvailabilityArgs

    Enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    Enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled Boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled Boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.

    SloBasicSliLatency, SloBasicSliLatencyArgs

    Threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    Threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold String
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold str
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold String
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.

    SloRequestBasedSli, SloRequestBasedSliArgs

    DistributionCut SloRequestBasedSliDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    GoodTotalRatio SloRequestBasedSliGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    DistributionCut SloRequestBasedSliDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    GoodTotalRatio SloRequestBasedSliGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    distributionCut SloRequestBasedSliDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    goodTotalRatio SloRequestBasedSliGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    distributionCut SloRequestBasedSliDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    goodTotalRatio SloRequestBasedSliGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    distribution_cut SloRequestBasedSliDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    good_total_ratio SloRequestBasedSliGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    distributionCut Property Map
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.
    goodTotalRatio Property Map
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Exactly one of distribution_cut or good_total_ratio can be set. Structure is documented below.

    SloRequestBasedSliDistributionCut, SloRequestBasedSliDistributionCutArgs

    DistributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    Range SloRequestBasedSliDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    DistributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    Range SloRequestBasedSliDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter String
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloRequestBasedSliDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloRequestBasedSliDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distribution_filter str
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloRequestBasedSliDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter String
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range Property Map
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.

    SloRequestBasedSliDistributionCutRange, SloRequestBasedSliDistributionCutRangeArgs

    Max double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    Max float64
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min float64
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max float
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min float
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"

    SloRequestBasedSliGoodTotalRatio, SloRequestBasedSliGoodTotalRatioArgs

    BadServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    GoodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    TotalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    BadServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    GoodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    TotalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter String
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter String
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter String
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    bad_service_filter str
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    good_service_filter str
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    total_service_filter str
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter String
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter String
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter String
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.

    SloWindowsBasedSli, SloWindowsBasedSliArgs

    GoodBadMetricFilter string
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    GoodTotalRatioThreshold SloWindowsBasedSliGoodTotalRatioThreshold
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    MetricMeanInRange SloWindowsBasedSliMetricMeanInRange
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    MetricSumInRange SloWindowsBasedSliMetricSumInRange
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    WindowPeriod string
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.
    GoodBadMetricFilter string
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    GoodTotalRatioThreshold SloWindowsBasedSliGoodTotalRatioThreshold
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    MetricMeanInRange SloWindowsBasedSliMetricMeanInRange
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    MetricSumInRange SloWindowsBasedSliMetricSumInRange
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    WindowPeriod string
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.
    goodBadMetricFilter String
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    goodTotalRatioThreshold SloWindowsBasedSliGoodTotalRatioThreshold
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    metricMeanInRange SloWindowsBasedSliMetricMeanInRange
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    metricSumInRange SloWindowsBasedSliMetricSumInRange
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    windowPeriod String
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.
    goodBadMetricFilter string
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    goodTotalRatioThreshold SloWindowsBasedSliGoodTotalRatioThreshold
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    metricMeanInRange SloWindowsBasedSliMetricMeanInRange
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    metricSumInRange SloWindowsBasedSliMetricSumInRange
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    windowPeriod string
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.
    good_bad_metric_filter str
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    good_total_ratio_threshold SloWindowsBasedSliGoodTotalRatioThreshold
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    metric_mean_in_range SloWindowsBasedSliMetricMeanInRange
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    metric_sum_in_range SloWindowsBasedSliMetricSumInRange
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    window_period str
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.
    goodBadMetricFilter String
    A TimeSeries monitoring filter with ValueType = BOOL. The window is good if any true values appear in the window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli.
    goodTotalRatioThreshold Property Map
    Criterion that describes a window as good if its performance is high enough. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    metricMeanInRange Property Map
    Criterion that describes a window as good if the metric's value is in a good range, averaged across returned streams. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Average value X of time_series should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    metricSumInRange Property Map
    Criterion that describes a window as good if the metric's value is in a good range, summed across returned streams. Summed value X of time_series should satisfy range.min <= X <= range.max for a good window. One of good_bad_metric_filter, good_total_ratio_threshold, metric_mean_in_range, metric_sum_in_range must be set for windows_based_sli. Structure is documented below.
    windowPeriod String
    Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. Must be an integer fraction of a day and at least 60s.

    SloWindowsBasedSliGoodTotalRatioThreshold, SloWindowsBasedSliGoodTotalRatioThresholdArgs

    BasicSliPerformance SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    Performance SloWindowsBasedSliGoodTotalRatioThresholdPerformance
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    Threshold double
    If window performance >= threshold, the window is counted as good.
    BasicSliPerformance SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    Performance SloWindowsBasedSliGoodTotalRatioThresholdPerformance
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    Threshold float64
    If window performance >= threshold, the window is counted as good.
    basicSliPerformance SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    performance SloWindowsBasedSliGoodTotalRatioThresholdPerformance
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    threshold Double
    If window performance >= threshold, the window is counted as good.
    basicSliPerformance SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    performance SloWindowsBasedSliGoodTotalRatioThresholdPerformance
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    threshold number
    If window performance >= threshold, the window is counted as good.
    basic_sli_performance SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    performance SloWindowsBasedSliGoodTotalRatioThresholdPerformance
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    threshold float
    If window performance >= threshold, the window is counted as good.
    basicSliPerformance Property Map
    Basic SLI to evaluate to judge window quality. Structure is documented below.
    performance Property Map
    Request-based SLI to evaluate to judge window quality. Structure is documented below.
    threshold Number
    If window performance >= threshold, the window is counted as good.

    SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance, SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceArgs

    Availability SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    Latency SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    Locations List<string>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    Methods List<string>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    Versions List<string>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    Availability SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    Latency SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    Locations []string
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    Methods []string
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    Versions []string
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations List<String>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods List<String>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions List<String>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations string[]
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods string[]
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions string[]
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency
    Parameters for a latency threshold SLI. Structure is documented below.
    locations Sequence[str]
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods Sequence[str]
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions Sequence[str]
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.
    availability Property Map
    Availability based SLI, dervied from count of requests made to this service that return successfully. Structure is documented below.
    latency Property Map
    Parameters for a latency threshold SLI. Structure is documented below.
    locations List<String>
    An optional set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.
    methods List<String>
    An optional set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.
    versions List<String>
    The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.

    SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability, SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailabilityArgs

    Enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    Enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled Boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled bool
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.
    enabled Boolean
    Whether an availability SLI is enabled or not. Must be set to true. Defaults to true`.

    SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency, SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatencyArgs

    Threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    Threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold String
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold string
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold str
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.
    threshold String
    A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.

    SloWindowsBasedSliGoodTotalRatioThresholdPerformance, SloWindowsBasedSliGoodTotalRatioThresholdPerformanceArgs

    DistributionCut SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    GoodTotalRatio SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.
    DistributionCut SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    GoodTotalRatio SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.
    distributionCut SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    goodTotalRatio SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.
    distributionCut SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    goodTotalRatio SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.
    distribution_cut SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    good_total_ratio SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.
    distributionCut Property Map
    Used when good_service is defined by a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution. Defines a distribution TimeSeries filter and thresholds used for measuring good service and total service. Structure is documented below.
    goodTotalRatio Property Map
    A means to compute a ratio of good_service to total_service. Defines computing this ratio with two TimeSeries monitoring filters Must specify exactly two of good, bad, and total service filters. The relationship good_service + bad_service = total_service will be assumed. Structure is documented below.

    SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut, SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutArgs

    DistributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    Range SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    DistributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    Range SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter String
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter string
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distribution_filter str
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.
    distributionFilter String
    A TimeSeries monitoring filter aggregating values to quantify the good service provided. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
    range Property Map
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Structure is documented below.

    SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange, SloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRangeArgs

    Max double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    Max float64
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min float64
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max float
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min float
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"

    SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio, SloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatioArgs

    BadServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    GoodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    TotalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    BadServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    GoodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    TotalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter String
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter String
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter String
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter string
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter string
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter string
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    bad_service_filter str
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    good_service_filter str
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    total_service_filter str
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    badServiceFilter String
    A TimeSeries monitoring filter quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    goodServiceFilter String
    A TimeSeries monitoring filter quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.
    totalServiceFilter String
    A TimeSeries monitoring filter quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed) Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.

    SloWindowsBasedSliMetricMeanInRange, SloWindowsBasedSliMetricMeanInRangeArgs

    Range SloWindowsBasedSliMetricMeanInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    TimeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.
    Range SloWindowsBasedSliMetricMeanInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    TimeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.
    range SloWindowsBasedSliMetricMeanInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    timeSeries String
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.
    range SloWindowsBasedSliMetricMeanInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    timeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.
    range SloWindowsBasedSliMetricMeanInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    time_series str
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.
    range Property Map
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Mean value X of time_series values should satisfy range.min <= X <= range.max for a good service. Structure is documented below.
    timeSeries String
    A monitoring filter specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value X should satisfy range.min <= X <= range.max under good service.

    SloWindowsBasedSliMetricMeanInRangeRange, SloWindowsBasedSliMetricMeanInRangeRangeArgs

    Max double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    Max float64
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min float64
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max float
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min float
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"

    SloWindowsBasedSliMetricSumInRange, SloWindowsBasedSliMetricSumInRangeArgs

    Range SloWindowsBasedSliMetricSumInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    TimeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.
    Range SloWindowsBasedSliMetricSumInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    TimeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.
    range SloWindowsBasedSliMetricSumInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    timeSeries String
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.
    range SloWindowsBasedSliMetricSumInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    timeSeries string
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.
    range SloWindowsBasedSliMetricSumInRangeRange
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    time_series str
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.
    range Property Map
    Range of numerical values. The computed good_service will be the count of values x in the Distribution such that range.min <= x <= range.max. inclusive of min and max. Open ranges can be defined by setting just one of min or max. Summed value X should satisfy range.min <= X <= range.max for a good window. Structure is documented below.
    timeSeries String
    A monitoring filter specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Summed value X should satisfy range.min <= X <= range.max for a good window.

    SloWindowsBasedSliMetricSumInRangeRange, SloWindowsBasedSliMetricSumInRangeRangeArgs

    Max double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    Max float64
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    Min float64
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Double
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Double
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max float
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min float
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"
    max Number
    max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min"
    min Number
    Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max"

    Import

    Slo can be imported using any of these accepted formats:

    • {{name}}

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

    $ pulumi import gcp:monitoring/slo:Slo 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.20.0 published on Wednesday, Apr 24, 2024 by Pulumi