import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Resource manages Grafana SLOs. * * * [Official documentation](https://grafana.com/docs/grafana-cloud/alerting-and-irm/slo/) * * [API documentation](https://grafana.com/docs/grafana-cloud/alerting-and-irm/slo/api/) * * [Additional Information On Alerting Rule Annotations and Labels](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/#templating/) * * ## Example Usage */ export declare class SLO extends pulumi.CustomResource { /** * Get an existing SLO resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SLOState, opts?: pulumi.CustomResourceOptions): SLO; /** * Returns true if the given object is an instance of SLO. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SLO; /** * Configures the alerting rules that will be generated for each * time window associated with the SLO. Grafana SLOs can generate * alerts when the short-term error budget burn is very high, the * long-term error budget burn rate is high, or when the remaining * error budget is below a certain threshold. Annotations and Labels support templating. */ readonly alertings: pulumi.Output; /** * Description is a free-text field that can provide more context to an SLO. */ readonly description: pulumi.Output; /** * Labels to attach only to Fast Burn alerts. */ readonly labels: pulumi.Output; /** * Name should be a short description of your indicator. Consider names like "API Availability" */ readonly name: pulumi.Output; /** * Over each rolling time window, the remaining error budget will be calculated, and separate alerts can be generated for each time window based on the SLO burn rate or remaining error budget. */ readonly objectives: pulumi.Output; /** * Freeform Query Field */ readonly queries: pulumi.Output; /** * Create a SLO resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SLOArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SLO resources. */ export interface SLOState { /** * Configures the alerting rules that will be generated for each * time window associated with the SLO. Grafana SLOs can generate * alerts when the short-term error budget burn is very high, the * long-term error budget burn rate is high, or when the remaining * error budget is below a certain threshold. Annotations and Labels support templating. */ alertings?: pulumi.Input[]>; /** * Description is a free-text field that can provide more context to an SLO. */ description?: pulumi.Input; /** * Labels to attach only to Fast Burn alerts. */ labels?: pulumi.Input[]>; /** * Name should be a short description of your indicator. Consider names like "API Availability" */ name?: pulumi.Input; /** * Over each rolling time window, the remaining error budget will be calculated, and separate alerts can be generated for each time window based on the SLO burn rate or remaining error budget. */ objectives?: pulumi.Input[]>; /** * Freeform Query Field */ queries?: pulumi.Input[]>; } /** * The set of arguments for constructing a SLO resource. */ export interface SLOArgs { /** * Configures the alerting rules that will be generated for each * time window associated with the SLO. Grafana SLOs can generate * alerts when the short-term error budget burn is very high, the * long-term error budget burn rate is high, or when the remaining * error budget is below a certain threshold. Annotations and Labels support templating. */ alertings?: pulumi.Input[]>; /** * Description is a free-text field that can provide more context to an SLO. */ description: pulumi.Input; /** * Labels to attach only to Fast Burn alerts. */ labels?: pulumi.Input[]>; /** * Name should be a short description of your indicator. Consider names like "API Availability" */ name?: pulumi.Input; /** * Over each rolling time window, the remaining error budget will be calculated, and separate alerts can be generated for each time window based on the SLO burn rate or remaining error budget. */ objectives: pulumi.Input[]>; /** * Freeform Query Field */ queries: pulumi.Input[]>; }