1. Packages
  2. Grafana Cloud
  3. API Docs
  4. apps
  5. apps/v1beta1
  6. Dashboard
Viewing docs for Grafana v2.24.0
published on Friday, Apr 10, 2026 by pulumiverse
grafana logo
Viewing docs for Grafana v2.24.0
published on Friday, Apr 10, 2026 by pulumiverse

    Manages Grafana dashboards using the new Grafana APIs.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as grafana from "@pulumiverse/grafana";
    
    const example = new grafana.apps.v1beta1.Dashboard("example", {
        metadata: {
            uid: "example-dashboard",
        },
        spec: {
            title: "Example Dashboard",
            json: JSON.stringify({
                title: "Example Dashboard",
                uid: "example-dashboard",
                panels: [],
                schemaVersion: 42,
            }),
        },
    });
    
    import pulumi
    import json
    import pulumiverse_grafana as grafana
    
    example = grafana.apps.v1beta1.Dashboard("example",
        metadata={
            "uid": "example-dashboard",
        },
        spec={
            "title": "Example Dashboard",
            "json": json.dumps({
                "title": "Example Dashboard",
                "uid": "example-dashboard",
                "panels": [],
                "schemaVersion": 42,
            }),
        })
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps"
    	appsv1beta1 "github.com/pulumiverse/pulumi-grafana/sdk/v2/go/grafana/apps/v1beta1"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"title":         "Example Dashboard",
    			"uid":           "example-dashboard",
    			"panels":        []interface{}{},
    			"schemaVersion": 42,
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = apps.NewDashboard(ctx, "example", &apps.DashboardArgs{
    			Metadata: &appsv1beta1.DashboardMetadataArgs{
    				Uid: pulumi.String("example-dashboard"),
    			},
    			Spec: &appsv1beta1.DashboardSpecArgs{
    				Title: pulumi.String("Example Dashboard"),
    				Json:  pulumi.String(pulumi.String(json0)),
    			},
    		})
    		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 example = new Grafana.Apps.V1Beta1.Dashboard("example", new()
        {
            Metadata = new Grafana.Apps.V1Beta1.Inputs.DashboardMetadataArgs
            {
                Uid = "example-dashboard",
            },
            Spec = new Grafana.Apps.V1Beta1.Inputs.DashboardSpecArgs
            {
                Title = "Example Dashboard",
                Json = JsonSerializer.Serialize(new Dictionary<string, object?>
                {
                    ["title"] = "Example Dashboard",
                    ["uid"] = "example-dashboard",
                    ["panels"] = new[]
                    {
                    },
                    ["schemaVersion"] = 42,
                }),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.grafana.apps_v1beta1.Dashboard;
    import com.pulumi.grafana.apps_v1beta1.DashboardArgs;
    import com.pulumi.grafana.apps.inputs.DashboardMetadataArgs;
    import com.pulumi.grafana.apps.inputs.DashboardSpecArgs;
    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 example = new Dashboard("example", DashboardArgs.builder()
                .metadata(DashboardMetadataArgs.builder()
                    .uid("example-dashboard")
                    .build())
                .spec(DashboardSpecArgs.builder()
                    .title("Example Dashboard")
                    .json(serializeJson(
                        jsonObject(
                            jsonProperty("title", "Example Dashboard"),
                            jsonProperty("uid", "example-dashboard"),
                            jsonProperty("panels", jsonArray(
                            )),
                            jsonProperty("schemaVersion", 42)
                        )))
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: grafana:apps/v1beta1:Dashboard
        properties:
          metadata:
            uid: example-dashboard
          spec:
            title: Example Dashboard
            json:
              fn::toJSON:
                title: Example Dashboard
                uid: example-dashboard
                panels: []
                schemaVersion: 42
    

    Create Dashboard Resource

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

    Constructor syntax

    new Dashboard(name: string, args?: DashboardArgs, opts?: CustomResourceOptions);
    @overload
    def Dashboard(resource_name: str,
                  args: Optional[DashboardArgs] = None,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def Dashboard(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  metadata: Optional[DashboardMetadataArgs] = None,
                  options: Optional[DashboardOptionsArgs] = None,
                  spec: Optional[DashboardSpecArgs] = None)
    func NewDashboard(ctx *Context, name string, args *DashboardArgs, opts ...ResourceOption) (*Dashboard, error)
    public Dashboard(string name, DashboardArgs? args = null, CustomResourceOptions? opts = null)
    public Dashboard(String name, DashboardArgs args)
    public Dashboard(String name, DashboardArgs args, CustomResourceOptions options)
    
    type: grafana:apps/v1beta1/dashboard:Dashboard
    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 DashboardArgs
    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 DashboardArgs
    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 DashboardArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DashboardArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DashboardArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

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

    Metadata DashboardMetadataArgs
    The metadata of the resource.
    Options DashboardOptionsArgs
    Options for applying the resource.
    Spec DashboardSpecArgs
    The spec of the resource.
    metadata DashboardMetadata
    The metadata of the resource.
    options DashboardOptions
    Options for applying the resource.
    spec DashboardSpec
    The spec of the resource.
    metadata DashboardMetadata
    The metadata of the resource.
    options DashboardOptions
    Options for applying the resource.
    spec DashboardSpec
    The spec of the resource.
    metadata DashboardMetadataArgs
    The metadata of the resource.
    options DashboardOptionsArgs
    Options for applying the resource.
    spec DashboardSpecArgs
    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 Dashboard 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 Dashboard Resource

    Get an existing Dashboard 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?: DashboardState, opts?: CustomResourceOptions): Dashboard
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            metadata: Optional[DashboardMetadataArgs] = None,
            options: Optional[DashboardOptionsArgs] = None,
            spec: Optional[DashboardSpecArgs] = None) -> Dashboard
    func GetDashboard(ctx *Context, name string, id IDInput, state *DashboardState, opts ...ResourceOption) (*Dashboard, error)
    public static Dashboard Get(string name, Input<string> id, DashboardState? state, CustomResourceOptions? opts = null)
    public static Dashboard get(String name, Output<String> id, DashboardState state, CustomResourceOptions options)
    resources:  _:    type: grafana:apps/v1beta1/dashboard:Dashboard    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:
    Metadata DashboardMetadataArgs
    The metadata of the resource.
    Options DashboardOptionsArgs
    Options for applying the resource.
    Spec DashboardSpecArgs
    The spec of the resource.
    metadata DashboardMetadata
    The metadata of the resource.
    options DashboardOptions
    Options for applying the resource.
    spec DashboardSpec
    The spec of the resource.
    metadata DashboardMetadata
    The metadata of the resource.
    options DashboardOptions
    Options for applying the resource.
    spec DashboardSpec
    The spec of the resource.
    metadata DashboardMetadataArgs
    The metadata of the resource.
    options DashboardOptionsArgs
    Options for applying the resource.
    spec DashboardSpecArgs
    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

    DashboardMetadata, DashboardMetadataArgs

    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.
    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.
    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.
    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.
    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.
    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.
    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.

    DashboardOptions, DashboardOptionsArgs

    AllowUiUpdates bool
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    AllowUiUpdates bool
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    Overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    allowUiUpdates Boolean
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    allowUiUpdates boolean
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    overwrite boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    allow_ui_updates bool
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    overwrite bool
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.
    allowUiUpdates Boolean
    Set to true to allow editing the resource from the Grafana UI. By default, resources managed by Terraform cannot be edited in the UI. Enabling this option will cause divergence between the Terraform configuration and the resource in Grafana.
    overwrite Boolean
    Set to true if you want to overwrite existing resource with newer version, same resource title in folder or same resource uid.

    DashboardSpec, DashboardSpecArgs

    Json string
    The JSON representation of the dashboard spec.
    Tags List<string>
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    Title string
    The title of the dashboard. If not set, the title will be derived from the JSON spec.
    Json string
    The JSON representation of the dashboard spec.
    Tags []string
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    Title string
    The title of the dashboard. If not set, the title will be derived from the JSON spec.
    json String
    The JSON representation of the dashboard spec.
    tags List<String>
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    title String
    The title of the dashboard. If not set, the title will be derived from the JSON spec.
    json string
    The JSON representation of the dashboard spec.
    tags string[]
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    title string
    The title of the dashboard. If not set, the title will be derived from the JSON spec.
    json str
    The JSON representation of the dashboard spec.
    tags Sequence[str]
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    title str
    The title of the dashboard. If not set, the title will be derived from the JSON spec.
    json String
    The JSON representation of the dashboard spec.
    tags List<String>
    The tags of the dashboard. If not set, the tags will be derived from the JSON spec.
    title String
    The title of the dashboard. If not set, the title will be derived from the JSON spec.

    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.24.0
    published on Friday, Apr 10, 2026 by pulumiverse
      Try Pulumi Cloud free. Your team will thank you.