UNPKG

@pulumiverse/grafana

Version:

A Pulumi package for creating and managing grafana.

182 lines (181 loc) 6.76 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages Grafana Alert Rules. * * This resource is currently in alpha and is subject to change. Grafana 12.4+ users must enable the `kubernetesAlertingRules` [feature toggle](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/feature-toggles/). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as grafana from "@pulumiverse/grafana"; * * const alertruleFolder = new grafana.oss.Folder("alertrule_folder", {title: "Alert Rule Folder"}); * const example = new grafana.alerting.v0alpha1.AlertRule("example", { * metadata: { * uid: "example-alert-rule", * folderUid: alertruleFolder.uid, * }, * spec: { * title: "Example Alert Rule", * trigger: { * interval: "1m", * }, * paused: true, * expressions: { * A: JSON.stringify({ * model: { * datasource: { * type: "prometheus", * uid: "ds_uid", * }, * editorMode: "code", * expr: "count(up{})", * instant: true, * intervalMs: 1000, * legendFormat: "__auto", * maxDataPoints: 43200, * range: false, * refId: "A", * }, * datasource_uid: "ds_uid", * relative_time_range: { * from: "600s", * to: "0s", * }, * query_type: "", * source: true, * }), * B: JSON.stringify({ * model: { * conditions: [{ * evaluator: { * params: [1], * type: "gt", * }, * operator: { * type: "and", * }, * query: { * params: ["C"], * }, * reducer: { * params: [], * type: "last", * }, * type: "query", * }], * datasource: { * type: "__expr__", * uid: "__expr__", * }, * expression: "A", * intervalMs: 1000, * maxDataPoints: 43200, * refId: "C", * type: "threshold", * }, * datasource_uid: "__expr__", * query_type: "", * source: false, * }), * }, * "for": "5m", * labels: { * severity: "critical", * }, * annotations: { * runbook_url: "https://example.com", * }, * noDataState: "KeepLast", * execErrState: "KeepLast", * missingSeriesEvalsToResolve: 5, * notificationSettings: { * simplifiedRouting: { * contactPoint: "grafana-default-email", * }, * }, * panelRef: { * dashboard_uid: "dashboard123", * panel_id: "5", * }, * }, * }); * ``` * * @deprecated grafana.alerting/alertrulev0alpha1.AlertRuleV0Alpha1 has been deprecated in favor of grafana.alerting/v0alpha1/alertrule.AlertRule */ export declare class AlertRuleV0Alpha1 extends pulumi.CustomResource { /** * Get an existing AlertRuleV0Alpha1 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<pulumi.ID>, state?: AlertRuleV0Alpha1State, opts?: pulumi.CustomResourceOptions): AlertRuleV0Alpha1; /** * Returns true if the given object is an instance of AlertRuleV0Alpha1. 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 AlertRuleV0Alpha1; /** * The metadata of the resource. */ readonly metadata: pulumi.Output<outputs.alerting.AlertRuleV0Alpha1Metadata | undefined>; /** * Options for applying the resource. */ readonly options: pulumi.Output<outputs.alerting.AlertRuleV0Alpha1Options | undefined>; /** * The spec of the resource. */ readonly spec: pulumi.Output<outputs.alerting.AlertRuleV0Alpha1Spec | undefined>; /** * Create a AlertRuleV0Alpha1 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. */ /** @deprecated grafana.alerting/alertrulev0alpha1.AlertRuleV0Alpha1 has been deprecated in favor of grafana.alerting/v0alpha1/alertrule.AlertRule */ constructor(name: string, args?: AlertRuleV0Alpha1Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AlertRuleV0Alpha1 resources. */ export interface AlertRuleV0Alpha1State { /** * The metadata of the resource. */ metadata?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Metadata>; /** * Options for applying the resource. */ options?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Options>; /** * The spec of the resource. */ spec?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Spec>; } /** * The set of arguments for constructing a AlertRuleV0Alpha1 resource. */ export interface AlertRuleV0Alpha1Args { /** * The metadata of the resource. */ metadata?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Metadata>; /** * Options for applying the resource. */ options?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Options>; /** * The spec of the resource. */ spec?: pulumi.Input<inputs.alerting.AlertRuleV0Alpha1Spec>; }