UNPKG

@pulumiverse/grafana

Version:

A Pulumi package for creating and managing grafana.

106 lines 3.96 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.RecordingRule = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../../utilities"); /** * Manages Grafana Recording Rules. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as grafana from "@pulumiverse/grafana"; * * const recordingruleFolder = new grafana.oss.Folder("recordingrule_folder", {title: "Alert Rule Folder"}); * const example = new grafana.alerting.v0alpha1.RecordingRule("example", { * metadata: { * uid: "example-recording-rule", * folderUid: recordingruleFolder.uid, * }, * spec: { * title: "Example Recording Rule", * trigger: { * interval: "1m", * }, * paused: true, * expressions: { * A: JSON.stringify({ * model: { * 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, * }), * }, * targetDatasourceUid: "target_ds_uid", * metric: "tf-metric", * labels: { * foo: "bar", * }, * }, * }); * ``` */ class RecordingRule extends pulumi.CustomResource { /** * Get an existing RecordingRule 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, id, state, opts) { return new RecordingRule(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of RecordingRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === RecordingRule.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["metadata"] = state?.metadata; resourceInputs["options"] = state?.options; resourceInputs["spec"] = state?.spec; } else { const args = argsOrState; resourceInputs["metadata"] = args?.metadata; resourceInputs["options"] = args?.options; resourceInputs["spec"] = args?.spec; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "grafana:alerting/recordingRuleV0Alpha1:RecordingRuleV0Alpha1" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RecordingRule.__pulumiType, name, resourceInputs, opts); } } exports.RecordingRule = RecordingRule; /** @internal */ RecordingRule.__pulumiType = 'grafana:alerting/v0alpha1/recordingRule:RecordingRule'; //# sourceMappingURL=recordingRule.js.map