1. Packages
  2. Packages
  3. Grafana Cloud
  4. API Docs
  5. alerting
  6. alerting/v0alpha1
  7. RuleSequence
Viewing docs for Grafana v2.38.0
published on Friday, Aug 7, 2026 by pulumiverse
grafana logo
Viewing docs for Grafana v2.38.0
published on Friday, Aug 7, 2026 by pulumiverse

    Manages Grafana Rule Sequences.

    A rule sequence groups existing alert rules and recording rules so they are evaluated in order, at a shared interval, within a single folder. All referenced rules must live in the same folder as the sequence (set metadata.folder_uid).

    This resource is currently in alpha and is subject to change.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const rulesequenceFolder = new grafana.oss.Folder("rulesequence_folder", {title: "Rule Sequence Folder"});
    const example = new grafana.alerting.v0alpha1.RecordingRule("example", {
        metadata: {
            uid: "example-seq-recording-rule",
            folderUid: rulesequenceFolder.uid,
        },
        spec: {
            title: "Example Sequence Recording Rule",
            trigger: {
                interval: "1m",
            },
            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-seq-metric",
        },
    });
    const exampleAlertRule = new grafana.alerting.v0alpha1.AlertRule("example", {
        metadata: {
            uid: "example-seq-alert-rule",
            folderUid: rulesequenceFolder.uid,
        },
        spec: {
            title: "Example Sequence Alert Rule",
            trigger: {
                interval: "1m",
            },
            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,
                }),
            },
            noDataState: "KeepLast",
            execErrState: "KeepLast",
        },
    });
    const exampleRuleSequence = new grafana.alerting.v0alpha1.RuleSequence("example", {
        metadata: {
            uid: "example-rule-sequence",
            folderUid: rulesequenceFolder.uid,
        },
        spec: {
            trigger: {
                interval: "1m",
            },
            recordingRules: [{
                name: example.metadata.apply(metadata => metadata?.[0]?.uid),
            }],
            alertingRules: [{
                name: exampleAlertRule.metadata.apply(metadata => metadata?.[0]?.uid),
            }],
        },
    });
    
    import pulumi
    import json
    import pulumiverse_grafana as grafana
    
    rulesequence_folder = grafana.oss.Folder("rulesequence_folder", title="Rule Sequence Folder")
    example = grafana.alerting.v0alpha1.RecordingRule("example",
        metadata={
            "uid": "example-seq-recording-rule",
            "folder_uid": rulesequence_folder.uid,
        },
        spec={
            "title": "Example Sequence Recording Rule",
            "trigger": {
                "interval": "1m",
            },
            "expressions": {
                "A": json.dumps({
                    "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,
                }),
            },
            "target_datasource_uid": "target_ds_uid",
            "metric": "tf-seq-metric",
        })
    example_alert_rule = grafana.alerting.v0alpha1.AlertRule("example",
        metadata={
            "uid": "example-seq-alert-rule",
            "folder_uid": rulesequence_folder.uid,
        },
        spec={
            "title": "Example Sequence Alert Rule",
            "trigger": {
                "interval": "1m",
            },
            "expressions": {
                "A": json.dumps({
                    "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,
                }),
            },
            "no_data_state": "KeepLast",
            "exec_err_state": "KeepLast",
        })
    example_rule_sequence = grafana.alerting.v0alpha1.RuleSequence("example",
        metadata={
            "uid": "example-rule-sequence",
            "folder_uid": rulesequence_folder.uid,
        },
        spec={
            "trigger": {
                "interval": "1m",
            },
            "recording_rules": [{
                "name": example.metadata[0]["uid"],
            }],
            "alerting_rules": [{
                "name": example_alert_rule.metadata[0]["uid"],
            }],
        })
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/alerting"
    	alertingv0alpha1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/alerting/v0alpha1"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/oss"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    rulesequenceFolder, err := oss.NewFolder(ctx, "rulesequence_folder", &oss.FolderArgs{
    Title: pulumi.String("Rule Sequence Folder"),
    })
    if err != nil {
    return err
    }
    tmpJSON0, err := json.Marshal(map[string]interface{}{
    "model": map[string]interface{}{
    "editorMode": "code",
    "expr": "count(up{})",
    "instant": true,
    "intervalMs": 1000,
    "legendFormat": "__auto",
    "maxDataPoints": 43200,
    "range": false,
    "refId": "A",
    },
    "datasource_uid": "ds_uid",
    "relative_time_range": map[string]interface{}{
    "from": "600s",
    "to": "0s",
    },
    "query_type": "",
    "source": true,
    })
    if err != nil {
    return err
    }
    json0 := string(tmpJSON0)
    example, err := alerting.NewRecordingRule(ctx, "example", &alerting.RecordingRuleArgs{
    Metadata: &alertingv0alpha1.RecordingRuleMetadataArgs{
    Uid: pulumi.String("example-seq-recording-rule"),
    FolderUid: rulesequenceFolder.Uid,
    },
    Spec: &alertingv0alpha1.RecordingRuleSpecArgs{
    Title: pulumi.String("Example Sequence Recording Rule"),
    Trigger: &alertingv0alpha1.RecordingRuleSpecTriggerArgs{
    Interval: pulumi.String("1m"),
    },
    Expressions: pulumi.StringMap{
    "A": pulumi.String(pulumi.String(json0)),
    },
    TargetDatasourceUid: pulumi.String("target_ds_uid"),
    Metric: pulumi.String("tf-seq-metric"),
    },
    })
    if err != nil {
    return err
    }
    tmpJSON1, err := json.Marshal(map[string]interface{}{
    "model": map[string]interface{}{
    "datasource": map[string]interface{}{
    "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": map[string]interface{}{
    "from": "600s",
    "to": "0s",
    },
    "query_type": "",
    "source": true,
    })
    if err != nil {
    return err
    }
    json1 := string(tmpJSON1)
    exampleAlertRule, err := alerting.NewAlertRule(ctx, "example", &alerting.AlertRuleArgs{
    Metadata: &alertingv0alpha1.AlertRuleMetadataArgs{
    Uid: pulumi.String("example-seq-alert-rule"),
    FolderUid: rulesequenceFolder.Uid,
    },
    Spec: &alertingv0alpha1.AlertRuleSpecArgs{
    Title: pulumi.String("Example Sequence Alert Rule"),
    Trigger: &alertingv0alpha1.AlertRuleSpecTriggerArgs{
    Interval: pulumi.String("1m"),
    },
    Expressions: pulumi.StringMap{
    "A": pulumi.String(pulumi.String(json1)),
    },
    NoDataState: pulumi.String("KeepLast"),
    ExecErrState: pulumi.String("KeepLast"),
    },
    })
    if err != nil {
    return err
    }
    _, err = alerting.NewRuleSequence(ctx, "example", &alerting.RuleSequenceArgs{
    Metadata: &alertingv0alpha1.RuleSequenceMetadataArgs{
    Uid: pulumi.String("example-rule-sequence"),
    FolderUid: rulesequenceFolder.Uid,
    },
    Spec: &alertingv0alpha1.RuleSequenceSpecArgs{
    Trigger: &alertingv0alpha1.RuleSequenceSpecTriggerArgs{
    Interval: pulumi.String("1m"),
    },
    RecordingRules: alertingv0alpha1.RuleSequenceSpecRecordingRuleArray{
    &alertingv0alpha1.RuleSequenceSpecRecordingRuleArgs{
    Name: pulumi.String(example.Metadata.ApplyT(func(metadata alertingv0alpha1.RecordingRuleMetadata) (*interface{}, error) {
    return &metadata[0].Uid, nil
    }).(pulumi.Interface{}PtrOutput)),
    },
    },
    AlertingRules: alertingv0alpha1.RuleSequenceSpecAlertingRuleArray{
    &alertingv0alpha1.RuleSequenceSpecAlertingRuleArgs{
    Name: pulumi.String(exampleAlertRule.Metadata.ApplyT(func(metadata alertingv0alpha1.AlertRuleMetadata) (*interface{}, error) {
    return &metadata[0].Uid, nil
    }).(pulumi.Interface{}PtrOutput)),
    },
    },
    },
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Grafana = Pulumiverse.Grafana;
    
    return await Deployment.RunAsync(() => 
    {
        var rulesequenceFolder = new Grafana.Oss.Folder("rulesequence_folder", new()
        {
            Title = "Rule Sequence Folder",
        });
    
        var example = new Grafana.Alerting.V0Alpha1.RecordingRule("example", new()
        {
            Metadata = new Grafana.Alerting.V0Alpha1.Inputs.RecordingRuleMetadataArgs
            {
                Uid = "example-seq-recording-rule",
                FolderUid = rulesequenceFolder.Uid,
            },
            Spec = new Grafana.Alerting.V0Alpha1.Inputs.RecordingRuleSpecArgs
            {
                Title = "Example Sequence Recording Rule",
                Trigger = new Grafana.Alerting.V0Alpha1.Inputs.RecordingRuleSpecTriggerArgs
                {
                    Interval = "1m",
                },
                Expressions = 
                {
                    { "A", JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["model"] = new Dictionary<string, object?>
                        {
                            ["editorMode"] = "code",
                            ["expr"] = "count(up{})",
                            ["instant"] = true,
                            ["intervalMs"] = 1000,
                            ["legendFormat"] = "__auto",
                            ["maxDataPoints"] = 43200,
                            ["range"] = false,
                            ["refId"] = "A",
                        },
                        ["datasource_uid"] = "ds_uid",
                        ["relative_time_range"] = new Dictionary<string, object?>
                        {
                            ["from"] = "600s",
                            ["to"] = "0s",
                        },
                        ["query_type"] = "",
                        ["source"] = true,
                    }) },
                },
                TargetDatasourceUid = "target_ds_uid",
                Metric = "tf-seq-metric",
            },
        });
    
        var exampleAlertRule = new Grafana.Alerting.V0Alpha1.AlertRule("example", new()
        {
            Metadata = new Grafana.Alerting.V0Alpha1.Inputs.AlertRuleMetadataArgs
            {
                Uid = "example-seq-alert-rule",
                FolderUid = rulesequenceFolder.Uid,
            },
            Spec = new Grafana.Alerting.V0Alpha1.Inputs.AlertRuleSpecArgs
            {
                Title = "Example Sequence Alert Rule",
                Trigger = new Grafana.Alerting.V0Alpha1.Inputs.AlertRuleSpecTriggerArgs
                {
                    Interval = "1m",
                },
                Expressions = 
                {
                    { "A", JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["model"] = new Dictionary<string, object?>
                        {
                            ["datasource"] = new Dictionary<string, object?>
                            {
                                ["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"] = new Dictionary<string, object?>
                        {
                            ["from"] = "600s",
                            ["to"] = "0s",
                        },
                        ["query_type"] = "",
                        ["source"] = true,
                    }) },
                },
                NoDataState = "KeepLast",
                ExecErrState = "KeepLast",
            },
        });
    
        var exampleRuleSequence = new Grafana.Alerting.V0Alpha1.RuleSequence("example", new()
        {
            Metadata = new Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceMetadataArgs
            {
                Uid = "example-rule-sequence",
                FolderUid = rulesequenceFolder.Uid,
            },
            Spec = new Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecArgs
            {
                Trigger = new Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecTriggerArgs
                {
                    Interval = "1m",
                },
                RecordingRules = new[]
                {
                    new Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecRecordingRuleArgs
                    {
                        Name = example.Metadata.Apply(metadata => metadata[0]?.Uid),
                    },
                },
                AlertingRules = new[]
                {
                    new Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecAlertingRuleArgs
                    {
                        Name = exampleAlertRule.Metadata.Apply(metadata => metadata[0]?.Uid),
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.oss.Folder;
    import com.pulumi.grafana.oss.FolderArgs;
    import com.pulumi.grafana.alerting_v0alpha1.RecordingRule;
    import com.pulumi.grafana.alerting_v0alpha1.RecordingRuleArgs;
    import com.pulumi.grafana.alerting.inputs.RecordingRuleMetadataArgs;
    import com.pulumi.grafana.alerting.inputs.RecordingRuleSpecArgs;
    import com.pulumi.grafana.alerting.inputs.RecordingRuleSpecTriggerArgs;
    import com.pulumi.grafana.alerting_v0alpha1.AlertRule;
    import com.pulumi.grafana.alerting_v0alpha1.AlertRuleArgs;
    import com.pulumi.grafana.alerting.inputs.AlertRuleMetadataArgs;
    import com.pulumi.grafana.alerting.inputs.AlertRuleSpecArgs;
    import com.pulumi.grafana.alerting.inputs.AlertRuleSpecTriggerArgs;
    import com.pulumi.grafana.alerting_v0alpha1.RuleSequence;
    import com.pulumi.grafana.alerting_v0alpha1.RuleSequenceArgs;
    import com.pulumi.grafana.alerting.inputs.RuleSequenceMetadataArgs;
    import com.pulumi.grafana.alerting.inputs.RuleSequenceSpecArgs;
    import com.pulumi.grafana.alerting.inputs.RuleSequenceSpecTriggerArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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 rulesequenceFolder = new Folder("rulesequenceFolder", FolderArgs.builder()
                .title("Rule Sequence Folder")
                .build());
    
            var example = new RecordingRule("example", RecordingRuleArgs.builder()
                .metadata(RecordingRuleMetadataArgs.builder()
                    .uid("example-seq-recording-rule")
                    .folderUid(rulesequenceFolder.uid())
                    .build())
                .spec(RecordingRuleSpecArgs.builder()
                    .title("Example Sequence Recording Rule")
                    .trigger(RecordingRuleSpecTriggerArgs.builder()
                        .interval("1m")
                        .build())
                    .expressions(Map.of("A", serializeJson(
                        jsonObject(
                            jsonProperty("model", jsonObject(
                                jsonProperty("editorMode", "code"),
                                jsonProperty("expr", "count(up{})"),
                                jsonProperty("instant", true),
                                jsonProperty("intervalMs", 1000),
                                jsonProperty("legendFormat", "__auto"),
                                jsonProperty("maxDataPoints", 43200),
                                jsonProperty("range", false),
                                jsonProperty("refId", "A")
                            )),
                            jsonProperty("datasource_uid", "ds_uid"),
                            jsonProperty("relative_time_range", jsonObject(
                                jsonProperty("from", "600s"),
                                jsonProperty("to", "0s")
                            )),
                            jsonProperty("query_type", ""),
                            jsonProperty("source", true)
                        ))))
                    .targetDatasourceUid("target_ds_uid")
                    .metric("tf-seq-metric")
                    .build())
                .build());
    
            var exampleAlertRule = new AlertRule("exampleAlertRule", AlertRuleArgs.builder()
                .metadata(AlertRuleMetadataArgs.builder()
                    .uid("example-seq-alert-rule")
                    .folderUid(rulesequenceFolder.uid())
                    .build())
                .spec(AlertRuleSpecArgs.builder()
                    .title("Example Sequence Alert Rule")
                    .trigger(AlertRuleSpecTriggerArgs.builder()
                        .interval("1m")
                        .build())
                    .expressions(Map.of("A", serializeJson(
                        jsonObject(
                            jsonProperty("model", jsonObject(
                                jsonProperty("datasource", jsonObject(
                                    jsonProperty("type", "prometheus"),
                                    jsonProperty("uid", "ds_uid")
                                )),
                                jsonProperty("editorMode", "code"),
                                jsonProperty("expr", "count(up{})"),
                                jsonProperty("instant", true),
                                jsonProperty("intervalMs", 1000),
                                jsonProperty("legendFormat", "__auto"),
                                jsonProperty("maxDataPoints", 43200),
                                jsonProperty("range", false),
                                jsonProperty("refId", "A")
                            )),
                            jsonProperty("datasource_uid", "ds_uid"),
                            jsonProperty("relative_time_range", jsonObject(
                                jsonProperty("from", "600s"),
                                jsonProperty("to", "0s")
                            )),
                            jsonProperty("query_type", ""),
                            jsonProperty("source", true)
                        ))))
                    .noDataState("KeepLast")
                    .execErrState("KeepLast")
                    .build())
                .build());
    
            var exampleRuleSequence = new RuleSequence("exampleRuleSequence", RuleSequenceArgs.builder()
                .metadata(RuleSequenceMetadataArgs.builder()
                    .uid("example-rule-sequence")
                    .folderUid(rulesequenceFolder.uid())
                    .build())
                .spec(RuleSequenceSpecArgs.builder()
                    .trigger(RuleSequenceSpecTriggerArgs.builder()
                        .interval("1m")
                        .build())
                    .recordingRules(RuleSequenceSpecRecordingRuleArgs.builder()
                        .name(example.metadata().applyValue(_metadata -> _metadata[0].uid()))
                        .build())
                    .alertingRules(RuleSequenceSpecAlertingRuleArgs.builder()
                        .name(exampleAlertRule.metadata().applyValue(_metadata -> _metadata[0].uid()))
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      rulesequenceFolder:
        type: grafana:oss:Folder
        name: rulesequence_folder
        properties:
          title: Rule Sequence Folder
      example:
        type: grafana:alerting/v0alpha1:RecordingRule
        properties:
          metadata:
            uid: example-seq-recording-rule
            folderUid: ${rulesequenceFolder.uid}
          spec:
            title: Example Sequence Recording Rule
            trigger:
              interval: 1m
            expressions:
              A:
                fn::toJSON:
                  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-seq-metric
      exampleAlertRule:
        type: grafana:alerting/v0alpha1:AlertRule
        name: example
        properties:
          metadata:
            uid: example-seq-alert-rule
            folderUid: ${rulesequenceFolder.uid}
          spec:
            title: Example Sequence Alert Rule
            trigger:
              interval: 1m
            expressions:
              A:
                fn::toJSON:
                  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
            noDataState: KeepLast
            execErrState: KeepLast
      exampleRuleSequence:
        type: grafana:alerting/v0alpha1:RuleSequence
        name: example
        properties:
          metadata:
            uid: example-rule-sequence
            folderUid: ${rulesequenceFolder.uid}
          spec:
            trigger:
              interval: 1m
            recordingRules:
              - name: ${example.metadata[0].uid}
            alertingRules:
              - name: ${exampleAlertRule.metadata[0].uid}
    
    Example coming soon!
    

    Create RuleSequence Resource

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

    Constructor syntax

    new RuleSequence(name: string, args?: RuleSequenceArgs, opts?: CustomResourceOptions);
    @overload
    def RuleSequence(resource_name: str,
                     args: Optional[RuleSequenceArgs] = None,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def RuleSequence(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     metadata: Optional[RuleSequenceMetadataArgs] = None,
                     options: Optional[RuleSequenceOptionsArgs] = None,
                     spec: Optional[RuleSequenceSpecArgs] = None)
    func NewRuleSequence(ctx *Context, name string, args *RuleSequenceArgs, opts ...ResourceOption) (*RuleSequence, error)
    public RuleSequence(string name, RuleSequenceArgs? args = null, CustomResourceOptions? opts = null)
    public RuleSequence(String name, RuleSequenceArgs args)
    public RuleSequence(String name, RuleSequenceArgs args, CustomResourceOptions options)
    
    type: grafana:alerting/v0alpha1/ruleSequence:RuleSequence
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "grafana_alerting_v0alpha1_rule_sequence" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args RuleSequenceArgs
    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 RuleSequenceArgs
    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 RuleSequenceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RuleSequenceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RuleSequenceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

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

    Metadata RuleSequenceMetadataArgs
    The metadata of the resource.
    Options RuleSequenceOptionsArgs
    Options for applying the resource.
    Spec RuleSequenceSpecArgs
    The spec of the resource.
    metadata object
    The metadata of the resource.
    options object
    Options for applying the resource.
    spec object
    The spec of the resource.
    metadata RuleSequenceMetadata
    The metadata of the resource.
    options RuleSequenceOptions
    Options for applying the resource.
    spec RuleSequenceSpec
    The spec of the resource.
    metadata RuleSequenceMetadata
    The metadata of the resource.
    options RuleSequenceOptions
    Options for applying the resource.
    spec RuleSequenceSpec
    The spec of the resource.
    metadata RuleSequenceMetadataArgs
    The metadata of the resource.
    options RuleSequenceOptionsArgs
    Options for applying the resource.
    spec RuleSequenceSpecArgs
    The spec of the resource.
    metadata Property Map
    The metadata of the resource.
    options Property Map
    Options for applying the resource.
    spec Property Map
    The spec of the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the RuleSequence 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 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 RuleSequence Resource

    Get an existing RuleSequence 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?: RuleSequenceState, opts?: CustomResourceOptions): RuleSequence
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            metadata: Optional[RuleSequenceMetadataArgs] = None,
            options: Optional[RuleSequenceOptionsArgs] = None,
            spec: Optional[RuleSequenceSpecArgs] = None) -> RuleSequence
    func GetRuleSequence(ctx *Context, name string, id IDInput, state *RuleSequenceState, opts ...ResourceOption) (*RuleSequence, error)
    public static RuleSequence Get(string name, Input<string> id, RuleSequenceState? state, CustomResourceOptions? opts = null)
    public static RuleSequence get(String name, Output<String> id, RuleSequenceState state, CustomResourceOptions options)
    resources:  _:    type: grafana:alerting/v0alpha1/ruleSequence:RuleSequence    get:      id: ${id}
    import {
      to = grafana_alerting_v0alpha1_rule_sequence.example
      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:
    Metadata RuleSequenceMetadataArgs
    The metadata of the resource.
    Options RuleSequenceOptionsArgs
    Options for applying the resource.
    Spec RuleSequenceSpecArgs
    The spec of the resource.
    metadata object
    The metadata of the resource.
    options object
    Options for applying the resource.
    spec object
    The spec of the resource.
    metadata RuleSequenceMetadata
    The metadata of the resource.
    options RuleSequenceOptions
    Options for applying the resource.
    spec RuleSequenceSpec
    The spec of the resource.
    metadata RuleSequenceMetadata
    The metadata of the resource.
    options RuleSequenceOptions
    Options for applying the resource.
    spec RuleSequenceSpec
    The spec of the resource.
    metadata RuleSequenceMetadataArgs
    The metadata of the resource.
    options RuleSequenceOptionsArgs
    Options for applying the resource.
    spec RuleSequenceSpecArgs
    The spec of the resource.
    metadata Property Map
    The metadata of the resource.
    options Property Map
    Options for applying the resource.
    spec Property Map
    The spec of the resource.

    Supporting Types

    RuleSequenceMetadata, RuleSequenceMetadataArgs

    Uid string
    The unique identifier of the resource.
    Annotations Dictionary<string, string>
    Annotations of the resource.
    FolderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    Url string
    The full URL of the resource.
    Uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    Version string
    The version of the resource.
    Uid string
    The unique identifier of the resource.
    Annotations map[string]string
    Annotations of the resource.
    FolderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    Url string
    The full URL of the resource.
    Uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    Version string
    The version of the resource.
    uid string
    The unique identifier of the resource.
    annotations map(string)
    Annotations of the resource.
    folder_uid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url string
    The full URL of the resource.
    uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    version string
    The version of the resource.
    uid String
    The unique identifier of the resource.
    annotations Map<String,String>
    Annotations of the resource.
    folderUid String
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url String
    The full URL of the resource.
    uuid String
    The globally unique identifier of a resource, used by the API for tracking.
    version String
    The version of the resource.
    uid string
    The unique identifier of the resource.
    annotations {[key: string]: string}
    Annotations of the resource.
    folderUid string
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url string
    The full URL of the resource.
    uuid string
    The globally unique identifier of a resource, used by the API for tracking.
    version string
    The version of the resource.
    uid str
    The unique identifier of the resource.
    annotations Mapping[str, str]
    Annotations of the resource.
    folder_uid str
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url str
    The full URL of the resource.
    uuid str
    The globally unique identifier of a resource, used by the API for tracking.
    version str
    The version of the resource.
    uid String
    The unique identifier of the resource.
    annotations Map<String>
    Annotations of the resource.
    folderUid String
    The UID of the folder to save the resource in. For example, it's supported for dashboards and folders. To know if it's supported for the specific resource you're using check the documentation.
    url String
    The full URL of the resource.
    uuid String
    The globally unique identifier of a resource, used by the API for tracking.
    version String
    The version of the resource.

    RuleSequenceOptions, RuleSequenceOptionsArgs

    ManagerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    ManagerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    manager_identity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity String
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity string
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    manager_identity str
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    managerIdentity String
    Override the identity stamped on this resource's manager metadata. Defaults to "grafana-terraform-provider". Use this to distinguish resources managed by different Pulumi Stacks targeting the same Grafana instance.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.

    RuleSequenceSpec, RuleSequenceSpecArgs

    RecordingRules List<Pulumiverse.Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecRecordingRule>
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    AlertingRules List<Pulumiverse.Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecAlertingRule>
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    Trigger Pulumiverse.Grafana.Alerting.V0Alpha1.Inputs.RuleSequenceSpecTrigger
    The trigger configuration shared by every rule in the sequence.
    RecordingRules []RuleSequenceSpecRecordingRule
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    AlertingRules []RuleSequenceSpecAlertingRule
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    Trigger RuleSequenceSpecTrigger
    The trigger configuration shared by every rule in the sequence.
    recording_rules list(object)
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    alerting_rules list(object)
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    trigger object
    The trigger configuration shared by every rule in the sequence.
    recordingRules List<RuleSequenceSpecRecordingRule>
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    alertingRules List<RuleSequenceSpecAlertingRule>
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    trigger RuleSequenceSpecTrigger
    The trigger configuration shared by every rule in the sequence.
    recordingRules RuleSequenceSpecRecordingRule[]
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    alertingRules RuleSequenceSpecAlertingRule[]
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    trigger RuleSequenceSpecTrigger
    The trigger configuration shared by every rule in the sequence.
    recording_rules Sequence[RuleSequenceSpecRecordingRule]
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    alerting_rules Sequence[RuleSequenceSpecAlertingRule]
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    trigger RuleSequenceSpecTrigger
    The trigger configuration shared by every rule in the sequence.
    recordingRules List<Property Map>
    The recording rules that belong to this sequence, evaluated in the order listed. At least one recording rule is required. Each entry references a recording rule by its name (the rule's UID).
    alertingRules List<Property Map>
    The alert rules that belong to this sequence, evaluated in the order listed. Each entry references an alert rule by its name (the rule's UID).
    trigger Property Map
    The trigger configuration shared by every rule in the sequence.

    RuleSequenceSpecAlertingRule, RuleSequenceSpecAlertingRuleArgs

    Name string
    Name string
    name string
    name String
    name string
    name str
    name String

    RuleSequenceSpecRecordingRule, RuleSequenceSpecRecordingRuleArgs

    Name string
    Name string
    name string
    name String
    name string
    name str
    name String

    RuleSequenceSpecTrigger, RuleSequenceSpecTriggerArgs

    Interval string
    The interval at which the rules in the sequence should be evaluated.
    Interval string
    The interval at which the rules in the sequence should be evaluated.
    interval string
    The interval at which the rules in the sequence should be evaluated.
    interval String
    The interval at which the rules in the sequence should be evaluated.
    interval string
    The interval at which the rules in the sequence should be evaluated.
    interval str
    The interval at which the rules in the sequence should be evaluated.
    interval String
    The interval at which the rules in the sequence should be evaluated.

    Package Details

    Repository
    grafana pulumiverse/pulumi-grafana
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the grafana Terraform Provider.
    grafana logo
    Viewing docs for Grafana v2.38.0
    published on Friday, Aug 7, 2026 by pulumiverse

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial