1. Packages
  2. Elasticstack Provider
  3. API Docs
  4. KibanaSlo
Viewing docs for elasticstack 0.14.3
published on Tuesday, Mar 3, 2026 by elastic
elasticstack logo
Viewing docs for elasticstack 0.14.3
published on Tuesday, Mar 3, 2026 by elastic

    Creates or updates a Kibana SLO.

    See the Kibana SLO docs.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as elasticstack from "@pulumi/elasticstack";
    
    const authServerLatency = new elasticstack.KibanaSlo("auth_server_latency", {
        name: "Auth server latency",
        description: "Ensures auth server is responding in time",
        apmLatencyIndicators: [{
            environment: "production",
            service: "auth",
            transactionType: "request",
            transactionName: "GET /auth",
            index: "metrics-apm*",
            threshold: 500,
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
        settings: {
            syncDelay: "5m",
            frequency: "5m",
        },
    });
    const authServerAvailability = new elasticstack.KibanaSlo("auth_server_availability", {
        name: "Auth server latency",
        description: "Ensures auth server is responding in time",
        apmAvailabilityIndicators: [{
            environment: "production",
            service: "my-service",
            transactionType: "request",
            transactionName: "GET /sup/dawg",
            index: "metrics-apm*",
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
        settings: {
            syncDelay: "5m",
            frequency: "5m",
        },
    });
    const customKql = new elasticstack.KibanaSlo("custom_kql", {
        name: "custom kql",
        description: "custom kql",
        kqlCustomIndicators: [{
            index: "my-index",
            good: "latency < 300",
            total: "*",
            filter: "labels.groupId: group-0",
            timestampField: "custom_timestamp",
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
        settings: {
            syncDelay: "5m",
            frequency: "5m",
        },
    });
    //Available from 8.10.0
    const customHistogram = new elasticstack.KibanaSlo("custom_histogram", {
        name: "custom histogram",
        description: "custom histogram",
        histogramCustomIndicators: [{
            index: "my-index",
            goods: [{
                field: "test",
                aggregation: "value_count",
                filter: "latency < 300",
            }],
            totals: [{
                field: "test",
                aggregation: "value_count",
            }],
            filter: "labels.groupId: group-0",
            timestampField: "custom_timestamp",
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
        tags: [
            "tag-1",
            "another_tag",
        ],
    });
    //Available from 8.10.0
    const customMetric = new elasticstack.KibanaSlo("custom_metric", {
        name: "custom kql",
        description: "custom kql",
        metricCustomIndicators: [{
            index: "my-index",
            goods: [{
                metrics: [{
                    name: "A",
                    aggregation: "sum",
                    field: "processor.processed",
                }],
                equation: "A",
            }],
            totals: [{
                metrics: [{
                    name: "A",
                    aggregation: "sum",
                    field: "processor.accepted",
                }],
                equation: "A",
            }],
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
    });
    //Available from 8.12.0
    const timesliceMetric = new elasticstack.KibanaSlo("timeslice_metric", {
        name: "timeslice metric",
        description: "timeslice metric",
        timesliceMetricIndicators: [{
            index: "my-index",
            timestampField: "@timestamp",
            metrics: [{
                metrics: [{
                    name: "A",
                    aggregation: "sum",
                    field: "latency",
                }],
                equation: "A",
                comparator: "GT",
                threshold: 100,
            }],
        }],
        timeWindows: [{
            duration: "7d",
            type: "rolling",
        }],
        budgetingMethod: "timeslices",
        objectives: [{
            target: 0.95,
            timesliceTarget: 0.95,
            timesliceWindow: "5m",
        }],
    });
    
    import pulumi
    import pulumi_elasticstack as elasticstack
    
    auth_server_latency = elasticstack.KibanaSlo("auth_server_latency",
        name="Auth server latency",
        description="Ensures auth server is responding in time",
        apm_latency_indicators=[{
            "environment": "production",
            "service": "auth",
            "transaction_type": "request",
            "transaction_name": "GET /auth",
            "index": "metrics-apm*",
            "threshold": 500,
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }],
        settings={
            "sync_delay": "5m",
            "frequency": "5m",
        })
    auth_server_availability = elasticstack.KibanaSlo("auth_server_availability",
        name="Auth server latency",
        description="Ensures auth server is responding in time",
        apm_availability_indicators=[{
            "environment": "production",
            "service": "my-service",
            "transaction_type": "request",
            "transaction_name": "GET /sup/dawg",
            "index": "metrics-apm*",
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }],
        settings={
            "sync_delay": "5m",
            "frequency": "5m",
        })
    custom_kql = elasticstack.KibanaSlo("custom_kql",
        name="custom kql",
        description="custom kql",
        kql_custom_indicators=[{
            "index": "my-index",
            "good": "latency < 300",
            "total": "*",
            "filter": "labels.groupId: group-0",
            "timestamp_field": "custom_timestamp",
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }],
        settings={
            "sync_delay": "5m",
            "frequency": "5m",
        })
    #Available from 8.10.0
    custom_histogram = elasticstack.KibanaSlo("custom_histogram",
        name="custom histogram",
        description="custom histogram",
        histogram_custom_indicators=[{
            "index": "my-index",
            "goods": [{
                "field": "test",
                "aggregation": "value_count",
                "filter": "latency < 300",
            }],
            "totals": [{
                "field": "test",
                "aggregation": "value_count",
            }],
            "filter": "labels.groupId: group-0",
            "timestamp_field": "custom_timestamp",
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }],
        tags=[
            "tag-1",
            "another_tag",
        ])
    #Available from 8.10.0
    custom_metric = elasticstack.KibanaSlo("custom_metric",
        name="custom kql",
        description="custom kql",
        metric_custom_indicators=[{
            "index": "my-index",
            "goods": [{
                "metrics": [{
                    "name": "A",
                    "aggregation": "sum",
                    "field": "processor.processed",
                }],
                "equation": "A",
            }],
            "totals": [{
                "metrics": [{
                    "name": "A",
                    "aggregation": "sum",
                    "field": "processor.accepted",
                }],
                "equation": "A",
            }],
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }])
    #Available from 8.12.0
    timeslice_metric = elasticstack.KibanaSlo("timeslice_metric",
        name="timeslice metric",
        description="timeslice metric",
        timeslice_metric_indicators=[{
            "index": "my-index",
            "timestamp_field": "@timestamp",
            "metrics": [{
                "metrics": [{
                    "name": "A",
                    "aggregation": "sum",
                    "field": "latency",
                }],
                "equation": "A",
                "comparator": "GT",
                "threshold": 100,
            }],
        }],
        time_windows=[{
            "duration": "7d",
            "type": "rolling",
        }],
        budgeting_method="timeslices",
        objectives=[{
            "target": 0.95,
            "timeslice_target": 0.95,
            "timeslice_window": "5m",
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/elasticstack/elasticstack"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := elasticstack.NewKibanaSlo(ctx, "auth_server_latency", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("Auth server latency"),
    			Description: pulumi.String("Ensures auth server is responding in time"),
    			ApmLatencyIndicators: elasticstack.KibanaSloApmLatencyIndicatorArray{
    				&elasticstack.KibanaSloApmLatencyIndicatorArgs{
    					Environment:     pulumi.String("production"),
    					Service:         pulumi.String("auth"),
    					TransactionType: pulumi.String("request"),
    					TransactionName: pulumi.String("GET /auth"),
    					Index:           pulumi.String("metrics-apm*"),
    					Threshold:       pulumi.Float64(500),
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    			Settings: &elasticstack.KibanaSloSettingsArgs{
    				SyncDelay: pulumi.String("5m"),
    				Frequency: pulumi.String("5m"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = elasticstack.NewKibanaSlo(ctx, "auth_server_availability", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("Auth server latency"),
    			Description: pulumi.String("Ensures auth server is responding in time"),
    			ApmAvailabilityIndicators: elasticstack.KibanaSloApmAvailabilityIndicatorArray{
    				&elasticstack.KibanaSloApmAvailabilityIndicatorArgs{
    					Environment:     pulumi.String("production"),
    					Service:         pulumi.String("my-service"),
    					TransactionType: pulumi.String("request"),
    					TransactionName: pulumi.String("GET /sup/dawg"),
    					Index:           pulumi.String("metrics-apm*"),
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    			Settings: &elasticstack.KibanaSloSettingsArgs{
    				SyncDelay: pulumi.String("5m"),
    				Frequency: pulumi.String("5m"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = elasticstack.NewKibanaSlo(ctx, "custom_kql", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("custom kql"),
    			Description: pulumi.String("custom kql"),
    			KqlCustomIndicators: elasticstack.KibanaSloKqlCustomIndicatorArray{
    				&elasticstack.KibanaSloKqlCustomIndicatorArgs{
    					Index:          pulumi.String("my-index"),
    					Good:           pulumi.String("latency < 300"),
    					Total:          pulumi.String("*"),
    					Filter:         pulumi.String("labels.groupId: group-0"),
    					TimestampField: pulumi.String("custom_timestamp"),
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    			Settings: &elasticstack.KibanaSloSettingsArgs{
    				SyncDelay: pulumi.String("5m"),
    				Frequency: pulumi.String("5m"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Available from 8.10.0
    		_, err = elasticstack.NewKibanaSlo(ctx, "custom_histogram", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("custom histogram"),
    			Description: pulumi.String("custom histogram"),
    			HistogramCustomIndicators: elasticstack.KibanaSloHistogramCustomIndicatorArray{
    				&elasticstack.KibanaSloHistogramCustomIndicatorArgs{
    					Index: pulumi.String("my-index"),
    					Goods: elasticstack.KibanaSloHistogramCustomIndicatorGoodArray{
    						&elasticstack.KibanaSloHistogramCustomIndicatorGoodArgs{
    							Field:       pulumi.String("test"),
    							Aggregation: pulumi.String("value_count"),
    							Filter:      pulumi.String("latency < 300"),
    						},
    					},
    					Totals: elasticstack.KibanaSloHistogramCustomIndicatorTotalArray{
    						&elasticstack.KibanaSloHistogramCustomIndicatorTotalArgs{
    							Field:       pulumi.String("test"),
    							Aggregation: pulumi.String("value_count"),
    						},
    					},
    					Filter:         pulumi.String("labels.groupId: group-0"),
    					TimestampField: pulumi.String("custom_timestamp"),
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("tag-1"),
    				pulumi.String("another_tag"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Available from 8.10.0
    		_, err = elasticstack.NewKibanaSlo(ctx, "custom_metric", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("custom kql"),
    			Description: pulumi.String("custom kql"),
    			MetricCustomIndicators: elasticstack.KibanaSloMetricCustomIndicatorArray{
    				&elasticstack.KibanaSloMetricCustomIndicatorArgs{
    					Index: pulumi.String("my-index"),
    					Goods: elasticstack.KibanaSloMetricCustomIndicatorGoodArray{
    						&elasticstack.KibanaSloMetricCustomIndicatorGoodArgs{
    							Metrics: elasticstack.KibanaSloMetricCustomIndicatorGoodMetricArray{
    								&elasticstack.KibanaSloMetricCustomIndicatorGoodMetricArgs{
    									Name:        pulumi.String("A"),
    									Aggregation: pulumi.String("sum"),
    									Field:       pulumi.String("processor.processed"),
    								},
    							},
    							Equation: pulumi.String("A"),
    						},
    					},
    					Totals: elasticstack.KibanaSloMetricCustomIndicatorTotalArray{
    						&elasticstack.KibanaSloMetricCustomIndicatorTotalArgs{
    							Metrics: elasticstack.KibanaSloMetricCustomIndicatorTotalMetricArray{
    								&elasticstack.KibanaSloMetricCustomIndicatorTotalMetricArgs{
    									Name:        pulumi.String("A"),
    									Aggregation: pulumi.String("sum"),
    									Field:       pulumi.String("processor.accepted"),
    								},
    							},
    							Equation: pulumi.String("A"),
    						},
    					},
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Available from 8.12.0
    		_, err = elasticstack.NewKibanaSlo(ctx, "timeslice_metric", &elasticstack.KibanaSloArgs{
    			Name:        pulumi.String("timeslice metric"),
    			Description: pulumi.String("timeslice metric"),
    			TimesliceMetricIndicators: elasticstack.KibanaSloTimesliceMetricIndicatorArray{
    				&elasticstack.KibanaSloTimesliceMetricIndicatorArgs{
    					Index:          pulumi.String("my-index"),
    					TimestampField: pulumi.String("@timestamp"),
    					Metrics: elasticstack.KibanaSloTimesliceMetricIndicatorMetricArray{
    						&elasticstack.KibanaSloTimesliceMetricIndicatorMetricArgs{
    							Metrics: elasticstack.KibanaSloTimesliceMetricIndicatorMetricMetricArray{
    								&elasticstack.KibanaSloTimesliceMetricIndicatorMetricMetricArgs{
    									Name:        pulumi.String("A"),
    									Aggregation: pulumi.String("sum"),
    									Field:       pulumi.String("latency"),
    								},
    							},
    							Equation:   pulumi.String("A"),
    							Comparator: pulumi.String("GT"),
    							Threshold:  pulumi.Float64(100),
    						},
    					},
    				},
    			},
    			TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    				&elasticstack.KibanaSloTimeWindowArgs{
    					Duration: pulumi.String("7d"),
    					Type:     pulumi.String("rolling"),
    				},
    			},
    			BudgetingMethod: pulumi.String("timeslices"),
    			Objectives: elasticstack.KibanaSloObjectiveArray{
    				&elasticstack.KibanaSloObjectiveArgs{
    					Target:          pulumi.Float64(0.95),
    					TimesliceTarget: pulumi.Float64(0.95),
    					TimesliceWindow: pulumi.String("5m"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Elasticstack = Pulumi.Elasticstack;
    
    return await Deployment.RunAsync(() => 
    {
        var authServerLatency = new Elasticstack.KibanaSlo("auth_server_latency", new()
        {
            Name = "Auth server latency",
            Description = "Ensures auth server is responding in time",
            ApmLatencyIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloApmLatencyIndicatorArgs
                {
                    Environment = "production",
                    Service = "auth",
                    TransactionType = "request",
                    TransactionName = "GET /auth",
                    Index = "metrics-apm*",
                    Threshold = 500,
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
            Settings = new Elasticstack.Inputs.KibanaSloSettingsArgs
            {
                SyncDelay = "5m",
                Frequency = "5m",
            },
        });
    
        var authServerAvailability = new Elasticstack.KibanaSlo("auth_server_availability", new()
        {
            Name = "Auth server latency",
            Description = "Ensures auth server is responding in time",
            ApmAvailabilityIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloApmAvailabilityIndicatorArgs
                {
                    Environment = "production",
                    Service = "my-service",
                    TransactionType = "request",
                    TransactionName = "GET /sup/dawg",
                    Index = "metrics-apm*",
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
            Settings = new Elasticstack.Inputs.KibanaSloSettingsArgs
            {
                SyncDelay = "5m",
                Frequency = "5m",
            },
        });
    
        var customKql = new Elasticstack.KibanaSlo("custom_kql", new()
        {
            Name = "custom kql",
            Description = "custom kql",
            KqlCustomIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloKqlCustomIndicatorArgs
                {
                    Index = "my-index",
                    Good = "latency < 300",
                    Total = "*",
                    Filter = "labels.groupId: group-0",
                    TimestampField = "custom_timestamp",
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
            Settings = new Elasticstack.Inputs.KibanaSloSettingsArgs
            {
                SyncDelay = "5m",
                Frequency = "5m",
            },
        });
    
        //Available from 8.10.0
        var customHistogram = new Elasticstack.KibanaSlo("custom_histogram", new()
        {
            Name = "custom histogram",
            Description = "custom histogram",
            HistogramCustomIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorArgs
                {
                    Index = "my-index",
                    Goods = new[]
                    {
                        new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorGoodArgs
                        {
                            Field = "test",
                            Aggregation = "value_count",
                            Filter = "latency < 300",
                        },
                    },
                    Totals = new[]
                    {
                        new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorTotalArgs
                        {
                            Field = "test",
                            Aggregation = "value_count",
                        },
                    },
                    Filter = "labels.groupId: group-0",
                    TimestampField = "custom_timestamp",
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
            Tags = new[]
            {
                "tag-1",
                "another_tag",
            },
        });
    
        //Available from 8.10.0
        var customMetric = new Elasticstack.KibanaSlo("custom_metric", new()
        {
            Name = "custom kql",
            Description = "custom kql",
            MetricCustomIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorArgs
                {
                    Index = "my-index",
                    Goods = new[]
                    {
                        new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorGoodArgs
                        {
                            Metrics = new[]
                            {
                                new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorGoodMetricArgs
                                {
                                    Name = "A",
                                    Aggregation = "sum",
                                    Field = "processor.processed",
                                },
                            },
                            Equation = "A",
                        },
                    },
                    Totals = new[]
                    {
                        new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorTotalArgs
                        {
                            Metrics = new[]
                            {
                                new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorTotalMetricArgs
                                {
                                    Name = "A",
                                    Aggregation = "sum",
                                    Field = "processor.accepted",
                                },
                            },
                            Equation = "A",
                        },
                    },
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
        });
    
        //Available from 8.12.0
        var timesliceMetric = new Elasticstack.KibanaSlo("timeslice_metric", new()
        {
            Name = "timeslice metric",
            Description = "timeslice metric",
            TimesliceMetricIndicators = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorArgs
                {
                    Index = "my-index",
                    TimestampField = "@timestamp",
                    Metrics = new[]
                    {
                        new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorMetricArgs
                        {
                            Metrics = new[]
                            {
                                new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorMetricMetricArgs
                                {
                                    Name = "A",
                                    Aggregation = "sum",
                                    Field = "latency",
                                },
                            },
                            Equation = "A",
                            Comparator = "GT",
                            Threshold = 100,
                        },
                    },
                },
            },
            TimeWindows = new[]
            {
                new Elasticstack.Inputs.KibanaSloTimeWindowArgs
                {
                    Duration = "7d",
                    Type = "rolling",
                },
            },
            BudgetingMethod = "timeslices",
            Objectives = new[]
            {
                new Elasticstack.Inputs.KibanaSloObjectiveArgs
                {
                    Target = 0.95,
                    TimesliceTarget = 0.95,
                    TimesliceWindow = "5m",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.elasticstack.KibanaSlo;
    import com.pulumi.elasticstack.KibanaSloArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloApmLatencyIndicatorArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloTimeWindowArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloObjectiveArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloSettingsArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloApmAvailabilityIndicatorArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloKqlCustomIndicatorArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloHistogramCustomIndicatorArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloMetricCustomIndicatorArgs;
    import com.pulumi.elasticstack.inputs.KibanaSloTimesliceMetricIndicatorArgs;
    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 authServerLatency = new KibanaSlo("authServerLatency", KibanaSloArgs.builder()
                .name("Auth server latency")
                .description("Ensures auth server is responding in time")
                .apmLatencyIndicators(KibanaSloApmLatencyIndicatorArgs.builder()
                    .environment("production")
                    .service("auth")
                    .transactionType("request")
                    .transactionName("GET /auth")
                    .index("metrics-apm*")
                    .threshold(500.0)
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .settings(KibanaSloSettingsArgs.builder()
                    .syncDelay("5m")
                    .frequency("5m")
                    .build())
                .build());
    
            var authServerAvailability = new KibanaSlo("authServerAvailability", KibanaSloArgs.builder()
                .name("Auth server latency")
                .description("Ensures auth server is responding in time")
                .apmAvailabilityIndicators(KibanaSloApmAvailabilityIndicatorArgs.builder()
                    .environment("production")
                    .service("my-service")
                    .transactionType("request")
                    .transactionName("GET /sup/dawg")
                    .index("metrics-apm*")
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .settings(KibanaSloSettingsArgs.builder()
                    .syncDelay("5m")
                    .frequency("5m")
                    .build())
                .build());
    
            var customKql = new KibanaSlo("customKql", KibanaSloArgs.builder()
                .name("custom kql")
                .description("custom kql")
                .kqlCustomIndicators(KibanaSloKqlCustomIndicatorArgs.builder()
                    .index("my-index")
                    .good("latency < 300")
                    .total("*")
                    .filter("labels.groupId: group-0")
                    .timestampField("custom_timestamp")
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .settings(KibanaSloSettingsArgs.builder()
                    .syncDelay("5m")
                    .frequency("5m")
                    .build())
                .build());
    
            //Available from 8.10.0
            var customHistogram = new KibanaSlo("customHistogram", KibanaSloArgs.builder()
                .name("custom histogram")
                .description("custom histogram")
                .histogramCustomIndicators(KibanaSloHistogramCustomIndicatorArgs.builder()
                    .index("my-index")
                    .goods(KibanaSloHistogramCustomIndicatorGoodArgs.builder()
                        .field("test")
                        .aggregation("value_count")
                        .filter("latency < 300")
                        .build())
                    .totals(KibanaSloHistogramCustomIndicatorTotalArgs.builder()
                        .field("test")
                        .aggregation("value_count")
                        .build())
                    .filter("labels.groupId: group-0")
                    .timestampField("custom_timestamp")
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .tags(            
                    "tag-1",
                    "another_tag")
                .build());
    
            //Available from 8.10.0
            var customMetric = new KibanaSlo("customMetric", KibanaSloArgs.builder()
                .name("custom kql")
                .description("custom kql")
                .metricCustomIndicators(KibanaSloMetricCustomIndicatorArgs.builder()
                    .index("my-index")
                    .goods(KibanaSloMetricCustomIndicatorGoodArgs.builder()
                        .metrics(KibanaSloMetricCustomIndicatorGoodMetricArgs.builder()
                            .name("A")
                            .aggregation("sum")
                            .field("processor.processed")
                            .build())
                        .equation("A")
                        .build())
                    .totals(KibanaSloMetricCustomIndicatorTotalArgs.builder()
                        .metrics(KibanaSloMetricCustomIndicatorTotalMetricArgs.builder()
                            .name("A")
                            .aggregation("sum")
                            .field("processor.accepted")
                            .build())
                        .equation("A")
                        .build())
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .build());
    
            //Available from 8.12.0
            var timesliceMetric = new KibanaSlo("timesliceMetric", KibanaSloArgs.builder()
                .name("timeslice metric")
                .description("timeslice metric")
                .timesliceMetricIndicators(KibanaSloTimesliceMetricIndicatorArgs.builder()
                    .index("my-index")
                    .timestampField("@timestamp")
                    .metrics(KibanaSloTimesliceMetricIndicatorMetricArgs.builder()
                        .metrics(KibanaSloTimesliceMetricIndicatorMetricMetricArgs.builder()
                            .name("A")
                            .aggregation("sum")
                            .field("latency")
                            .build())
                        .equation("A")
                        .comparator("GT")
                        .threshold(100.0)
                        .build())
                    .build())
                .timeWindows(KibanaSloTimeWindowArgs.builder()
                    .duration("7d")
                    .type("rolling")
                    .build())
                .budgetingMethod("timeslices")
                .objectives(KibanaSloObjectiveArgs.builder()
                    .target(0.95)
                    .timesliceTarget(0.95)
                    .timesliceWindow("5m")
                    .build())
                .build());
    
        }
    }
    
    resources:
      authServerLatency:
        type: elasticstack:KibanaSlo
        name: auth_server_latency
        properties:
          name: Auth server latency
          description: Ensures auth server is responding in time
          apmLatencyIndicators:
            - environment: production
              service: auth
              transactionType: request
              transactionName: GET /auth
              index: metrics-apm*
              threshold: 500
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
          settings:
            syncDelay: 5m
            frequency: 5m
      authServerAvailability:
        type: elasticstack:KibanaSlo
        name: auth_server_availability
        properties:
          name: Auth server latency
          description: Ensures auth server is responding in time
          apmAvailabilityIndicators:
            - environment: production
              service: my-service
              transactionType: request
              transactionName: GET /sup/dawg
              index: metrics-apm*
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
          settings:
            syncDelay: 5m
            frequency: 5m
      customKql:
        type: elasticstack:KibanaSlo
        name: custom_kql
        properties:
          name: custom kql
          description: custom kql
          kqlCustomIndicators:
            - index: my-index
              good: latency < 300
              total: '*'
              filter: 'labels.groupId: group-0'
              timestampField: custom_timestamp
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
          settings:
            syncDelay: 5m
            frequency: 5m
      # Available from 8.10.0
      customHistogram:
        type: elasticstack:KibanaSlo
        name: custom_histogram
        properties:
          name: custom histogram
          description: custom histogram
          histogramCustomIndicators:
            - index: my-index
              goods:
                - field: test
                  aggregation: value_count
                  filter: latency < 300
              totals:
                - field: test
                  aggregation: value_count
              filter: 'labels.groupId: group-0'
              timestampField: custom_timestamp
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
          tags:
            - tag-1
            - another_tag
      # Available from 8.10.0
      customMetric:
        type: elasticstack:KibanaSlo
        name: custom_metric
        properties:
          name: custom kql
          description: custom kql
          metricCustomIndicators:
            - index: my-index
              goods:
                - metrics:
                    - name: A
                      aggregation: sum
                      field: processor.processed
                  equation: A
              totals:
                - metrics:
                    - name: A
                      aggregation: sum
                      field: processor.accepted
                  equation: A
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
      # Available from 8.12.0
      timesliceMetric:
        type: elasticstack:KibanaSlo
        name: timeslice_metric
        properties:
          name: timeslice metric
          description: timeslice metric
          timesliceMetricIndicators:
            - index: my-index
              timestampField: '@timestamp'
              metrics:
                - metrics:
                    - name: A
                      aggregation: sum
                      field: latency
                  equation: A
                  comparator: GT
                  threshold: 100
          timeWindows:
            - duration: 7d
              type: rolling
          budgetingMethod: timeslices
          objectives:
            - target: 0.95
              timesliceTarget: 0.95
              timesliceWindow: 5m
    

    Create KibanaSlo Resource

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

    Constructor syntax

    new KibanaSlo(name: string, args: KibanaSloArgs, opts?: CustomResourceOptions);
    @overload
    def KibanaSlo(resource_name: str,
                  args: KibanaSloArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def KibanaSlo(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  budgeting_method: Optional[str] = None,
                  description: Optional[str] = None,
                  name: Optional[str] = None,
                  objectives: Optional[Sequence[KibanaSloObjectiveArgs]] = None,
                  group_bies: Optional[Sequence[str]] = None,
                  histogram_custom_indicators: Optional[Sequence[KibanaSloHistogramCustomIndicatorArgs]] = None,
                  kql_custom_indicators: Optional[Sequence[KibanaSloKqlCustomIndicatorArgs]] = None,
                  metric_custom_indicators: Optional[Sequence[KibanaSloMetricCustomIndicatorArgs]] = None,
                  apm_availability_indicators: Optional[Sequence[KibanaSloApmAvailabilityIndicatorArgs]] = None,
                  apm_latency_indicators: Optional[Sequence[KibanaSloApmLatencyIndicatorArgs]] = None,
                  settings: Optional[KibanaSloSettingsArgs] = None,
                  slo_id: Optional[str] = None,
                  space_id: Optional[str] = None,
                  tags: Optional[Sequence[str]] = None,
                  time_windows: Optional[Sequence[KibanaSloTimeWindowArgs]] = None,
                  timeslice_metric_indicators: Optional[Sequence[KibanaSloTimesliceMetricIndicatorArgs]] = None)
    func NewKibanaSlo(ctx *Context, name string, args KibanaSloArgs, opts ...ResourceOption) (*KibanaSlo, error)
    public KibanaSlo(string name, KibanaSloArgs args, CustomResourceOptions? opts = null)
    public KibanaSlo(String name, KibanaSloArgs args)
    public KibanaSlo(String name, KibanaSloArgs args, CustomResourceOptions options)
    
    type: elasticstack:KibanaSlo
    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 KibanaSloArgs
    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 KibanaSloArgs
    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 KibanaSloArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args KibanaSloArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args KibanaSloArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var kibanaSloResource = new Elasticstack.KibanaSlo("kibanaSloResource", new()
    {
        BudgetingMethod = "string",
        Description = "string",
        Name = "string",
        Objectives = new[]
        {
            new Elasticstack.Inputs.KibanaSloObjectiveArgs
            {
                Target = 0,
                TimesliceTarget = 0,
                TimesliceWindow = "string",
            },
        },
        GroupBies = new[]
        {
            "string",
        },
        HistogramCustomIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorArgs
            {
                Index = "string",
                DataViewId = "string",
                Filter = "string",
                Goods = new[]
                {
                    new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorGoodArgs
                    {
                        Aggregation = "string",
                        Field = "string",
                        Filter = "string",
                        From = 0,
                        To = 0,
                    },
                },
                TimestampField = "string",
                Totals = new[]
                {
                    new Elasticstack.Inputs.KibanaSloHistogramCustomIndicatorTotalArgs
                    {
                        Aggregation = "string",
                        Field = "string",
                        Filter = "string",
                        From = 0,
                        To = 0,
                    },
                },
            },
        },
        KqlCustomIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloKqlCustomIndicatorArgs
            {
                Index = "string",
                DataViewId = "string",
                Filter = "string",
                Good = "string",
                TimestampField = "string",
                Total = "string",
            },
        },
        MetricCustomIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorArgs
            {
                Index = "string",
                DataViewId = "string",
                Filter = "string",
                Goods = new[]
                {
                    new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorGoodArgs
                    {
                        Equation = "string",
                        Metrics = new[]
                        {
                            new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorGoodMetricArgs
                            {
                                Aggregation = "string",
                                Field = "string",
                                Name = "string",
                                Filter = "string",
                            },
                        },
                    },
                },
                TimestampField = "string",
                Totals = new[]
                {
                    new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorTotalArgs
                    {
                        Equation = "string",
                        Metrics = new[]
                        {
                            new Elasticstack.Inputs.KibanaSloMetricCustomIndicatorTotalMetricArgs
                            {
                                Aggregation = "string",
                                Field = "string",
                                Name = "string",
                                Filter = "string",
                            },
                        },
                    },
                },
            },
        },
        ApmAvailabilityIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloApmAvailabilityIndicatorArgs
            {
                Environment = "string",
                Index = "string",
                Service = "string",
                TransactionName = "string",
                TransactionType = "string",
                Filter = "string",
            },
        },
        ApmLatencyIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloApmLatencyIndicatorArgs
            {
                Environment = "string",
                Index = "string",
                Service = "string",
                Threshold = 0,
                TransactionName = "string",
                TransactionType = "string",
                Filter = "string",
            },
        },
        Settings = new Elasticstack.Inputs.KibanaSloSettingsArgs
        {
            Frequency = "string",
            PreventInitialBackfill = false,
            SyncDelay = "string",
        },
        SloId = "string",
        SpaceId = "string",
        Tags = new[]
        {
            "string",
        },
        TimeWindows = new[]
        {
            new Elasticstack.Inputs.KibanaSloTimeWindowArgs
            {
                Duration = "string",
                Type = "string",
            },
        },
        TimesliceMetricIndicators = new[]
        {
            new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorArgs
            {
                Index = "string",
                TimestampField = "string",
                DataViewId = "string",
                Filter = "string",
                Metrics = new[]
                {
                    new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorMetricArgs
                    {
                        Comparator = "string",
                        Equation = "string",
                        Threshold = 0,
                        Metrics = new[]
                        {
                            new Elasticstack.Inputs.KibanaSloTimesliceMetricIndicatorMetricMetricArgs
                            {
                                Aggregation = "string",
                                Name = "string",
                                Field = "string",
                                Filter = "string",
                                Percentile = 0,
                            },
                        },
                    },
                },
            },
        },
    });
    
    example, err := elasticstack.NewKibanaSlo(ctx, "kibanaSloResource", &elasticstack.KibanaSloArgs{
    	BudgetingMethod: pulumi.String("string"),
    	Description:     pulumi.String("string"),
    	Name:            pulumi.String("string"),
    	Objectives: elasticstack.KibanaSloObjectiveArray{
    		&elasticstack.KibanaSloObjectiveArgs{
    			Target:          pulumi.Float64(0),
    			TimesliceTarget: pulumi.Float64(0),
    			TimesliceWindow: pulumi.String("string"),
    		},
    	},
    	GroupBies: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	HistogramCustomIndicators: elasticstack.KibanaSloHistogramCustomIndicatorArray{
    		&elasticstack.KibanaSloHistogramCustomIndicatorArgs{
    			Index:      pulumi.String("string"),
    			DataViewId: pulumi.String("string"),
    			Filter:     pulumi.String("string"),
    			Goods: elasticstack.KibanaSloHistogramCustomIndicatorGoodArray{
    				&elasticstack.KibanaSloHistogramCustomIndicatorGoodArgs{
    					Aggregation: pulumi.String("string"),
    					Field:       pulumi.String("string"),
    					Filter:      pulumi.String("string"),
    					From:        pulumi.Float64(0),
    					To:          pulumi.Float64(0),
    				},
    			},
    			TimestampField: pulumi.String("string"),
    			Totals: elasticstack.KibanaSloHistogramCustomIndicatorTotalArray{
    				&elasticstack.KibanaSloHistogramCustomIndicatorTotalArgs{
    					Aggregation: pulumi.String("string"),
    					Field:       pulumi.String("string"),
    					Filter:      pulumi.String("string"),
    					From:        pulumi.Float64(0),
    					To:          pulumi.Float64(0),
    				},
    			},
    		},
    	},
    	KqlCustomIndicators: elasticstack.KibanaSloKqlCustomIndicatorArray{
    		&elasticstack.KibanaSloKqlCustomIndicatorArgs{
    			Index:          pulumi.String("string"),
    			DataViewId:     pulumi.String("string"),
    			Filter:         pulumi.String("string"),
    			Good:           pulumi.String("string"),
    			TimestampField: pulumi.String("string"),
    			Total:          pulumi.String("string"),
    		},
    	},
    	MetricCustomIndicators: elasticstack.KibanaSloMetricCustomIndicatorArray{
    		&elasticstack.KibanaSloMetricCustomIndicatorArgs{
    			Index:      pulumi.String("string"),
    			DataViewId: pulumi.String("string"),
    			Filter:     pulumi.String("string"),
    			Goods: elasticstack.KibanaSloMetricCustomIndicatorGoodArray{
    				&elasticstack.KibanaSloMetricCustomIndicatorGoodArgs{
    					Equation: pulumi.String("string"),
    					Metrics: elasticstack.KibanaSloMetricCustomIndicatorGoodMetricArray{
    						&elasticstack.KibanaSloMetricCustomIndicatorGoodMetricArgs{
    							Aggregation: pulumi.String("string"),
    							Field:       pulumi.String("string"),
    							Name:        pulumi.String("string"),
    							Filter:      pulumi.String("string"),
    						},
    					},
    				},
    			},
    			TimestampField: pulumi.String("string"),
    			Totals: elasticstack.KibanaSloMetricCustomIndicatorTotalArray{
    				&elasticstack.KibanaSloMetricCustomIndicatorTotalArgs{
    					Equation: pulumi.String("string"),
    					Metrics: elasticstack.KibanaSloMetricCustomIndicatorTotalMetricArray{
    						&elasticstack.KibanaSloMetricCustomIndicatorTotalMetricArgs{
    							Aggregation: pulumi.String("string"),
    							Field:       pulumi.String("string"),
    							Name:        pulumi.String("string"),
    							Filter:      pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	ApmAvailabilityIndicators: elasticstack.KibanaSloApmAvailabilityIndicatorArray{
    		&elasticstack.KibanaSloApmAvailabilityIndicatorArgs{
    			Environment:     pulumi.String("string"),
    			Index:           pulumi.String("string"),
    			Service:         pulumi.String("string"),
    			TransactionName: pulumi.String("string"),
    			TransactionType: pulumi.String("string"),
    			Filter:          pulumi.String("string"),
    		},
    	},
    	ApmLatencyIndicators: elasticstack.KibanaSloApmLatencyIndicatorArray{
    		&elasticstack.KibanaSloApmLatencyIndicatorArgs{
    			Environment:     pulumi.String("string"),
    			Index:           pulumi.String("string"),
    			Service:         pulumi.String("string"),
    			Threshold:       pulumi.Float64(0),
    			TransactionName: pulumi.String("string"),
    			TransactionType: pulumi.String("string"),
    			Filter:          pulumi.String("string"),
    		},
    	},
    	Settings: &elasticstack.KibanaSloSettingsArgs{
    		Frequency:              pulumi.String("string"),
    		PreventInitialBackfill: pulumi.Bool(false),
    		SyncDelay:              pulumi.String("string"),
    	},
    	SloId:   pulumi.String("string"),
    	SpaceId: pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TimeWindows: elasticstack.KibanaSloTimeWindowArray{
    		&elasticstack.KibanaSloTimeWindowArgs{
    			Duration: pulumi.String("string"),
    			Type:     pulumi.String("string"),
    		},
    	},
    	TimesliceMetricIndicators: elasticstack.KibanaSloTimesliceMetricIndicatorArray{
    		&elasticstack.KibanaSloTimesliceMetricIndicatorArgs{
    			Index:          pulumi.String("string"),
    			TimestampField: pulumi.String("string"),
    			DataViewId:     pulumi.String("string"),
    			Filter:         pulumi.String("string"),
    			Metrics: elasticstack.KibanaSloTimesliceMetricIndicatorMetricArray{
    				&elasticstack.KibanaSloTimesliceMetricIndicatorMetricArgs{
    					Comparator: pulumi.String("string"),
    					Equation:   pulumi.String("string"),
    					Threshold:  pulumi.Float64(0),
    					Metrics: elasticstack.KibanaSloTimesliceMetricIndicatorMetricMetricArray{
    						&elasticstack.KibanaSloTimesliceMetricIndicatorMetricMetricArgs{
    							Aggregation: pulumi.String("string"),
    							Name:        pulumi.String("string"),
    							Field:       pulumi.String("string"),
    							Filter:      pulumi.String("string"),
    							Percentile:  pulumi.Float64(0),
    						},
    					},
    				},
    			},
    		},
    	},
    })
    
    var kibanaSloResource = new KibanaSlo("kibanaSloResource", KibanaSloArgs.builder()
        .budgetingMethod("string")
        .description("string")
        .name("string")
        .objectives(KibanaSloObjectiveArgs.builder()
            .target(0.0)
            .timesliceTarget(0.0)
            .timesliceWindow("string")
            .build())
        .groupBies("string")
        .histogramCustomIndicators(KibanaSloHistogramCustomIndicatorArgs.builder()
            .index("string")
            .dataViewId("string")
            .filter("string")
            .goods(KibanaSloHistogramCustomIndicatorGoodArgs.builder()
                .aggregation("string")
                .field("string")
                .filter("string")
                .from(0.0)
                .to(0.0)
                .build())
            .timestampField("string")
            .totals(KibanaSloHistogramCustomIndicatorTotalArgs.builder()
                .aggregation("string")
                .field("string")
                .filter("string")
                .from(0.0)
                .to(0.0)
                .build())
            .build())
        .kqlCustomIndicators(KibanaSloKqlCustomIndicatorArgs.builder()
            .index("string")
            .dataViewId("string")
            .filter("string")
            .good("string")
            .timestampField("string")
            .total("string")
            .build())
        .metricCustomIndicators(KibanaSloMetricCustomIndicatorArgs.builder()
            .index("string")
            .dataViewId("string")
            .filter("string")
            .goods(KibanaSloMetricCustomIndicatorGoodArgs.builder()
                .equation("string")
                .metrics(KibanaSloMetricCustomIndicatorGoodMetricArgs.builder()
                    .aggregation("string")
                    .field("string")
                    .name("string")
                    .filter("string")
                    .build())
                .build())
            .timestampField("string")
            .totals(KibanaSloMetricCustomIndicatorTotalArgs.builder()
                .equation("string")
                .metrics(KibanaSloMetricCustomIndicatorTotalMetricArgs.builder()
                    .aggregation("string")
                    .field("string")
                    .name("string")
                    .filter("string")
                    .build())
                .build())
            .build())
        .apmAvailabilityIndicators(KibanaSloApmAvailabilityIndicatorArgs.builder()
            .environment("string")
            .index("string")
            .service("string")
            .transactionName("string")
            .transactionType("string")
            .filter("string")
            .build())
        .apmLatencyIndicators(KibanaSloApmLatencyIndicatorArgs.builder()
            .environment("string")
            .index("string")
            .service("string")
            .threshold(0.0)
            .transactionName("string")
            .transactionType("string")
            .filter("string")
            .build())
        .settings(KibanaSloSettingsArgs.builder()
            .frequency("string")
            .preventInitialBackfill(false)
            .syncDelay("string")
            .build())
        .sloId("string")
        .spaceId("string")
        .tags("string")
        .timeWindows(KibanaSloTimeWindowArgs.builder()
            .duration("string")
            .type("string")
            .build())
        .timesliceMetricIndicators(KibanaSloTimesliceMetricIndicatorArgs.builder()
            .index("string")
            .timestampField("string")
            .dataViewId("string")
            .filter("string")
            .metrics(KibanaSloTimesliceMetricIndicatorMetricArgs.builder()
                .comparator("string")
                .equation("string")
                .threshold(0.0)
                .metrics(KibanaSloTimesliceMetricIndicatorMetricMetricArgs.builder()
                    .aggregation("string")
                    .name("string")
                    .field("string")
                    .filter("string")
                    .percentile(0.0)
                    .build())
                .build())
            .build())
        .build());
    
    kibana_slo_resource = elasticstack.KibanaSlo("kibanaSloResource",
        budgeting_method="string",
        description="string",
        name="string",
        objectives=[{
            "target": 0,
            "timeslice_target": 0,
            "timeslice_window": "string",
        }],
        group_bies=["string"],
        histogram_custom_indicators=[{
            "index": "string",
            "data_view_id": "string",
            "filter": "string",
            "goods": [{
                "aggregation": "string",
                "field": "string",
                "filter": "string",
                "from_": 0,
                "to": 0,
            }],
            "timestamp_field": "string",
            "totals": [{
                "aggregation": "string",
                "field": "string",
                "filter": "string",
                "from_": 0,
                "to": 0,
            }],
        }],
        kql_custom_indicators=[{
            "index": "string",
            "data_view_id": "string",
            "filter": "string",
            "good": "string",
            "timestamp_field": "string",
            "total": "string",
        }],
        metric_custom_indicators=[{
            "index": "string",
            "data_view_id": "string",
            "filter": "string",
            "goods": [{
                "equation": "string",
                "metrics": [{
                    "aggregation": "string",
                    "field": "string",
                    "name": "string",
                    "filter": "string",
                }],
            }],
            "timestamp_field": "string",
            "totals": [{
                "equation": "string",
                "metrics": [{
                    "aggregation": "string",
                    "field": "string",
                    "name": "string",
                    "filter": "string",
                }],
            }],
        }],
        apm_availability_indicators=[{
            "environment": "string",
            "index": "string",
            "service": "string",
            "transaction_name": "string",
            "transaction_type": "string",
            "filter": "string",
        }],
        apm_latency_indicators=[{
            "environment": "string",
            "index": "string",
            "service": "string",
            "threshold": 0,
            "transaction_name": "string",
            "transaction_type": "string",
            "filter": "string",
        }],
        settings={
            "frequency": "string",
            "prevent_initial_backfill": False,
            "sync_delay": "string",
        },
        slo_id="string",
        space_id="string",
        tags=["string"],
        time_windows=[{
            "duration": "string",
            "type": "string",
        }],
        timeslice_metric_indicators=[{
            "index": "string",
            "timestamp_field": "string",
            "data_view_id": "string",
            "filter": "string",
            "metrics": [{
                "comparator": "string",
                "equation": "string",
                "threshold": 0,
                "metrics": [{
                    "aggregation": "string",
                    "name": "string",
                    "field": "string",
                    "filter": "string",
                    "percentile": 0,
                }],
            }],
        }])
    
    const kibanaSloResource = new elasticstack.KibanaSlo("kibanaSloResource", {
        budgetingMethod: "string",
        description: "string",
        name: "string",
        objectives: [{
            target: 0,
            timesliceTarget: 0,
            timesliceWindow: "string",
        }],
        groupBies: ["string"],
        histogramCustomIndicators: [{
            index: "string",
            dataViewId: "string",
            filter: "string",
            goods: [{
                aggregation: "string",
                field: "string",
                filter: "string",
                from: 0,
                to: 0,
            }],
            timestampField: "string",
            totals: [{
                aggregation: "string",
                field: "string",
                filter: "string",
                from: 0,
                to: 0,
            }],
        }],
        kqlCustomIndicators: [{
            index: "string",
            dataViewId: "string",
            filter: "string",
            good: "string",
            timestampField: "string",
            total: "string",
        }],
        metricCustomIndicators: [{
            index: "string",
            dataViewId: "string",
            filter: "string",
            goods: [{
                equation: "string",
                metrics: [{
                    aggregation: "string",
                    field: "string",
                    name: "string",
                    filter: "string",
                }],
            }],
            timestampField: "string",
            totals: [{
                equation: "string",
                metrics: [{
                    aggregation: "string",
                    field: "string",
                    name: "string",
                    filter: "string",
                }],
            }],
        }],
        apmAvailabilityIndicators: [{
            environment: "string",
            index: "string",
            service: "string",
            transactionName: "string",
            transactionType: "string",
            filter: "string",
        }],
        apmLatencyIndicators: [{
            environment: "string",
            index: "string",
            service: "string",
            threshold: 0,
            transactionName: "string",
            transactionType: "string",
            filter: "string",
        }],
        settings: {
            frequency: "string",
            preventInitialBackfill: false,
            syncDelay: "string",
        },
        sloId: "string",
        spaceId: "string",
        tags: ["string"],
        timeWindows: [{
            duration: "string",
            type: "string",
        }],
        timesliceMetricIndicators: [{
            index: "string",
            timestampField: "string",
            dataViewId: "string",
            filter: "string",
            metrics: [{
                comparator: "string",
                equation: "string",
                threshold: 0,
                metrics: [{
                    aggregation: "string",
                    name: "string",
                    field: "string",
                    filter: "string",
                    percentile: 0,
                }],
            }],
        }],
    });
    
    type: elasticstack:KibanaSlo
    properties:
        apmAvailabilityIndicators:
            - environment: string
              filter: string
              index: string
              service: string
              transactionName: string
              transactionType: string
        apmLatencyIndicators:
            - environment: string
              filter: string
              index: string
              service: string
              threshold: 0
              transactionName: string
              transactionType: string
        budgetingMethod: string
        description: string
        groupBies:
            - string
        histogramCustomIndicators:
            - dataViewId: string
              filter: string
              goods:
                - aggregation: string
                  field: string
                  filter: string
                  from: 0
                  to: 0
              index: string
              timestampField: string
              totals:
                - aggregation: string
                  field: string
                  filter: string
                  from: 0
                  to: 0
        kqlCustomIndicators:
            - dataViewId: string
              filter: string
              good: string
              index: string
              timestampField: string
              total: string
        metricCustomIndicators:
            - dataViewId: string
              filter: string
              goods:
                - equation: string
                  metrics:
                    - aggregation: string
                      field: string
                      filter: string
                      name: string
              index: string
              timestampField: string
              totals:
                - equation: string
                  metrics:
                    - aggregation: string
                      field: string
                      filter: string
                      name: string
        name: string
        objectives:
            - target: 0
              timesliceTarget: 0
              timesliceWindow: string
        settings:
            frequency: string
            preventInitialBackfill: false
            syncDelay: string
        sloId: string
        spaceId: string
        tags:
            - string
        timeWindows:
            - duration: string
              type: string
        timesliceMetricIndicators:
            - dataViewId: string
              filter: string
              index: string
              metrics:
                - comparator: string
                  equation: string
                  metrics:
                    - aggregation: string
                      field: string
                      filter: string
                      name: string
                      percentile: 0
                  threshold: 0
              timestampField: string
    

    KibanaSlo Resource Properties

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

    Inputs

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

    The KibanaSlo resource accepts the following input properties:

    BudgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    Description string
    A description for the SLO.
    ApmAvailabilityIndicators List<KibanaSloApmAvailabilityIndicator>
    ApmLatencyIndicators List<KibanaSloApmLatencyIndicator>
    GroupBies List<string>
    Optional group by fields to use to generate an SLO per distinct value.
    HistogramCustomIndicators List<KibanaSloHistogramCustomIndicator>
    KqlCustomIndicators List<KibanaSloKqlCustomIndicator>
    MetricCustomIndicators List<KibanaSloMetricCustomIndicator>
    Name string
    The name of the SLO.
    Objectives List<KibanaSloObjective>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    Settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    SloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    SpaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    Tags List<string>
    The tags for the SLO.
    TimeWindows List<KibanaSloTimeWindow>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    TimesliceMetricIndicators List<KibanaSloTimesliceMetricIndicator>
    Defines a timeslice metric indicator for SLO.
    BudgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    Description string
    A description for the SLO.
    ApmAvailabilityIndicators []KibanaSloApmAvailabilityIndicatorArgs
    ApmLatencyIndicators []KibanaSloApmLatencyIndicatorArgs
    GroupBies []string
    Optional group by fields to use to generate an SLO per distinct value.
    HistogramCustomIndicators []KibanaSloHistogramCustomIndicatorArgs
    KqlCustomIndicators []KibanaSloKqlCustomIndicatorArgs
    MetricCustomIndicators []KibanaSloMetricCustomIndicatorArgs
    Name string
    The name of the SLO.
    Objectives []KibanaSloObjectiveArgs
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    Settings KibanaSloSettingsArgs
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    SloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    SpaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    Tags []string
    The tags for the SLO.
    TimeWindows []KibanaSloTimeWindowArgs
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    TimesliceMetricIndicators []KibanaSloTimesliceMetricIndicatorArgs
    Defines a timeslice metric indicator for SLO.
    budgetingMethod String
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description String
    A description for the SLO.
    apmAvailabilityIndicators List<KibanaSloApmAvailabilityIndicator>
    apmLatencyIndicators List<KibanaSloApmLatencyIndicator>
    groupBies List<String>
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators List<KibanaSloHistogramCustomIndicator>
    kqlCustomIndicators List<KibanaSloKqlCustomIndicator>
    metricCustomIndicators List<KibanaSloMetricCustomIndicator>
    name String
    The name of the SLO.
    objectives List<KibanaSloObjective>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId String
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId String
    An identifier for the space. If space_id is not provided, the default space is used.
    tags List<String>
    The tags for the SLO.
    timeWindows List<KibanaSloTimeWindow>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators List<KibanaSloTimesliceMetricIndicator>
    Defines a timeslice metric indicator for SLO.
    budgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description string
    A description for the SLO.
    apmAvailabilityIndicators KibanaSloApmAvailabilityIndicator[]
    apmLatencyIndicators KibanaSloApmLatencyIndicator[]
    groupBies string[]
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators KibanaSloHistogramCustomIndicator[]
    kqlCustomIndicators KibanaSloKqlCustomIndicator[]
    metricCustomIndicators KibanaSloMetricCustomIndicator[]
    name string
    The name of the SLO.
    objectives KibanaSloObjective[]
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    tags string[]
    The tags for the SLO.
    timeWindows KibanaSloTimeWindow[]
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators KibanaSloTimesliceMetricIndicator[]
    Defines a timeslice metric indicator for SLO.
    budgeting_method str
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description str
    A description for the SLO.
    apm_availability_indicators Sequence[KibanaSloApmAvailabilityIndicatorArgs]
    apm_latency_indicators Sequence[KibanaSloApmLatencyIndicatorArgs]
    group_bies Sequence[str]
    Optional group by fields to use to generate an SLO per distinct value.
    histogram_custom_indicators Sequence[KibanaSloHistogramCustomIndicatorArgs]
    kql_custom_indicators Sequence[KibanaSloKqlCustomIndicatorArgs]
    metric_custom_indicators Sequence[KibanaSloMetricCustomIndicatorArgs]
    name str
    The name of the SLO.
    objectives Sequence[KibanaSloObjectiveArgs]
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettingsArgs
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    slo_id str
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    space_id str
    An identifier for the space. If space_id is not provided, the default space is used.
    tags Sequence[str]
    The tags for the SLO.
    time_windows Sequence[KibanaSloTimeWindowArgs]
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timeslice_metric_indicators Sequence[KibanaSloTimesliceMetricIndicatorArgs]
    Defines a timeslice metric indicator for SLO.
    budgetingMethod String
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description String
    A description for the SLO.
    apmAvailabilityIndicators List<Property Map>
    apmLatencyIndicators List<Property Map>
    groupBies List<String>
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators List<Property Map>
    kqlCustomIndicators List<Property Map>
    metricCustomIndicators List<Property Map>
    name String
    The name of the SLO.
    objectives List<Property Map>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings Property Map
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId String
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId String
    An identifier for the space. If space_id is not provided, the default space is used.
    tags List<String>
    The tags for the SLO.
    timeWindows List<Property Map>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators List<Property Map>
    Defines a timeslice metric indicator for SLO.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing KibanaSlo Resource

    Get an existing KibanaSlo 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?: KibanaSloState, opts?: CustomResourceOptions): KibanaSlo
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            apm_availability_indicators: Optional[Sequence[KibanaSloApmAvailabilityIndicatorArgs]] = None,
            apm_latency_indicators: Optional[Sequence[KibanaSloApmLatencyIndicatorArgs]] = None,
            budgeting_method: Optional[str] = None,
            description: Optional[str] = None,
            group_bies: Optional[Sequence[str]] = None,
            histogram_custom_indicators: Optional[Sequence[KibanaSloHistogramCustomIndicatorArgs]] = None,
            kql_custom_indicators: Optional[Sequence[KibanaSloKqlCustomIndicatorArgs]] = None,
            metric_custom_indicators: Optional[Sequence[KibanaSloMetricCustomIndicatorArgs]] = None,
            name: Optional[str] = None,
            objectives: Optional[Sequence[KibanaSloObjectiveArgs]] = None,
            settings: Optional[KibanaSloSettingsArgs] = None,
            slo_id: Optional[str] = None,
            space_id: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            time_windows: Optional[Sequence[KibanaSloTimeWindowArgs]] = None,
            timeslice_metric_indicators: Optional[Sequence[KibanaSloTimesliceMetricIndicatorArgs]] = None) -> KibanaSlo
    func GetKibanaSlo(ctx *Context, name string, id IDInput, state *KibanaSloState, opts ...ResourceOption) (*KibanaSlo, error)
    public static KibanaSlo Get(string name, Input<string> id, KibanaSloState? state, CustomResourceOptions? opts = null)
    public static KibanaSlo get(String name, Output<String> id, KibanaSloState state, CustomResourceOptions options)
    resources:  _:    type: elasticstack:KibanaSlo    get:      id: ${id}
    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:
    ApmAvailabilityIndicators List<KibanaSloApmAvailabilityIndicator>
    ApmLatencyIndicators List<KibanaSloApmLatencyIndicator>
    BudgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    Description string
    A description for the SLO.
    GroupBies List<string>
    Optional group by fields to use to generate an SLO per distinct value.
    HistogramCustomIndicators List<KibanaSloHistogramCustomIndicator>
    KqlCustomIndicators List<KibanaSloKqlCustomIndicator>
    MetricCustomIndicators List<KibanaSloMetricCustomIndicator>
    Name string
    The name of the SLO.
    Objectives List<KibanaSloObjective>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    Settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    SloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    SpaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    Tags List<string>
    The tags for the SLO.
    TimeWindows List<KibanaSloTimeWindow>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    TimesliceMetricIndicators List<KibanaSloTimesliceMetricIndicator>
    Defines a timeslice metric indicator for SLO.
    ApmAvailabilityIndicators []KibanaSloApmAvailabilityIndicatorArgs
    ApmLatencyIndicators []KibanaSloApmLatencyIndicatorArgs
    BudgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    Description string
    A description for the SLO.
    GroupBies []string
    Optional group by fields to use to generate an SLO per distinct value.
    HistogramCustomIndicators []KibanaSloHistogramCustomIndicatorArgs
    KqlCustomIndicators []KibanaSloKqlCustomIndicatorArgs
    MetricCustomIndicators []KibanaSloMetricCustomIndicatorArgs
    Name string
    The name of the SLO.
    Objectives []KibanaSloObjectiveArgs
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    Settings KibanaSloSettingsArgs
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    SloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    SpaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    Tags []string
    The tags for the SLO.
    TimeWindows []KibanaSloTimeWindowArgs
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    TimesliceMetricIndicators []KibanaSloTimesliceMetricIndicatorArgs
    Defines a timeslice metric indicator for SLO.
    apmAvailabilityIndicators List<KibanaSloApmAvailabilityIndicator>
    apmLatencyIndicators List<KibanaSloApmLatencyIndicator>
    budgetingMethod String
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description String
    A description for the SLO.
    groupBies List<String>
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators List<KibanaSloHistogramCustomIndicator>
    kqlCustomIndicators List<KibanaSloKqlCustomIndicator>
    metricCustomIndicators List<KibanaSloMetricCustomIndicator>
    name String
    The name of the SLO.
    objectives List<KibanaSloObjective>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId String
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId String
    An identifier for the space. If space_id is not provided, the default space is used.
    tags List<String>
    The tags for the SLO.
    timeWindows List<KibanaSloTimeWindow>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators List<KibanaSloTimesliceMetricIndicator>
    Defines a timeslice metric indicator for SLO.
    apmAvailabilityIndicators KibanaSloApmAvailabilityIndicator[]
    apmLatencyIndicators KibanaSloApmLatencyIndicator[]
    budgetingMethod string
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description string
    A description for the SLO.
    groupBies string[]
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators KibanaSloHistogramCustomIndicator[]
    kqlCustomIndicators KibanaSloKqlCustomIndicator[]
    metricCustomIndicators KibanaSloMetricCustomIndicator[]
    name string
    The name of the SLO.
    objectives KibanaSloObjective[]
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettings
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId string
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId string
    An identifier for the space. If space_id is not provided, the default space is used.
    tags string[]
    The tags for the SLO.
    timeWindows KibanaSloTimeWindow[]
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators KibanaSloTimesliceMetricIndicator[]
    Defines a timeslice metric indicator for SLO.
    apm_availability_indicators Sequence[KibanaSloApmAvailabilityIndicatorArgs]
    apm_latency_indicators Sequence[KibanaSloApmLatencyIndicatorArgs]
    budgeting_method str
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description str
    A description for the SLO.
    group_bies Sequence[str]
    Optional group by fields to use to generate an SLO per distinct value.
    histogram_custom_indicators Sequence[KibanaSloHistogramCustomIndicatorArgs]
    kql_custom_indicators Sequence[KibanaSloKqlCustomIndicatorArgs]
    metric_custom_indicators Sequence[KibanaSloMetricCustomIndicatorArgs]
    name str
    The name of the SLO.
    objectives Sequence[KibanaSloObjectiveArgs]
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings KibanaSloSettingsArgs
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    slo_id str
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    space_id str
    An identifier for the space. If space_id is not provided, the default space is used.
    tags Sequence[str]
    The tags for the SLO.
    time_windows Sequence[KibanaSloTimeWindowArgs]
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timeslice_metric_indicators Sequence[KibanaSloTimesliceMetricIndicatorArgs]
    Defines a timeslice metric indicator for SLO.
    apmAvailabilityIndicators List<Property Map>
    apmLatencyIndicators List<Property Map>
    budgetingMethod String
    An occurrences budgeting method uses the number of good and total events during the time window. A timeslices budgeting method uses the number of good slices and total slices during the time window. A slice is an arbitrary time window (smaller than the overall SLO time window) that is either considered good or bad, calculated from the timeslice threshold and the ratio of good over total events that happened during the slice window. A budgeting method is required and must be either occurrences or timeslices.
    description String
    A description for the SLO.
    groupBies List<String>
    Optional group by fields to use to generate an SLO per distinct value.
    histogramCustomIndicators List<Property Map>
    kqlCustomIndicators List<Property Map>
    metricCustomIndicators List<Property Map>
    name String
    The name of the SLO.
    objectives List<Property Map>
    The target objective is the value the SLO needs to meet during the time window. If a timeslices budgeting method is used, we also need to define the timesliceTarget which can be different than the overall SLO target.
    settings Property Map
    The default settings should be sufficient for most users, but if needed, these properties can be overwritten.
    sloId String
    An ID (8 to 48 characters) that contains only letters, numbers, hyphens, and underscores. If omitted, a UUIDv1 will be generated server-side.
    spaceId String
    An identifier for the space. If space_id is not provided, the default space is used.
    tags List<String>
    The tags for the SLO.
    timeWindows List<Property Map>
    Currently support calendarAligned and rolling time windows. Any duration greater than 1 day can be used: days, weeks, months, quarters, years. Rolling time window requires a duration, e.g. 1w for one week, and type: rolling. SLOs defined with such time window, will only consider the SLI data from the last duration period as a moving window. Calendar aligned time window requires a duration, limited to 1M for monthly or 1w for weekly, and type: calendarAligned.
    timesliceMetricIndicators List<Property Map>
    Defines a timeslice metric indicator for SLO.

    Supporting Types

    KibanaSloApmAvailabilityIndicator, KibanaSloApmAvailabilityIndicatorArgs

    Environment string
    Index string
    Service string
    TransactionName string
    TransactionType string
    Filter string
    Environment string
    Index string
    Service string
    TransactionName string
    TransactionType string
    Filter string
    environment String
    index String
    service String
    transactionName String
    transactionType String
    filter String
    environment string
    index string
    service string
    transactionName string
    transactionType string
    filter string
    environment String
    index String
    service String
    transactionName String
    transactionType String
    filter String

    KibanaSloApmLatencyIndicator, KibanaSloApmLatencyIndicatorArgs

    Environment string
    Index string
    Service string
    Threshold double
    TransactionName string
    TransactionType string
    Filter string
    Environment string
    Index string
    Service string
    Threshold float64
    TransactionName string
    TransactionType string
    Filter string
    environment String
    index String
    service String
    threshold Double
    transactionName String
    transactionType String
    filter String
    environment string
    index string
    service string
    threshold number
    transactionName string
    transactionType string
    filter string
    environment String
    index String
    service String
    threshold Number
    transactionName String
    transactionType String
    filter String

    KibanaSloHistogramCustomIndicator, KibanaSloHistogramCustomIndicatorArgs

    index String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    goods List<Property Map>
    timestampField String
    totals List<Property Map>

    KibanaSloHistogramCustomIndicatorGood, KibanaSloHistogramCustomIndicatorGoodArgs

    Aggregation string
    Field string
    Filter string
    From double
    To double
    Aggregation string
    Field string
    Filter string
    From float64
    To float64
    aggregation String
    field String
    filter String
    from Double
    to Double
    aggregation string
    field string
    filter string
    from number
    to number
    aggregation str
    field str
    filter str
    from_ float
    to float
    aggregation String
    field String
    filter String
    from Number
    to Number

    KibanaSloHistogramCustomIndicatorTotal, KibanaSloHistogramCustomIndicatorTotalArgs

    Aggregation string
    Field string
    Filter string
    From double
    To double
    Aggregation string
    Field string
    Filter string
    From float64
    To float64
    aggregation String
    field String
    filter String
    from Double
    to Double
    aggregation string
    field string
    filter string
    from number
    to number
    aggregation str
    field str
    filter str
    from_ float
    to float
    aggregation String
    field String
    filter String
    from Number
    to Number

    KibanaSloKqlCustomIndicator, KibanaSloKqlCustomIndicatorArgs

    Index string
    DataViewId string
    Optional data view id to use for this indicator.
    Filter string
    Good string
    TimestampField string
    Total string
    Index string
    DataViewId string
    Optional data view id to use for this indicator.
    Filter string
    Good string
    TimestampField string
    Total string
    index String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    good String
    timestampField String
    total String
    index string
    dataViewId string
    Optional data view id to use for this indicator.
    filter string
    good string
    timestampField string
    total string
    index str
    data_view_id str
    Optional data view id to use for this indicator.
    filter str
    good str
    timestamp_field str
    total str
    index String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    good String
    timestampField String
    total String

    KibanaSloMetricCustomIndicator, KibanaSloMetricCustomIndicatorArgs

    index String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    goods List<Property Map>
    timestampField String
    totals List<Property Map>

    KibanaSloMetricCustomIndicatorGood, KibanaSloMetricCustomIndicatorGoodArgs

    KibanaSloMetricCustomIndicatorGoodMetric, KibanaSloMetricCustomIndicatorGoodMetricArgs

    Aggregation string
    Field string
    Name string
    Filter string
    Aggregation string
    Field string
    Name string
    Filter string
    aggregation String
    field String
    name String
    filter String
    aggregation string
    field string
    name string
    filter string
    aggregation String
    field String
    name String
    filter String

    KibanaSloMetricCustomIndicatorTotal, KibanaSloMetricCustomIndicatorTotalArgs

    KibanaSloMetricCustomIndicatorTotalMetric, KibanaSloMetricCustomIndicatorTotalMetricArgs

    Aggregation string
    Field string
    Name string
    Filter string
    Aggregation string
    Field string
    Name string
    Filter string
    aggregation String
    field String
    name String
    filter String
    aggregation string
    field string
    name string
    filter string
    aggregation String
    field String
    name String
    filter String

    KibanaSloObjective, KibanaSloObjectiveArgs

    KibanaSloSettings, KibanaSloSettingsArgs

    Frequency string
    PreventInitialBackfill bool
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    SyncDelay string
    Frequency string
    PreventInitialBackfill bool
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    SyncDelay string
    frequency String
    preventInitialBackfill Boolean
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    syncDelay String
    frequency string
    preventInitialBackfill boolean
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    syncDelay string
    frequency str
    prevent_initial_backfill bool
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    sync_delay str
    frequency String
    preventInitialBackfill Boolean
    Prevents the underlying ES transform from attempting to backfill data on start, which can sometimes be resource-intensive or time-consuming and unnecessary
    syncDelay String

    KibanaSloTimeWindow, KibanaSloTimeWindowArgs

    Duration string
    Type string
    Duration string
    Type string
    duration String
    type String
    duration string
    type string
    duration str
    type str
    duration String
    type String

    KibanaSloTimesliceMetricIndicator, KibanaSloTimesliceMetricIndicatorArgs

    Index string
    TimestampField string
    DataViewId string
    Optional data view id to use for this indicator.
    Filter string
    Metrics List<KibanaSloTimesliceMetricIndicatorMetric>
    Index string
    TimestampField string
    DataViewId string
    Optional data view id to use for this indicator.
    Filter string
    Metrics []KibanaSloTimesliceMetricIndicatorMetric
    index String
    timestampField String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    metrics List<KibanaSloTimesliceMetricIndicatorMetric>
    index string
    timestampField string
    dataViewId string
    Optional data view id to use for this indicator.
    filter string
    metrics KibanaSloTimesliceMetricIndicatorMetric[]
    index str
    timestamp_field str
    data_view_id str
    Optional data view id to use for this indicator.
    filter str
    metrics Sequence[KibanaSloTimesliceMetricIndicatorMetric]
    index String
    timestampField String
    dataViewId String
    Optional data view id to use for this indicator.
    filter String
    metrics List<Property Map>

    KibanaSloTimesliceMetricIndicatorMetric, KibanaSloTimesliceMetricIndicatorMetricArgs

    KibanaSloTimesliceMetricIndicatorMetricMetric, KibanaSloTimesliceMetricIndicatorMetricMetricArgs

    Aggregation string
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    Name string
    The unique name for this metric. Used as a variable in the equation field.
    Field string
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    Filter string
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    Percentile double
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.
    Aggregation string
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    Name string
    The unique name for this metric. Used as a variable in the equation field.
    Field string
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    Filter string
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    Percentile float64
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.
    aggregation String
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    name String
    The unique name for this metric. Used as a variable in the equation field.
    field String
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    filter String
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    percentile Double
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.
    aggregation string
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    name string
    The unique name for this metric. Used as a variable in the equation field.
    field string
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    filter string
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    percentile number
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.
    aggregation str
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    name str
    The unique name for this metric. Used as a variable in the equation field.
    field str
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    filter str
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    percentile float
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.
    aggregation String
    The aggregation type for this metric. One of: sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile, doccount. Determines which other fields are required.
    name String
    The unique name for this metric. Used as a variable in the equation field.
    field String
    Field to aggregate. Required for sum, avg, min, max, valuecount, lastvalue, cardinality, stddeviation, percentile. Must NOT be set for doccount.
    filter String
    Optional KQL filter for this metric. Supported for all aggregations except doc_count.
    percentile Number
    Percentile value (e.g., 99). Required if aggregation is 'percentile'. Must NOT be set for other aggregations.

    Import

    The pulumi import command can be used, for example:

    $ pulumi import elasticstack:index/kibanaSlo:KibanaSlo my_slo <space id>/<slo id>
    

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

    Package Details

    Repository
    elasticstack elastic/terraform-provider-elasticstack
    License
    Notes
    This Pulumi package is based on the elasticstack Terraform Provider.
    elasticstack logo
    Viewing docs for elasticstack 0.14.3
    published on Tuesday, Mar 3, 2026 by elastic
      Try Pulumi Cloud free. Your team will thank you.