1. Packages
  2. Sumo Logic
  3. API Docs
  4. Dashboard
Sumo Logic v0.23.4 published on Friday, Sep 20, 2024 by Pulumi

sumologic.Dashboard

Explore with Pulumi AI

sumologic logo
Sumo Logic v0.23.4 published on Friday, Sep 20, 2024 by Pulumi

    Provides a Sumologic Dashboard (New).

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as sumologic from "@pulumi/sumologic";
    
    const personalFolder = sumologic.getPersonalFolder({});
    const api_dashboard = new sumologic.Dashboard("api-dashboard", {
        title: "Api Health Dashboard",
        description: "Demo dashboard description",
        folderId: personalFolder.then(personalFolder => personalFolder.id),
        refreshInterval: 120,
        theme: "Dark",
        timeRange: {
            beginBoundedTimeRange: {
                from: {
                    literalTimeRange: {
                        rangeName: "today",
                    },
                },
            },
        },
        topologyLabelMap: {
            datas: [
                {
                    label: "cluster",
                    values: ["api-prod"],
                },
                {
                    label: "namespace",
                    values: ["default"],
                },
            ],
        },
        domain: "app",
        panels: [
            {
                textPanel: {
                    key: "text-panel-01",
                    title: "Api Health",
                    visualSettings: JSON.stringify({
                        text: {
                            verticalAlignment: "top",
                            horizontalAlignment: "left",
                            fontSize: 12,
                        },
                    }),
                    keepVisualSettingsConsistentWithParent: true,
                    text: `## Api Health Monitoring
    
    Use this dashboard to monitor API service health. It contains following panels:
    
    1. API errors: Errors in last 12 hours
    3. API 5xx: Count of 5xx response
    3. CPU utilization: CPU utilization in last 60 mins
    `,
                },
            },
            {
                sumoSearchPanel: {
                    key: "search-panel-01",
                    title: "Api Errors by Host",
                    description: "Errors in api service since last 12 hours",
                    visualSettings: JSON.stringify({
                        general: {
                            mode: "timeSeries",
                            type: "area",
                            displayType: "stacked",
                            markerSize: 5,
                            lineDashType: "solid",
                            markerType: "square",
                            lineThickness: 1,
                        },
                        title: {
                            fontSize: 14,
                        },
                        legend: {
                            enabled: true,
                            verticalAlign: "bottom",
                            fontSize: 12,
                            maxHeight: 50,
                            showAsTable: false,
                            wrap: true,
                        },
                    }),
                    keepVisualSettingsConsistentWithParent: true,
                    queries: [{
                        queryString: "_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost",
                        queryType: "Logs",
                        queryKey: "A",
                    }],
                    timeRange: {
                        beginBoundedTimeRange: {
                            from: {
                                relativeTimeRange: {
                                    relativeTime: "-12h",
                                },
                            },
                        },
                    },
                },
            },
            {
                sumoSearchPanel: {
                    key: "metrics-panel-01",
                    title: "Api 5xx Response Count",
                    description: "Count of 5xx response from api service",
                    visualSettings: JSON.stringify({
                        general: {
                            mode: "distribution",
                            type: "pie",
                            displayType: "default",
                            fillOpacity: 1,
                            startAngle: 270,
                            innerRadius: "40%",
                            maxNumOfSlices: 10,
                            aggregationType: "sum",
                        },
                        title: {
                            fontSize: 14,
                        },
                    }),
                    keepVisualSettingsConsistentWithParent: true,
                    queries: [{
                        queryString: "_sourceCategory=api metric=Api-5xx",
                        queryType: "Metrics",
                        queryKey: "A",
                        metricsQueryMode: "Advanced",
                    }],
                    timeRange: {
                        beginBoundedTimeRange: {
                            from: {
                                literalTimeRange: {
                                    rangeName: "today",
                                },
                            },
                        },
                    },
                },
            },
            {
                sumoSearchPanel: {
                    key: "metrics-panel-02",
                    title: "CPU Utilization",
                    description: "CPU utilization in api service",
                    visualSettings: JSON.stringify({
                        general: {
                            mode: "timeSeries",
                            type: "line",
                            displayType: "smooth",
                            markerSize: 5,
                            lineDashType: "dashDot",
                            markerType: "none",
                            lineThickness: 1,
                        },
                        title: {
                            fontSize: 14,
                        },
                    }),
                    keepVisualSettingsConsistentWithParent: true,
                    queries: [
                        {
                            queryString: "metric=Proc_CPU nite-api-1",
                            queryType: "Metrics",
                            queryKey: "A",
                            metricsQueryMode: "Basic",
                            metricsQueryData: {
                                metric: "Proc_CPU",
                                filters: [{
                                    key: "_sourcehost",
                                    negation: false,
                                    value: "nite-api-1",
                                }],
                                aggregationType: "None",
                            },
                        },
                        {
                            queryString: "metric=Proc_CPU nite-api-2",
                            queryType: "Metrics",
                            queryKey: "B",
                            metricsQueryMode: "Basic",
                            metricsQueryData: {
                                metric: "Proc_CPU",
                                filters: [{
                                    key: "_sourcehost",
                                    negation: false,
                                    value: "nite-api-2",
                                }],
                                aggregationType: "None",
                            },
                        },
                    ],
                    timeRange: {
                        beginBoundedTimeRange: {
                            from: {
                                relativeTimeRange: {
                                    relativeTime: "-1h",
                                },
                            },
                        },
                    },
                },
            },
        ],
        layout: {
            grid: {
                layoutStructures: [
                    {
                        key: "text-panel-01",
                        structure: "{\"height\":5,\"width\":24,\"x\":0,\"y\":0}",
                    },
                    {
                        key: "search-panel-01",
                        structure: "{\"height\":10,\"width\":12,\"x\":0,\"y\":5}",
                    },
                    {
                        key: "metrics-panel-01",
                        structure: "{\"height\":10,\"width\":12,\"x\":12,\"y\":5}",
                    },
                    {
                        key: "metrics-panel-02",
                        structure: "{\"height\":10,\"width\":24,\"x\":0,\"y\":25}",
                    },
                ],
            },
        },
        variables: [{
            name: "_sourceHost",
            displayName: "Source Host",
            defaultValue: "nite-api-1",
            sourceDefinition: {
                csvVariableSourceDefinition: {
                    values: "nite-api-1,nite-api-2",
                },
            },
            allowMultiSelect: true,
            includeAllOption: true,
            hideFromUi: false,
        }],
    });
    
    import pulumi
    import json
    import pulumi_sumologic as sumologic
    
    personal_folder = sumologic.get_personal_folder()
    api_dashboard = sumologic.Dashboard("api-dashboard",
        title="Api Health Dashboard",
        description="Demo dashboard description",
        folder_id=personal_folder.id,
        refresh_interval=120,
        theme="Dark",
        time_range={
            "begin_bounded_time_range": {
                "from_": {
                    "literal_time_range": {
                        "range_name": "today",
                    },
                },
            },
        },
        topology_label_map={
            "datas": [
                {
                    "label": "cluster",
                    "values": ["api-prod"],
                },
                {
                    "label": "namespace",
                    "values": ["default"],
                },
            ],
        },
        domain="app",
        panels=[
            {
                "text_panel": {
                    "key": "text-panel-01",
                    "title": "Api Health",
                    "visual_settings": json.dumps({
                        "text": {
                            "vertical_alignment": "top",
                            "horizontal_alignment": "left",
                            "font_size": 12,
                        },
                    }),
                    "keep_visual_settings_consistent_with_parent": True,
                    "text": """## Api Health Monitoring
    
    Use this dashboard to monitor API service health. It contains following panels:
    
    1. API errors: Errors in last 12 hours
    3. API 5xx: Count of 5xx response
    3. CPU utilization: CPU utilization in last 60 mins
    """,
                },
            },
            {
                "sumo_search_panel": {
                    "key": "search-panel-01",
                    "title": "Api Errors by Host",
                    "description": "Errors in api service since last 12 hours",
                    "visual_settings": json.dumps({
                        "general": {
                            "mode": "timeSeries",
                            "type": "area",
                            "display_type": "stacked",
                            "marker_size": 5,
                            "line_dash_type": "solid",
                            "marker_type": "square",
                            "line_thickness": 1,
                        },
                        "title": {
                            "font_size": 14,
                        },
                        "legend": {
                            "enabled": True,
                            "vertical_align": "bottom",
                            "font_size": 12,
                            "max_height": 50,
                            "show_as_table": False,
                            "wrap": True,
                        },
                    }),
                    "keep_visual_settings_consistent_with_parent": True,
                    "queries": [{
                        "query_string": "_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost",
                        "query_type": "Logs",
                        "query_key": "A",
                    }],
                    "time_range": {
                        "begin_bounded_time_range": {
                            "from_": {
                                "relative_time_range": {
                                    "relative_time": "-12h",
                                },
                            },
                        },
                    },
                },
            },
            {
                "sumo_search_panel": {
                    "key": "metrics-panel-01",
                    "title": "Api 5xx Response Count",
                    "description": "Count of 5xx response from api service",
                    "visual_settings": json.dumps({
                        "general": {
                            "mode": "distribution",
                            "type": "pie",
                            "display_type": "default",
                            "fill_opacity": 1,
                            "start_angle": 270,
                            "inner_radius": "40%",
                            "max_num_of_slices": 10,
                            "aggregation_type": "sum",
                        },
                        "title": {
                            "font_size": 14,
                        },
                    }),
                    "keep_visual_settings_consistent_with_parent": True,
                    "queries": [{
                        "query_string": "_sourceCategory=api metric=Api-5xx",
                        "query_type": "Metrics",
                        "query_key": "A",
                        "metrics_query_mode": "Advanced",
                    }],
                    "time_range": {
                        "begin_bounded_time_range": {
                            "from_": {
                                "literal_time_range": {
                                    "range_name": "today",
                                },
                            },
                        },
                    },
                },
            },
            {
                "sumo_search_panel": {
                    "key": "metrics-panel-02",
                    "title": "CPU Utilization",
                    "description": "CPU utilization in api service",
                    "visual_settings": json.dumps({
                        "general": {
                            "mode": "timeSeries",
                            "type": "line",
                            "display_type": "smooth",
                            "marker_size": 5,
                            "line_dash_type": "dashDot",
                            "marker_type": "none",
                            "line_thickness": 1,
                        },
                        "title": {
                            "font_size": 14,
                        },
                    }),
                    "keep_visual_settings_consistent_with_parent": True,
                    "queries": [
                        {
                            "query_string": "metric=Proc_CPU nite-api-1",
                            "query_type": "Metrics",
                            "query_key": "A",
                            "metrics_query_mode": "Basic",
                            "metrics_query_data": {
                                "metric": "Proc_CPU",
                                "filters": [{
                                    "key": "_sourcehost",
                                    "negation": False,
                                    "value": "nite-api-1",
                                }],
                                "aggregation_type": "None",
                            },
                        },
                        {
                            "query_string": "metric=Proc_CPU nite-api-2",
                            "query_type": "Metrics",
                            "query_key": "B",
                            "metrics_query_mode": "Basic",
                            "metrics_query_data": {
                                "metric": "Proc_CPU",
                                "filters": [{
                                    "key": "_sourcehost",
                                    "negation": False,
                                    "value": "nite-api-2",
                                }],
                                "aggregation_type": "None",
                            },
                        },
                    ],
                    "time_range": {
                        "begin_bounded_time_range": {
                            "from_": {
                                "relative_time_range": {
                                    "relative_time": "-1h",
                                },
                            },
                        },
                    },
                },
            },
        ],
        layout={
            "grid": {
                "layout_structures": [
                    {
                        "key": "text-panel-01",
                        "structure": "{\"height\":5,\"width\":24,\"x\":0,\"y\":0}",
                    },
                    {
                        "key": "search-panel-01",
                        "structure": "{\"height\":10,\"width\":12,\"x\":0,\"y\":5}",
                    },
                    {
                        "key": "metrics-panel-01",
                        "structure": "{\"height\":10,\"width\":12,\"x\":12,\"y\":5}",
                    },
                    {
                        "key": "metrics-panel-02",
                        "structure": "{\"height\":10,\"width\":24,\"x\":0,\"y\":25}",
                    },
                ],
            },
        },
        variables=[{
            "name": "_sourceHost",
            "display_name": "Source Host",
            "default_value": "nite-api-1",
            "source_definition": {
                "csv_variable_source_definition": {
                    "values": "nite-api-1,nite-api-2",
                },
            },
            "allow_multi_select": True,
            "include_all_option": True,
            "hide_from_ui": False,
        }])
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		personalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"text": map[string]interface{}{
    				"verticalAlignment":   "top",
    				"horizontalAlignment": "left",
    				"fontSize":            12,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal(map[string]interface{}{
    			"general": map[string]interface{}{
    				"mode":          "timeSeries",
    				"type":          "area",
    				"displayType":   "stacked",
    				"markerSize":    5,
    				"lineDashType":  "solid",
    				"markerType":    "square",
    				"lineThickness": 1,
    			},
    			"title": map[string]interface{}{
    				"fontSize": 14,
    			},
    			"legend": map[string]interface{}{
    				"enabled":       true,
    				"verticalAlign": "bottom",
    				"fontSize":      12,
    				"maxHeight":     50,
    				"showAsTable":   false,
    				"wrap":          true,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal(map[string]interface{}{
    			"general": map[string]interface{}{
    				"mode":            "distribution",
    				"type":            "pie",
    				"displayType":     "default",
    				"fillOpacity":     1,
    				"startAngle":      270,
    				"innerRadius":     "40%",
    				"maxNumOfSlices":  10,
    				"aggregationType": "sum",
    			},
    			"title": map[string]interface{}{
    				"fontSize": 14,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		tmpJSON3, err := json.Marshal(map[string]interface{}{
    			"general": map[string]interface{}{
    				"mode":          "timeSeries",
    				"type":          "line",
    				"displayType":   "smooth",
    				"markerSize":    5,
    				"lineDashType":  "dashDot",
    				"markerType":    "none",
    				"lineThickness": 1,
    			},
    			"title": map[string]interface{}{
    				"fontSize": 14,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		_, err = sumologic.NewDashboard(ctx, "api-dashboard", &sumologic.DashboardArgs{
    			Title:           pulumi.String("Api Health Dashboard"),
    			Description:     pulumi.String("Demo dashboard description"),
    			FolderId:        pulumi.String(personalFolder.Id),
    			RefreshInterval: pulumi.Int(120),
    			Theme:           pulumi.String("Dark"),
    			TimeRange: &sumologic.DashboardTimeRangeArgs{
    				BeginBoundedTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs{
    					From: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs{
    						LiteralTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{
    							RangeName: pulumi.String("today"),
    						},
    					},
    				},
    			},
    			TopologyLabelMap: &sumologic.DashboardTopologyLabelMapArgs{
    				Datas: sumologic.DashboardTopologyLabelMapDataArray{
    					&sumologic.DashboardTopologyLabelMapDataArgs{
    						Label: pulumi.String("cluster"),
    						Values: pulumi.StringArray{
    							pulumi.String("api-prod"),
    						},
    					},
    					&sumologic.DashboardTopologyLabelMapDataArgs{
    						Label: pulumi.String("namespace"),
    						Values: pulumi.StringArray{
    							pulumi.String("default"),
    						},
    					},
    				},
    			},
    			Domain: pulumi.String("app"),
    			Panels: sumologic.DashboardPanelArray{
    				&sumologic.DashboardPanelArgs{
    					TextPanel: &sumologic.DashboardPanelTextPanelArgs{
    						Key:                                    pulumi.String("text-panel-01"),
    						Title:                                  pulumi.String("Api Health"),
    						VisualSettings:                         pulumi.String(json0),
    						KeepVisualSettingsConsistentWithParent: pulumi.Bool(true),
    						Text: pulumi.String(`## Api Health Monitoring
    
    Use this dashboard to monitor API service health. It contains following panels:
    
    1. API errors: Errors in last 12 hours
    3. API 5xx: Count of 5xx response
    3. CPU utilization: CPU utilization in last 60 mins
    `),
    					},
    				},
    				&sumologic.DashboardPanelArgs{
    					SumoSearchPanel: &sumologic.DashboardPanelSumoSearchPanelArgs{
    						Key:                                    pulumi.String("search-panel-01"),
    						Title:                                  pulumi.String("Api Errors by Host"),
    						Description:                            pulumi.String("Errors in api service since last 12 hours"),
    						VisualSettings:                         pulumi.String(json1),
    						KeepVisualSettingsConsistentWithParent: pulumi.Bool(true),
    						Queries: sumologic.DashboardPanelSumoSearchPanelQueryArray{
    							&sumologic.DashboardPanelSumoSearchPanelQueryArgs{
    								QueryString: pulumi.String("_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost"),
    								QueryType:   pulumi.String("Logs"),
    								QueryKey:    pulumi.String("A"),
    							},
    						},
    						TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{
    							BeginBoundedTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{
    								From: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{
    									RelativeTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{
    										RelativeTime: pulumi.String("-12h"),
    									},
    								},
    							},
    						},
    					},
    				},
    				&sumologic.DashboardPanelArgs{
    					SumoSearchPanel: &sumologic.DashboardPanelSumoSearchPanelArgs{
    						Key:                                    pulumi.String("metrics-panel-01"),
    						Title:                                  pulumi.String("Api 5xx Response Count"),
    						Description:                            pulumi.String("Count of 5xx response from api service"),
    						VisualSettings:                         pulumi.String(json2),
    						KeepVisualSettingsConsistentWithParent: pulumi.Bool(true),
    						Queries: sumologic.DashboardPanelSumoSearchPanelQueryArray{
    							&sumologic.DashboardPanelSumoSearchPanelQueryArgs{
    								QueryString:      pulumi.String("_sourceCategory=api metric=Api-5xx"),
    								QueryType:        pulumi.String("Metrics"),
    								QueryKey:         pulumi.String("A"),
    								MetricsQueryMode: pulumi.String("Advanced"),
    							},
    						},
    						TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{
    							BeginBoundedTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{
    								From: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{
    									LiteralTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{
    										RangeName: pulumi.String("today"),
    									},
    								},
    							},
    						},
    					},
    				},
    				&sumologic.DashboardPanelArgs{
    					SumoSearchPanel: &sumologic.DashboardPanelSumoSearchPanelArgs{
    						Key:                                    pulumi.String("metrics-panel-02"),
    						Title:                                  pulumi.String("CPU Utilization"),
    						Description:                            pulumi.String("CPU utilization in api service"),
    						VisualSettings:                         pulumi.String(json3),
    						KeepVisualSettingsConsistentWithParent: pulumi.Bool(true),
    						Queries: sumologic.DashboardPanelSumoSearchPanelQueryArray{
    							&sumologic.DashboardPanelSumoSearchPanelQueryArgs{
    								QueryString:      pulumi.String("metric=Proc_CPU nite-api-1"),
    								QueryType:        pulumi.String("Metrics"),
    								QueryKey:         pulumi.String("A"),
    								MetricsQueryMode: pulumi.String("Basic"),
    								MetricsQueryData: &sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{
    									Metric: pulumi.String("Proc_CPU"),
    									Filters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{
    										&sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{
    											Key:      pulumi.String("_sourcehost"),
    											Negation: pulumi.Bool(false),
    											Value:    pulumi.String("nite-api-1"),
    										},
    									},
    									AggregationType: pulumi.String("None"),
    								},
    							},
    							&sumologic.DashboardPanelSumoSearchPanelQueryArgs{
    								QueryString:      pulumi.String("metric=Proc_CPU nite-api-2"),
    								QueryType:        pulumi.String("Metrics"),
    								QueryKey:         pulumi.String("B"),
    								MetricsQueryMode: pulumi.String("Basic"),
    								MetricsQueryData: &sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{
    									Metric: pulumi.String("Proc_CPU"),
    									Filters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{
    										&sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{
    											Key:      pulumi.String("_sourcehost"),
    											Negation: pulumi.Bool(false),
    											Value:    pulumi.String("nite-api-2"),
    										},
    									},
    									AggregationType: pulumi.String("None"),
    								},
    							},
    						},
    						TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{
    							BeginBoundedTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{
    								From: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{
    									RelativeTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{
    										RelativeTime: pulumi.String("-1h"),
    									},
    								},
    							},
    						},
    					},
    				},
    			},
    			Layout: &sumologic.DashboardLayoutArgs{
    				Grid: &sumologic.DashboardLayoutGridArgs{
    					LayoutStructures: sumologic.DashboardLayoutGridLayoutStructureArray{
    						&sumologic.DashboardLayoutGridLayoutStructureArgs{
    							Key:       pulumi.String("text-panel-01"),
    							Structure: pulumi.String("{\"height\":5,\"width\":24,\"x\":0,\"y\":0}"),
    						},
    						&sumologic.DashboardLayoutGridLayoutStructureArgs{
    							Key:       pulumi.String("search-panel-01"),
    							Structure: pulumi.String("{\"height\":10,\"width\":12,\"x\":0,\"y\":5}"),
    						},
    						&sumologic.DashboardLayoutGridLayoutStructureArgs{
    							Key:       pulumi.String("metrics-panel-01"),
    							Structure: pulumi.String("{\"height\":10,\"width\":12,\"x\":12,\"y\":5}"),
    						},
    						&sumologic.DashboardLayoutGridLayoutStructureArgs{
    							Key:       pulumi.String("metrics-panel-02"),
    							Structure: pulumi.String("{\"height\":10,\"width\":24,\"x\":0,\"y\":25}"),
    						},
    					},
    				},
    			},
    			Variables: sumologic.DashboardVariableArray{
    				&sumologic.DashboardVariableArgs{
    					Name:         pulumi.String("_sourceHost"),
    					DisplayName:  pulumi.String("Source Host"),
    					DefaultValue: pulumi.String("nite-api-1"),
    					SourceDefinition: &sumologic.DashboardVariableSourceDefinitionArgs{
    						CsvVariableSourceDefinition: &sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs{
    							Values: pulumi.String("nite-api-1,nite-api-2"),
    						},
    					},
    					AllowMultiSelect: pulumi.Bool(true),
    					IncludeAllOption: pulumi.Bool(true),
    					HideFromUi:       pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using SumoLogic = Pulumi.SumoLogic;
    
    return await Deployment.RunAsync(() => 
    {
        var personalFolder = SumoLogic.GetPersonalFolder.Invoke();
    
        var api_dashboard = new SumoLogic.Dashboard("api-dashboard", new()
        {
            Title = "Api Health Dashboard",
            Description = "Demo dashboard description",
            FolderId = personalFolder.Apply(getPersonalFolderResult => getPersonalFolderResult.Id),
            RefreshInterval = 120,
            Theme = "Dark",
            TimeRange = new SumoLogic.Inputs.DashboardTimeRangeArgs
            {
                BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs
                {
                    From = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs
                    {
                        LiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs
                        {
                            RangeName = "today",
                        },
                    },
                },
            },
            TopologyLabelMap = new SumoLogic.Inputs.DashboardTopologyLabelMapArgs
            {
                Datas = new[]
                {
                    new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs
                    {
                        Label = "cluster",
                        Values = new[]
                        {
                            "api-prod",
                        },
                    },
                    new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs
                    {
                        Label = "namespace",
                        Values = new[]
                        {
                            "default",
                        },
                    },
                },
            },
            Domain = "app",
            Panels = new[]
            {
                new SumoLogic.Inputs.DashboardPanelArgs
                {
                    TextPanel = new SumoLogic.Inputs.DashboardPanelTextPanelArgs
                    {
                        Key = "text-panel-01",
                        Title = "Api Health",
                        VisualSettings = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["text"] = new Dictionary<string, object?>
                            {
                                ["verticalAlignment"] = "top",
                                ["horizontalAlignment"] = "left",
                                ["fontSize"] = 12,
                            },
                        }),
                        KeepVisualSettingsConsistentWithParent = true,
                        Text = @"## Api Health Monitoring
    
    Use this dashboard to monitor API service health. It contains following panels:
    
    1. API errors: Errors in last 12 hours
    3. API 5xx: Count of 5xx response
    3. CPU utilization: CPU utilization in last 60 mins
    ",
                    },
                },
                new SumoLogic.Inputs.DashboardPanelArgs
                {
                    SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs
                    {
                        Key = "search-panel-01",
                        Title = "Api Errors by Host",
                        Description = "Errors in api service since last 12 hours",
                        VisualSettings = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["general"] = new Dictionary<string, object?>
                            {
                                ["mode"] = "timeSeries",
                                ["type"] = "area",
                                ["displayType"] = "stacked",
                                ["markerSize"] = 5,
                                ["lineDashType"] = "solid",
                                ["markerType"] = "square",
                                ["lineThickness"] = 1,
                            },
                            ["title"] = new Dictionary<string, object?>
                            {
                                ["fontSize"] = 14,
                            },
                            ["legend"] = new Dictionary<string, object?>
                            {
                                ["enabled"] = true,
                                ["verticalAlign"] = "bottom",
                                ["fontSize"] = 12,
                                ["maxHeight"] = 50,
                                ["showAsTable"] = false,
                                ["wrap"] = true,
                            },
                        }),
                        KeepVisualSettingsConsistentWithParent = true,
                        Queries = new[]
                        {
                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs
                            {
                                QueryString = "_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost",
                                QueryType = "Logs",
                                QueryKey = "A",
                            },
                        },
                        TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs
                        {
                            BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs
                            {
                                From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs
                                {
                                    RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs
                                    {
                                        RelativeTime = "-12h",
                                    },
                                },
                            },
                        },
                    },
                },
                new SumoLogic.Inputs.DashboardPanelArgs
                {
                    SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs
                    {
                        Key = "metrics-panel-01",
                        Title = "Api 5xx Response Count",
                        Description = "Count of 5xx response from api service",
                        VisualSettings = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["general"] = new Dictionary<string, object?>
                            {
                                ["mode"] = "distribution",
                                ["type"] = "pie",
                                ["displayType"] = "default",
                                ["fillOpacity"] = 1,
                                ["startAngle"] = 270,
                                ["innerRadius"] = "40%",
                                ["maxNumOfSlices"] = 10,
                                ["aggregationType"] = "sum",
                            },
                            ["title"] = new Dictionary<string, object?>
                            {
                                ["fontSize"] = 14,
                            },
                        }),
                        KeepVisualSettingsConsistentWithParent = true,
                        Queries = new[]
                        {
                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs
                            {
                                QueryString = "_sourceCategory=api metric=Api-5xx",
                                QueryType = "Metrics",
                                QueryKey = "A",
                                MetricsQueryMode = "Advanced",
                            },
                        },
                        TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs
                        {
                            BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs
                            {
                                From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs
                                {
                                    LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs
                                    {
                                        RangeName = "today",
                                    },
                                },
                            },
                        },
                    },
                },
                new SumoLogic.Inputs.DashboardPanelArgs
                {
                    SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs
                    {
                        Key = "metrics-panel-02",
                        Title = "CPU Utilization",
                        Description = "CPU utilization in api service",
                        VisualSettings = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["general"] = new Dictionary<string, object?>
                            {
                                ["mode"] = "timeSeries",
                                ["type"] = "line",
                                ["displayType"] = "smooth",
                                ["markerSize"] = 5,
                                ["lineDashType"] = "dashDot",
                                ["markerType"] = "none",
                                ["lineThickness"] = 1,
                            },
                            ["title"] = new Dictionary<string, object?>
                            {
                                ["fontSize"] = 14,
                            },
                        }),
                        KeepVisualSettingsConsistentWithParent = true,
                        Queries = new[]
                        {
                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs
                            {
                                QueryString = "metric=Proc_CPU nite-api-1",
                                QueryType = "Metrics",
                                QueryKey = "A",
                                MetricsQueryMode = "Basic",
                                MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs
                                {
                                    Metric = "Proc_CPU",
                                    Filters = new[]
                                    {
                                        new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs
                                        {
                                            Key = "_sourcehost",
                                            Negation = false,
                                            Value = "nite-api-1",
                                        },
                                    },
                                    AggregationType = "None",
                                },
                            },
                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs
                            {
                                QueryString = "metric=Proc_CPU nite-api-2",
                                QueryType = "Metrics",
                                QueryKey = "B",
                                MetricsQueryMode = "Basic",
                                MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs
                                {
                                    Metric = "Proc_CPU",
                                    Filters = new[]
                                    {
                                        new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs
                                        {
                                            Key = "_sourcehost",
                                            Negation = false,
                                            Value = "nite-api-2",
                                        },
                                    },
                                    AggregationType = "None",
                                },
                            },
                        },
                        TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs
                        {
                            BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs
                            {
                                From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs
                                {
                                    RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs
                                    {
                                        RelativeTime = "-1h",
                                    },
                                },
                            },
                        },
                    },
                },
            },
            Layout = new SumoLogic.Inputs.DashboardLayoutArgs
            {
                Grid = new SumoLogic.Inputs.DashboardLayoutGridArgs
                {
                    LayoutStructures = new[]
                    {
                        new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs
                        {
                            Key = "text-panel-01",
                            Structure = "{\"height\":5,\"width\":24,\"x\":0,\"y\":0}",
                        },
                        new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs
                        {
                            Key = "search-panel-01",
                            Structure = "{\"height\":10,\"width\":12,\"x\":0,\"y\":5}",
                        },
                        new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs
                        {
                            Key = "metrics-panel-01",
                            Structure = "{\"height\":10,\"width\":12,\"x\":12,\"y\":5}",
                        },
                        new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs
                        {
                            Key = "metrics-panel-02",
                            Structure = "{\"height\":10,\"width\":24,\"x\":0,\"y\":25}",
                        },
                    },
                },
            },
            Variables = new[]
            {
                new SumoLogic.Inputs.DashboardVariableArgs
                {
                    Name = "_sourceHost",
                    DisplayName = "Source Host",
                    DefaultValue = "nite-api-1",
                    SourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionArgs
                    {
                        CsvVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs
                        {
                            Values = "nite-api-1,nite-api-2",
                        },
                    },
                    AllowMultiSelect = true,
                    IncludeAllOption = true,
                    HideFromUi = false,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.sumologic.SumologicFunctions;
    import com.pulumi.sumologic.inputs.GetPersonalFolderArgs;
    import com.pulumi.sumologic.Dashboard;
    import com.pulumi.sumologic.DashboardArgs;
    import com.pulumi.sumologic.inputs.DashboardTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs;
    import com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardTopologyLabelMapArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelTextPanelArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;
    import com.pulumi.sumologic.inputs.DashboardLayoutArgs;
    import com.pulumi.sumologic.inputs.DashboardLayoutGridArgs;
    import com.pulumi.sumologic.inputs.DashboardVariableArgs;
    import com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionArgs;
    import com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs;
    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) {
            final var personalFolder = SumologicFunctions.getPersonalFolder();
    
            var api_dashboard = new Dashboard("api-dashboard", DashboardArgs.builder()
                .title("Api Health Dashboard")
                .description("Demo dashboard description")
                .folderId(personalFolder.applyValue(getPersonalFolderResult -> getPersonalFolderResult.id()))
                .refreshInterval(120)
                .theme("Dark")
                .timeRange(DashboardTimeRangeArgs.builder()
                    .beginBoundedTimeRange(DashboardTimeRangeBeginBoundedTimeRangeArgs.builder()
                        .from(DashboardTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                            .literalTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()
                                .rangeName("today")
                                .build())
                            .build())
                        .build())
                    .build())
                .topologyLabelMap(DashboardTopologyLabelMapArgs.builder()
                    .datas(                
                        DashboardTopologyLabelMapDataArgs.builder()
                            .label("cluster")
                            .values("api-prod")
                            .build(),
                        DashboardTopologyLabelMapDataArgs.builder()
                            .label("namespace")
                            .values("default")
                            .build())
                    .build())
                .domain("app")
                .panels(            
                    DashboardPanelArgs.builder()
                        .textPanel(DashboardPanelTextPanelArgs.builder()
                            .key("text-panel-01")
                            .title("Api Health")
                            .visualSettings(serializeJson(
                                jsonObject(
                                    jsonProperty("text", jsonObject(
                                        jsonProperty("verticalAlignment", "top"),
                                        jsonProperty("horizontalAlignment", "left"),
                                        jsonProperty("fontSize", 12)
                                    ))
                                )))
                            .keepVisualSettingsConsistentWithParent(true)
                            .text("""
    ## Api Health Monitoring
    
    Use this dashboard to monitor API service health. It contains following panels:
    
    1. API errors: Errors in last 12 hours
    3. API 5xx: Count of 5xx response
    3. CPU utilization: CPU utilization in last 60 mins
                            """)
                            .build())
                        .build(),
                    DashboardPanelArgs.builder()
                        .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()
                            .key("search-panel-01")
                            .title("Api Errors by Host")
                            .description("Errors in api service since last 12 hours")
                            .visualSettings(serializeJson(
                                jsonObject(
                                    jsonProperty("general", jsonObject(
                                        jsonProperty("mode", "timeSeries"),
                                        jsonProperty("type", "area"),
                                        jsonProperty("displayType", "stacked"),
                                        jsonProperty("markerSize", 5),
                                        jsonProperty("lineDashType", "solid"),
                                        jsonProperty("markerType", "square"),
                                        jsonProperty("lineThickness", 1)
                                    )),
                                    jsonProperty("title", jsonObject(
                                        jsonProperty("fontSize", 14)
                                    )),
                                    jsonProperty("legend", jsonObject(
                                        jsonProperty("enabled", true),
                                        jsonProperty("verticalAlign", "bottom"),
                                        jsonProperty("fontSize", 12),
                                        jsonProperty("maxHeight", 50),
                                        jsonProperty("showAsTable", false),
                                        jsonProperty("wrap", true)
                                    ))
                                )))
                            .keepVisualSettingsConsistentWithParent(true)
                            .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()
                                .queryString("_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost")
                                .queryType("Logs")
                                .queryKey("A")
                                .build())
                            .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()
                                .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()
                                    .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                                        .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()
                                            .relativeTime("-12h")
                                            .build())
                                        .build())
                                    .build())
                                .build())
                            .build())
                        .build(),
                    DashboardPanelArgs.builder()
                        .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()
                            .key("metrics-panel-01")
                            .title("Api 5xx Response Count")
                            .description("Count of 5xx response from api service")
                            .visualSettings(serializeJson(
                                jsonObject(
                                    jsonProperty("general", jsonObject(
                                        jsonProperty("mode", "distribution"),
                                        jsonProperty("type", "pie"),
                                        jsonProperty("displayType", "default"),
                                        jsonProperty("fillOpacity", 1),
                                        jsonProperty("startAngle", 270),
                                        jsonProperty("innerRadius", "40%"),
                                        jsonProperty("maxNumOfSlices", 10),
                                        jsonProperty("aggregationType", "sum")
                                    )),
                                    jsonProperty("title", jsonObject(
                                        jsonProperty("fontSize", 14)
                                    ))
                                )))
                            .keepVisualSettingsConsistentWithParent(true)
                            .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()
                                .queryString("_sourceCategory=api metric=Api-5xx")
                                .queryType("Metrics")
                                .queryKey("A")
                                .metricsQueryMode("Advanced")
                                .build())
                            .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()
                                .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()
                                    .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                                        .literalTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()
                                            .rangeName("today")
                                            .build())
                                        .build())
                                    .build())
                                .build())
                            .build())
                        .build(),
                    DashboardPanelArgs.builder()
                        .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()
                            .key("metrics-panel-02")
                            .title("CPU Utilization")
                            .description("CPU utilization in api service")
                            .visualSettings(serializeJson(
                                jsonObject(
                                    jsonProperty("general", jsonObject(
                                        jsonProperty("mode", "timeSeries"),
                                        jsonProperty("type", "line"),
                                        jsonProperty("displayType", "smooth"),
                                        jsonProperty("markerSize", 5),
                                        jsonProperty("lineDashType", "dashDot"),
                                        jsonProperty("markerType", "none"),
                                        jsonProperty("lineThickness", 1)
                                    )),
                                    jsonProperty("title", jsonObject(
                                        jsonProperty("fontSize", 14)
                                    ))
                                )))
                            .keepVisualSettingsConsistentWithParent(true)
                            .queries(                        
                                DashboardPanelSumoSearchPanelQueryArgs.builder()
                                    .queryString("metric=Proc_CPU nite-api-1")
                                    .queryType("Metrics")
                                    .queryKey("A")
                                    .metricsQueryMode("Basic")
                                    .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()
                                        .metric("Proc_CPU")
                                        .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()
                                            .key("_sourcehost")
                                            .negation(false)
                                            .value("nite-api-1")
                                            .build())
                                        .aggregationType("None")
                                        .build())
                                    .build(),
                                DashboardPanelSumoSearchPanelQueryArgs.builder()
                                    .queryString("metric=Proc_CPU nite-api-2")
                                    .queryType("Metrics")
                                    .queryKey("B")
                                    .metricsQueryMode("Basic")
                                    .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()
                                        .metric("Proc_CPU")
                                        .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()
                                            .key("_sourcehost")
                                            .negation(false)
                                            .value("nite-api-2")
                                            .build())
                                        .aggregationType("None")
                                        .build())
                                    .build())
                            .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()
                                .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()
                                    .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                                        .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()
                                            .relativeTime("-1h")
                                            .build())
                                        .build())
                                    .build())
                                .build())
                            .build())
                        .build())
                .layout(DashboardLayoutArgs.builder()
                    .grid(DashboardLayoutGridArgs.builder()
                        .layoutStructures(                    
                            DashboardLayoutGridLayoutStructureArgs.builder()
                                .key("text-panel-01")
                                .structure("{\"height\":5,\"width\":24,\"x\":0,\"y\":0}")
                                .build(),
                            DashboardLayoutGridLayoutStructureArgs.builder()
                                .key("search-panel-01")
                                .structure("{\"height\":10,\"width\":12,\"x\":0,\"y\":5}")
                                .build(),
                            DashboardLayoutGridLayoutStructureArgs.builder()
                                .key("metrics-panel-01")
                                .structure("{\"height\":10,\"width\":12,\"x\":12,\"y\":5}")
                                .build(),
                            DashboardLayoutGridLayoutStructureArgs.builder()
                                .key("metrics-panel-02")
                                .structure("{\"height\":10,\"width\":24,\"x\":0,\"y\":25}")
                                .build())
                        .build())
                    .build())
                .variables(DashboardVariableArgs.builder()
                    .name("_sourceHost")
                    .displayName("Source Host")
                    .defaultValue("nite-api-1")
                    .sourceDefinition(DashboardVariableSourceDefinitionArgs.builder()
                        .csvVariableSourceDefinition(DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs.builder()
                            .values("nite-api-1,nite-api-2")
                            .build())
                        .build())
                    .allowMultiSelect(true)
                    .includeAllOption(true)
                    .hideFromUi(false)
                    .build())
                .build());
    
        }
    }
    
    resources:
      api-dashboard:
        type: sumologic:Dashboard
        properties:
          title: Api Health Dashboard
          description: Demo dashboard description
          folderId: ${personalFolder.id}
          refreshInterval: 120
          theme: Dark
          timeRange:
            beginBoundedTimeRange:
              from:
                literalTimeRange:
                  rangeName: today
          topologyLabelMap:
            datas:
              - label: cluster
                values:
                  - api-prod
              - label: namespace
                values:
                  - default
          domain: app
          panels:
            - textPanel:
                key: text-panel-01
                title: Api Health
                visualSettings:
                  fn::toJSON:
                    text:
                      verticalAlignment: top
                      horizontalAlignment: left
                      fontSize: 12
                keepVisualSettingsConsistentWithParent: true
                text: |
                  ## Api Health Monitoring
    
                  Use this dashboard to monitor API service health. It contains following panels:
    
                  1. API errors: Errors in last 12 hours
                  3. API 5xx: Count of 5xx response
                  3. CPU utilization: CPU utilization in last 60 mins              
            - sumoSearchPanel:
                key: search-panel-01
                title: Api Errors by Host
                description: Errors in api service since last 12 hours
                visualSettings:
                  fn::toJSON:
                    general:
                      mode: timeSeries
                      type: area
                      displayType: stacked
                      markerSize: 5
                      lineDashType: solid
                      markerType: square
                      lineThickness: 1
                    title:
                      fontSize: 14
                    legend:
                      enabled: true
                      verticalAlign: bottom
                      fontSize: 12
                      maxHeight: 50
                      showAsTable: false
                      wrap: true
                keepVisualSettingsConsistentWithParent: true
                queries:
                  - queryString: _sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost
                    queryType: Logs
                    queryKey: A
                timeRange:
                  beginBoundedTimeRange:
                    from:
                      relativeTimeRange:
                        relativeTime: -12h
            - sumoSearchPanel:
                key: metrics-panel-01
                title: Api 5xx Response Count
                description: Count of 5xx response from api service
                visualSettings:
                  fn::toJSON:
                    general:
                      mode: distribution
                      type: pie
                      displayType: default
                      fillOpacity: 1
                      startAngle: 270
                      innerRadius: 40%
                      maxNumOfSlices: 10
                      aggregationType: sum
                    title:
                      fontSize: 14
                keepVisualSettingsConsistentWithParent: true
                queries:
                  - queryString: _sourceCategory=api metric=Api-5xx
                    queryType: Metrics
                    queryKey: A
                    metricsQueryMode: Advanced
                timeRange:
                  beginBoundedTimeRange:
                    from:
                      literalTimeRange:
                        rangeName: today
            - sumoSearchPanel:
                key: metrics-panel-02
                title: CPU Utilization
                description: CPU utilization in api service
                visualSettings:
                  fn::toJSON:
                    general:
                      mode: timeSeries
                      type: line
                      displayType: smooth
                      markerSize: 5
                      lineDashType: dashDot
                      markerType: none
                      lineThickness: 1
                    title:
                      fontSize: 14
                keepVisualSettingsConsistentWithParent: true
                queries:
                  - queryString: metric=Proc_CPU nite-api-1
                    queryType: Metrics
                    queryKey: A
                    metricsQueryMode: Basic
                    metricsQueryData:
                      metric: Proc_CPU
                      filters:
                        - key: _sourcehost
                          negation: false
                          value: nite-api-1
                      aggregationType: None
                  - queryString: metric=Proc_CPU nite-api-2
                    queryType: Metrics
                    queryKey: B
                    metricsQueryMode: Basic
                    metricsQueryData:
                      metric: Proc_CPU
                      filters:
                        - key: _sourcehost
                          negation: false
                          value: nite-api-2
                      aggregationType: None
                timeRange:
                  beginBoundedTimeRange:
                    from:
                      relativeTimeRange:
                        relativeTime: -1h
          layout:
            grid:
              layoutStructures:
                - key: text-panel-01
                  structure: '{"height":5,"width":24,"x":0,"y":0}'
                - key: search-panel-01
                  structure: '{"height":10,"width":12,"x":0,"y":5}'
                - key: metrics-panel-01
                  structure: '{"height":10,"width":12,"x":12,"y":5}'
                - key: metrics-panel-02
                  structure: '{"height":10,"width":24,"x":0,"y":25}'
          variables:
            - name: _sourceHost
              displayName: Source Host
              defaultValue: nite-api-1
              sourceDefinition:
                csvVariableSourceDefinition:
                  values: nite-api-1,nite-api-2
              allowMultiSelect: true
              includeAllOption: true
              hideFromUi: false
    variables:
      personalFolder:
        fn::invoke:
          Function: sumologic:getPersonalFolder
          Arguments: {}
    

    Attributes reference

    In addition to all arguments above, the following attributes are exported:

    • id - The ID of the dashboard.

    Schema for topology_label_map

    • data - (Block List, Required) A list of blocks containing label and it’s values.
      • label - (Required) The name of the topology label.
      • values - (Required) The values for the topology label.

    Schema for time_range

    • complete_literal_time_range - (Block List, Max: 1, Optional) Literal time range. See complete_literal_time_range schema for details.
    • begin_bounded_time_range - (Block List, Max: 1, Optional) Bounded time range. See begin_bounded_time_range schema schema for details. schema for details.

    Schema for complete_literal_time_range

    • range_name - (Required) Name of complete literal time range. One of today, yesterday, previous_week, previous_month.

    Schema for begin_bounded_time_range

    • from - (Block List, Max: 1, Required) Start boundary of bounded time range. See time_range_boundary schema for details.
    • to - (Block List, Max: 1, Optional) End boundary of bounded time range. See time_range_boundary schema for details.

    Schema for time_range_boundary

    • epoch_time_range - (Block List, Optional) Time since the epoch.

      • epoch_millis - (Required) Time as a number of milliseconds since the epoch.
    • iso8601_time_range - (Block List, Optional) Time in ISO 8601 format.

      • iso8601_time - (Required) Time as a string in ISO 8601 format.
    • relative_time_range - (Block List, Optional) Time in relative format.

      • relative_time - (Required) Relative time as a string consists of following elements:

        1. - (optional): minus sign indicates time in the past,
        2. <number>: number of time units,
        3. <time_unit>: time unit; possible values are: w (week), d (day), h (hour), m (minute), s (second).

        Multiple pairs of <number><time_unit> may be provided, and they may be in any order. For example, -2w5d3h points to the moment in time 2 weeks, 5 days and 3 hours ago.

    • literal_time_range - (Block List, Optional) Time in literal format.

      • range_name - (Required) One of now, second, minute, hour, day, today, week, month, year.

    Schema for panel

    • text_panel - (Block List, Max: 1, Optional) A text panel. See text_panel schema for details.
    • sumo_search_panel - (Block List, Max: 1, Optional) A search panel. See sumo_search_panel schema for details.

    Schema for text_panel

    • key - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout of the panel in the dashboard.
    • title - (Optional) Title of the panel.
    • visual_settings - (Optional) Visual settings of the panel.
    • keep_visual_settings_consistent_with_parent - (Optional) Keeps the visual settings, like series colors, consistent with the settings of the parent panel.
    • text - (Required) Text to display in the panel.

    Schema for sumo_search_panel

    • key - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout of the panel in the dashboard.
    • title - (Optional) Title of the panel.
    • visual_settings - (Optional) Visual settings of the panel.
    • keep_visual_settings_consistent_with_parent - (Optional) Keeps the visual settings, like series colors, consistent with the settings of the parent panel.
    • query - (Block List, Required) A list of queries for the panel. Can be log or metric query. See query schema for details.
    • description - (Optional) Description of the panel.
    • time_range - (Block List, Max: 1, Optional) Time range of the panel. See time_range schema for details.
    • linked_dashboard - (Block List, Optional) A list of linked dashboards. See linked_dashboard schema for details.

    Schema for query

    • query_string - (Required) The metrics or logs query.
    • query_type - (Required) The type of the query. One of Metrics or Logs.
    • query_key - (Required) The key for metric or log query. Used as an identifier for queries.
    • metric_query_mode - (Optional) Should only be specified for metric query. The mode of the metric query. One of Basic or Advanced.
    • metric_query_data - (Optional) Should only be specified for metric query. Data format for the metric query. See metric_query_data schema for details.
    • parse_mode - (Optional) This field only applies for queryType of Logs but other query types may be supported in the future. Define the parsing mode to scan the JSON format log messages. Possible values are: 1. Auto 2. Manual In AutoParse mode, the system automatically figures out fields to parse based on the search query. While in the Manual mode, no fields are parsed out automatically. For more information see Dynamic Parsing.
    • time_source - This field only applies for queryType of Logs but other query types may be supported in the future. Define the time source of this query. Possible values are Message and Receipt. Message will use the timeStamp on the message, while Receipt will use the timestamp it was received by Sumo.
    • transient - (Optional) This field only applies for queryType of Metrics but other query types may be supported in the future. Determines if the row should be returned in the response. Can be used in conjunction with a join, if only the result of the join is needed, and not the intermediate rows. Setting transient to true wherever the intermediate results aren’t required speeds up the computation and reduces the amount of data transferred over the network.
    • output_cardinality_limit - (Optional) This field only applies for queryType of Metrics but other query types may be supported in the future. Specifies the output cardinality limitations for the query, which is the maximum number of timeseries returned in the result.

    Schema for metric_query_data

    • metric - (Required) The metric of the query.
    • aggregation_type - (Optional) The type of aggregation. One of Count, Minimum, Maximum, Sum, Average, None.
    • group_by - The field to group the results by.
    • filter - (Block List, Required) A list of filters for the metrics query.
      • key - (Required) The key of the metrics filter.
      • value - (Required) The value of the metrics filter.
      • negation - (Optional) Whether or not the metrics filter is negated.
    • operator - (Block List, Optional) A list of operator data for the metrics query.

    Schema for operator

    • operator_name - (Required) The name of the metrics operator.
    • parameter - (Block List, Required) A list of operator parameters for the operator data.
      • key - (Required) The key of the operator parameter.
      • value - (Required) The value of the operator parameter.

    Schema for linked_dashboard

    • id - (Required) Identifier of the linked dashboard.
    • relative_path - (Optional) Relative path of the linked dashboard to the dashboard of the linking panel.
    • include_time_range - (Optional) Include time range from the current dashboard to the linked dashboard. Defaults to true.
    • include_variables - (Optional) Include variables from the current dashboard to the linked dashboard. Defaults to true.

    Schema for layout

    • grid - (Block List, Max: 1, Optional) Panel layout for the dashboard.

    Schema for grid

    • layout_structure - (Block List, Required) Layout structure for the panels in the dashboard.
      • key - (Required) The identifier of the panel that this structure applies to. It’s same as panel.key.
      • structure - (Required) The structure of the panel.

    Schema for variable

    • name - (Required) Name of the variable. The variable name is case-insensitive.
    • display_name - (Optional) Display name of the variable shown in the UI. If this field is empty, the name field will be used.
    • default_value - (Optional) Default value of the variable.
    • source_definition - (Required) Source definition for variable values. See source_definition schema for details.
    • allow_multi_select - (Optional) Allow multiple selections in the values dropdown.
    • include_all_option - (Optional) Include an “All” option at the top of the variable’s values dropdown. Defaults to true.
    • hide_from_ui - (Optional) Hide the variable in the dashboard UI.

    Schema for source_definition

    • log_query_variable_source_definition - (Optional) Variable values from a log query.
      • query - (Required) A log query.
      • field - (Required) A field in log query to populate the variable values
    • metadata_variable_source_definition - (Optional) Variable values from a metric query.
      • filter - (Required) Filter to search the catalog.
      • key - (Required) Return the values for this given key.
    • csv_variable_source_definition - (Optional) Variable values in csv format.
      • values - (Required) A comma separated values for the variable.

    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: DashboardArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def Dashboard(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  time_range: Optional[DashboardTimeRangeArgs] = None,
                  title: Optional[str] = None,
                  coloring_rules: Optional[Sequence[DashboardColoringRuleArgs]] = None,
                  description: Optional[str] = None,
                  domain: Optional[str] = None,
                  folder_id: Optional[str] = None,
                  layout: Optional[DashboardLayoutArgs] = None,
                  panels: Optional[Sequence[DashboardPanelArgs]] = None,
                  refresh_interval: Optional[int] = None,
                  theme: Optional[str] = None,
                  topology_label_map: Optional[DashboardTopologyLabelMapArgs] = None,
                  variables: Optional[Sequence[DashboardVariableArgs]] = None)
    func NewDashboard(ctx *Context, name string, args DashboardArgs, opts ...ResourceOption) (*Dashboard, error)
    public Dashboard(string name, DashboardArgs args, CustomResourceOptions? opts = null)
    public Dashboard(String name, DashboardArgs args)
    public Dashboard(String name, DashboardArgs args, CustomResourceOptions options)
    
    type: sumologic: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.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var dashboardResource = new SumoLogic.Dashboard("dashboardResource", new()
    {
        TimeRange = new SumoLogic.Inputs.DashboardTimeRangeArgs
        {
            BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs
            {
                From = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs
                {
                    EpochTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs
                    {
                        EpochMillis = 0,
                    },
                    Iso8601TimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs
                    {
                        Iso8601Time = "string",
                    },
                    LiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs
                    {
                        RangeName = "string",
                    },
                    RelativeTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs
                    {
                        RelativeTime = "string",
                    },
                },
                To = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeToArgs
                {
                    EpochTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs
                    {
                        EpochMillis = 0,
                    },
                    Iso8601TimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs
                    {
                        Iso8601Time = "string",
                    },
                    LiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs
                    {
                        RangeName = "string",
                    },
                    RelativeTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs
                    {
                        RelativeTime = "string",
                    },
                },
            },
            CompleteLiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeCompleteLiteralTimeRangeArgs
            {
                RangeName = "string",
            },
        },
        Title = "string",
        ColoringRules = new[]
        {
            new SumoLogic.Inputs.DashboardColoringRuleArgs
            {
                MultipleSeriesAggregateFunction = "string",
                Scope = "string",
                SingleSeriesAggregateFunction = "string",
                ColorThresholds = new[]
                {
                    new SumoLogic.Inputs.DashboardColoringRuleColorThresholdArgs
                    {
                        Color = "string",
                        Max = 0,
                        Min = 0,
                    },
                },
            },
        },
        Description = "string",
        Domain = "string",
        FolderId = "string",
        Layout = new SumoLogic.Inputs.DashboardLayoutArgs
        {
            Grid = new SumoLogic.Inputs.DashboardLayoutGridArgs
            {
                LayoutStructures = new[]
                {
                    new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs
                    {
                        Key = "string",
                        Structure = "string",
                    },
                },
            },
        },
        Panels = new[]
        {
            new SumoLogic.Inputs.DashboardPanelArgs
            {
                ServiceMapPanel = new SumoLogic.Inputs.DashboardPanelServiceMapPanelArgs
                {
                    Key = "string",
                    Application = "string",
                    Environment = "string",
                    Id = "string",
                    KeepVisualSettingsConsistentWithParent = false,
                    Service = "string",
                    ShowRemoteServices = false,
                    Title = "string",
                    VisualSettings = "string",
                },
                SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs
                {
                    Key = "string",
                    ColoringRule = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelColoringRuleArgs
                    {
                        MultipleSeriesAggregateFunction = "string",
                        Scope = "string",
                        SingleSeriesAggregateFunction = "string",
                        ColorThresholds = new[]
                        {
                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelColoringRuleColorThresholdArgs
                            {
                                Color = "string",
                                Max = 0,
                                Min = 0,
                            },
                        },
                    },
                    Description = "string",
                    Id = "string",
                    KeepVisualSettingsConsistentWithParent = false,
                    LinkedDashboard = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelLinkedDashboardArgs
                    {
                        Id = "string",
                        IncludeTimeRange = false,
                        IncludeVariables = false,
                        RelativePath = "string",
                    },
                    Queries = new[]
                    {
                        new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs
                        {
                            QueryKey = "string",
                            QueryString = "string",
                            QueryType = "string",
                            MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs
                            {
                                Filters = new[]
                                {
                                    new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs
                                    {
                                        Key = "string",
                                        Value = "string",
                                        Negation = false,
                                    },
                                },
                                Metric = "string",
                                AggregationType = "string",
                                GroupBy = "string",
                                Operators = new[]
                                {
                                    new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArgs
                                    {
                                        OperatorName = "string",
                                        Parameters = new[]
                                        {
                                            new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArgs
                                            {
                                                Key = "string",
                                                Value = "string",
                                            },
                                        },
                                    },
                                },
                            },
                            MetricsQueryMode = "string",
                            OutputCardinalityLimit = 0,
                            ParseMode = "string",
                            TimeSource = "string",
                            Transient = false,
                        },
                    },
                    TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs
                    {
                        BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs
                        {
                            From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs
                            {
                                EpochTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs
                                {
                                    EpochMillis = 0,
                                },
                                Iso8601TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs
                                {
                                    Iso8601Time = "string",
                                },
                                LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs
                                {
                                    RangeName = "string",
                                },
                                RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs
                                {
                                    RelativeTime = "string",
                                },
                            },
                            To = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToArgs
                            {
                                EpochTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs
                                {
                                    EpochMillis = 0,
                                },
                                Iso8601TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs
                                {
                                    Iso8601Time = "string",
                                },
                                LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs
                                {
                                    RangeName = "string",
                                },
                                RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs
                                {
                                    RelativeTime = "string",
                                },
                            },
                        },
                        CompleteLiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRangeArgs
                        {
                            RangeName = "string",
                        },
                    },
                    Title = "string",
                    VisualSettings = "string",
                },
                TextPanel = new SumoLogic.Inputs.DashboardPanelTextPanelArgs
                {
                    Key = "string",
                    Id = "string",
                    KeepVisualSettingsConsistentWithParent = false,
                    Text = "string",
                    Title = "string",
                    VisualSettings = "string",
                },
                TracesListPanel = new SumoLogic.Inputs.DashboardPanelTracesListPanelArgs
                {
                    Key = "string",
                    Id = "string",
                    KeepVisualSettingsConsistentWithParent = false,
                    Queries = new[]
                    {
                        new SumoLogic.Inputs.DashboardPanelTracesListPanelQueryArgs
                        {
                            QueryKey = "string",
                            QueryString = "string",
                            QueryType = "string",
                            MetricsQueryData = new SumoLogic.Inputs.DashboardPanelTracesListPanelQueryMetricsQueryDataArgs
                            {
                                Filters = new[]
                                {
                                    new SumoLogic.Inputs.DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArgs
                                    {
                                        Key = "string",
                                        Value = "string",
                                        Negation = false,
                                    },
                                },
                                Metric = "string",
                                AggregationType = "string",
                                GroupBy = "string",
                                Operators = new[]
                                {
                                    new SumoLogic.Inputs.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArgs
                                    {
                                        OperatorName = "string",
                                        Parameters = new[]
                                        {
                                            new SumoLogic.Inputs.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArgs
                                            {
                                                Key = "string",
                                                Value = "string",
                                            },
                                        },
                                    },
                                },
                            },
                            MetricsQueryMode = "string",
                            OutputCardinalityLimit = 0,
                            ParseMode = "string",
                            TimeSource = "string",
                            Transient = false,
                        },
                    },
                    TimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeArgs
                    {
                        BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeArgs
                        {
                            From = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromArgs
                            {
                                EpochTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs
                                {
                                    EpochMillis = 0,
                                },
                                Iso8601TimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs
                                {
                                    Iso8601Time = "string",
                                },
                                LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs
                                {
                                    RangeName = "string",
                                },
                                RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs
                                {
                                    RelativeTime = "string",
                                },
                            },
                            To = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToArgs
                            {
                                EpochTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs
                                {
                                    EpochMillis = 0,
                                },
                                Iso8601TimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs
                                {
                                    Iso8601Time = "string",
                                },
                                LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs
                                {
                                    RangeName = "string",
                                },
                                RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs
                                {
                                    RelativeTime = "string",
                                },
                            },
                        },
                        CompleteLiteralTimeRange = new SumoLogic.Inputs.DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRangeArgs
                        {
                            RangeName = "string",
                        },
                    },
                    Title = "string",
                    VisualSettings = "string",
                },
            },
        },
        RefreshInterval = 0,
        Theme = "string",
        TopologyLabelMap = new SumoLogic.Inputs.DashboardTopologyLabelMapArgs
        {
            Datas = new[]
            {
                new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs
                {
                    Label = "string",
                    Values = new[]
                    {
                        "string",
                    },
                },
            },
        },
        Variables = new[]
        {
            new SumoLogic.Inputs.DashboardVariableArgs
            {
                Name = "string",
                SourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionArgs
                {
                    CsvVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs
                    {
                        Values = "string",
                    },
                    LogQueryVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionLogQueryVariableSourceDefinitionArgs
                    {
                        Field = "string",
                        Query = "string",
                    },
                    MetadataVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionMetadataVariableSourceDefinitionArgs
                    {
                        Filter = "string",
                        Key = "string",
                    },
                },
                AllowMultiSelect = false,
                DefaultValue = "string",
                DisplayName = "string",
                HideFromUi = false,
                Id = "string",
                IncludeAllOption = false,
            },
        },
    });
    
    example, err := sumologic.NewDashboard(ctx, "dashboardResource", &sumologic.DashboardArgs{
    	TimeRange: &sumologic.DashboardTimeRangeArgs{
    		BeginBoundedTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs{
    			From: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs{
    				EpochTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{
    					EpochMillis: pulumi.Int(0),
    				},
    				Iso8601TimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{
    					Iso8601Time: pulumi.String("string"),
    				},
    				LiteralTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{
    					RangeName: pulumi.String("string"),
    				},
    				RelativeTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{
    					RelativeTime: pulumi.String("string"),
    				},
    			},
    			To: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeToArgs{
    				EpochTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{
    					EpochMillis: pulumi.Int(0),
    				},
    				Iso8601TimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{
    					Iso8601Time: pulumi.String("string"),
    				},
    				LiteralTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{
    					RangeName: pulumi.String("string"),
    				},
    				RelativeTimeRange: &sumologic.DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{
    					RelativeTime: pulumi.String("string"),
    				},
    			},
    		},
    		CompleteLiteralTimeRange: &sumologic.DashboardTimeRangeCompleteLiteralTimeRangeArgs{
    			RangeName: pulumi.String("string"),
    		},
    	},
    	Title: pulumi.String("string"),
    	ColoringRules: sumologic.DashboardColoringRuleArray{
    		&sumologic.DashboardColoringRuleArgs{
    			MultipleSeriesAggregateFunction: pulumi.String("string"),
    			Scope:                           pulumi.String("string"),
    			SingleSeriesAggregateFunction:   pulumi.String("string"),
    			ColorThresholds: sumologic.DashboardColoringRuleColorThresholdArray{
    				&sumologic.DashboardColoringRuleColorThresholdArgs{
    					Color: pulumi.String("string"),
    					Max:   pulumi.Float64(0),
    					Min:   pulumi.Float64(0),
    				},
    			},
    		},
    	},
    	Description: pulumi.String("string"),
    	Domain:      pulumi.String("string"),
    	FolderId:    pulumi.String("string"),
    	Layout: &sumologic.DashboardLayoutArgs{
    		Grid: &sumologic.DashboardLayoutGridArgs{
    			LayoutStructures: sumologic.DashboardLayoutGridLayoutStructureArray{
    				&sumologic.DashboardLayoutGridLayoutStructureArgs{
    					Key:       pulumi.String("string"),
    					Structure: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Panels: sumologic.DashboardPanelArray{
    		&sumologic.DashboardPanelArgs{
    			ServiceMapPanel: &sumologic.DashboardPanelServiceMapPanelArgs{
    				Key:                                    pulumi.String("string"),
    				Application:                            pulumi.String("string"),
    				Environment:                            pulumi.String("string"),
    				Id:                                     pulumi.String("string"),
    				KeepVisualSettingsConsistentWithParent: pulumi.Bool(false),
    				Service:                                pulumi.String("string"),
    				ShowRemoteServices:                     pulumi.Bool(false),
    				Title:                                  pulumi.String("string"),
    				VisualSettings:                         pulumi.String("string"),
    			},
    			SumoSearchPanel: &sumologic.DashboardPanelSumoSearchPanelArgs{
    				Key: pulumi.String("string"),
    				ColoringRule: &sumologic.DashboardPanelSumoSearchPanelColoringRuleArgs{
    					MultipleSeriesAggregateFunction: pulumi.String("string"),
    					Scope:                           pulumi.String("string"),
    					SingleSeriesAggregateFunction:   pulumi.String("string"),
    					ColorThresholds: sumologic.DashboardPanelSumoSearchPanelColoringRuleColorThresholdArray{
    						&sumologic.DashboardPanelSumoSearchPanelColoringRuleColorThresholdArgs{
    							Color: pulumi.String("string"),
    							Max:   pulumi.Float64(0),
    							Min:   pulumi.Float64(0),
    						},
    					},
    				},
    				Description:                            pulumi.String("string"),
    				Id:                                     pulumi.String("string"),
    				KeepVisualSettingsConsistentWithParent: pulumi.Bool(false),
    				LinkedDashboard: &sumologic.DashboardPanelSumoSearchPanelLinkedDashboardArgs{
    					Id:               pulumi.String("string"),
    					IncludeTimeRange: pulumi.Bool(false),
    					IncludeVariables: pulumi.Bool(false),
    					RelativePath:     pulumi.String("string"),
    				},
    				Queries: sumologic.DashboardPanelSumoSearchPanelQueryArray{
    					&sumologic.DashboardPanelSumoSearchPanelQueryArgs{
    						QueryKey:    pulumi.String("string"),
    						QueryString: pulumi.String("string"),
    						QueryType:   pulumi.String("string"),
    						MetricsQueryData: &sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{
    							Filters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{
    								&sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{
    									Key:      pulumi.String("string"),
    									Value:    pulumi.String("string"),
    									Negation: pulumi.Bool(false),
    								},
    							},
    							Metric:          pulumi.String("string"),
    							AggregationType: pulumi.String("string"),
    							GroupBy:         pulumi.String("string"),
    							Operators: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArray{
    								&sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArgs{
    									OperatorName: pulumi.String("string"),
    									Parameters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArray{
    										&sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArgs{
    											Key:   pulumi.String("string"),
    											Value: pulumi.String("string"),
    										},
    									},
    								},
    							},
    						},
    						MetricsQueryMode:       pulumi.String("string"),
    						OutputCardinalityLimit: pulumi.Int(0),
    						ParseMode:              pulumi.String("string"),
    						TimeSource:             pulumi.String("string"),
    						Transient:              pulumi.Bool(false),
    					},
    				},
    				TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{
    					BeginBoundedTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{
    						From: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{
    							EpochTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{
    								EpochMillis: pulumi.Int(0),
    							},
    							Iso8601TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{
    								Iso8601Time: pulumi.String("string"),
    							},
    							LiteralTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{
    								RangeName: pulumi.String("string"),
    							},
    							RelativeTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{
    								RelativeTime: pulumi.String("string"),
    							},
    						},
    						To: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToArgs{
    							EpochTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{
    								EpochMillis: pulumi.Int(0),
    							},
    							Iso8601TimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{
    								Iso8601Time: pulumi.String("string"),
    							},
    							LiteralTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{
    								RangeName: pulumi.String("string"),
    							},
    							RelativeTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{
    								RelativeTime: pulumi.String("string"),
    							},
    						},
    					},
    					CompleteLiteralTimeRange: &sumologic.DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRangeArgs{
    						RangeName: pulumi.String("string"),
    					},
    				},
    				Title:          pulumi.String("string"),
    				VisualSettings: pulumi.String("string"),
    			},
    			TextPanel: &sumologic.DashboardPanelTextPanelArgs{
    				Key:                                    pulumi.String("string"),
    				Id:                                     pulumi.String("string"),
    				KeepVisualSettingsConsistentWithParent: pulumi.Bool(false),
    				Text:                                   pulumi.String("string"),
    				Title:                                  pulumi.String("string"),
    				VisualSettings:                         pulumi.String("string"),
    			},
    			TracesListPanel: &sumologic.DashboardPanelTracesListPanelArgs{
    				Key:                                    pulumi.String("string"),
    				Id:                                     pulumi.String("string"),
    				KeepVisualSettingsConsistentWithParent: pulumi.Bool(false),
    				Queries: sumologic.DashboardPanelTracesListPanelQueryArray{
    					&sumologic.DashboardPanelTracesListPanelQueryArgs{
    						QueryKey:    pulumi.String("string"),
    						QueryString: pulumi.String("string"),
    						QueryType:   pulumi.String("string"),
    						MetricsQueryData: &sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataArgs{
    							Filters: sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArray{
    								&sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArgs{
    									Key:      pulumi.String("string"),
    									Value:    pulumi.String("string"),
    									Negation: pulumi.Bool(false),
    								},
    							},
    							Metric:          pulumi.String("string"),
    							AggregationType: pulumi.String("string"),
    							GroupBy:         pulumi.String("string"),
    							Operators: sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArray{
    								&sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArgs{
    									OperatorName: pulumi.String("string"),
    									Parameters: sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArray{
    										&sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArgs{
    											Key:   pulumi.String("string"),
    											Value: pulumi.String("string"),
    										},
    									},
    								},
    							},
    						},
    						MetricsQueryMode:       pulumi.String("string"),
    						OutputCardinalityLimit: pulumi.Int(0),
    						ParseMode:              pulumi.String("string"),
    						TimeSource:             pulumi.String("string"),
    						Transient:              pulumi.Bool(false),
    					},
    				},
    				TimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeArgs{
    					BeginBoundedTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeArgs{
    						From: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromArgs{
    							EpochTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{
    								EpochMillis: pulumi.Int(0),
    							},
    							Iso8601TimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{
    								Iso8601Time: pulumi.String("string"),
    							},
    							LiteralTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{
    								RangeName: pulumi.String("string"),
    							},
    							RelativeTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{
    								RelativeTime: pulumi.String("string"),
    							},
    						},
    						To: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToArgs{
    							EpochTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{
    								EpochMillis: pulumi.Int(0),
    							},
    							Iso8601TimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{
    								Iso8601Time: pulumi.String("string"),
    							},
    							LiteralTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{
    								RangeName: pulumi.String("string"),
    							},
    							RelativeTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{
    								RelativeTime: pulumi.String("string"),
    							},
    						},
    					},
    					CompleteLiteralTimeRange: &sumologic.DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRangeArgs{
    						RangeName: pulumi.String("string"),
    					},
    				},
    				Title:          pulumi.String("string"),
    				VisualSettings: pulumi.String("string"),
    			},
    		},
    	},
    	RefreshInterval: pulumi.Int(0),
    	Theme:           pulumi.String("string"),
    	TopologyLabelMap: &sumologic.DashboardTopologyLabelMapArgs{
    		Datas: sumologic.DashboardTopologyLabelMapDataArray{
    			&sumologic.DashboardTopologyLabelMapDataArgs{
    				Label: pulumi.String("string"),
    				Values: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Variables: sumologic.DashboardVariableArray{
    		&sumologic.DashboardVariableArgs{
    			Name: pulumi.String("string"),
    			SourceDefinition: &sumologic.DashboardVariableSourceDefinitionArgs{
    				CsvVariableSourceDefinition: &sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs{
    					Values: pulumi.String("string"),
    				},
    				LogQueryVariableSourceDefinition: &sumologic.DashboardVariableSourceDefinitionLogQueryVariableSourceDefinitionArgs{
    					Field: pulumi.String("string"),
    					Query: pulumi.String("string"),
    				},
    				MetadataVariableSourceDefinition: &sumologic.DashboardVariableSourceDefinitionMetadataVariableSourceDefinitionArgs{
    					Filter: pulumi.String("string"),
    					Key:    pulumi.String("string"),
    				},
    			},
    			AllowMultiSelect: pulumi.Bool(false),
    			DefaultValue:     pulumi.String("string"),
    			DisplayName:      pulumi.String("string"),
    			HideFromUi:       pulumi.Bool(false),
    			Id:               pulumi.String("string"),
    			IncludeAllOption: pulumi.Bool(false),
    		},
    	},
    })
    
    var dashboardResource = new Dashboard("dashboardResource", DashboardArgs.builder()
        .timeRange(DashboardTimeRangeArgs.builder()
            .beginBoundedTimeRange(DashboardTimeRangeBeginBoundedTimeRangeArgs.builder()
                .from(DashboardTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                    .epochTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.builder()
                        .epochMillis(0)
                        .build())
                    .iso8601TimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.builder()
                        .iso8601Time("string")
                        .build())
                    .literalTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()
                        .rangeName("string")
                        .build())
                    .relativeTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()
                        .relativeTime("string")
                        .build())
                    .build())
                .to(DashboardTimeRangeBeginBoundedTimeRangeToArgs.builder()
                    .epochTimeRange(DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.builder()
                        .epochMillis(0)
                        .build())
                    .iso8601TimeRange(DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.builder()
                        .iso8601Time("string")
                        .build())
                    .literalTimeRange(DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.builder()
                        .rangeName("string")
                        .build())
                    .relativeTimeRange(DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.builder()
                        .relativeTime("string")
                        .build())
                    .build())
                .build())
            .completeLiteralTimeRange(DashboardTimeRangeCompleteLiteralTimeRangeArgs.builder()
                .rangeName("string")
                .build())
            .build())
        .title("string")
        .coloringRules(DashboardColoringRuleArgs.builder()
            .multipleSeriesAggregateFunction("string")
            .scope("string")
            .singleSeriesAggregateFunction("string")
            .colorThresholds(DashboardColoringRuleColorThresholdArgs.builder()
                .color("string")
                .max(0)
                .min(0)
                .build())
            .build())
        .description("string")
        .domain("string")
        .folderId("string")
        .layout(DashboardLayoutArgs.builder()
            .grid(DashboardLayoutGridArgs.builder()
                .layoutStructures(DashboardLayoutGridLayoutStructureArgs.builder()
                    .key("string")
                    .structure("string")
                    .build())
                .build())
            .build())
        .panels(DashboardPanelArgs.builder()
            .serviceMapPanel(DashboardPanelServiceMapPanelArgs.builder()
                .key("string")
                .application("string")
                .environment("string")
                .id("string")
                .keepVisualSettingsConsistentWithParent(false)
                .service("string")
                .showRemoteServices(false)
                .title("string")
                .visualSettings("string")
                .build())
            .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()
                .key("string")
                .coloringRule(DashboardPanelSumoSearchPanelColoringRuleArgs.builder()
                    .multipleSeriesAggregateFunction("string")
                    .scope("string")
                    .singleSeriesAggregateFunction("string")
                    .colorThresholds(DashboardPanelSumoSearchPanelColoringRuleColorThresholdArgs.builder()
                        .color("string")
                        .max(0)
                        .min(0)
                        .build())
                    .build())
                .description("string")
                .id("string")
                .keepVisualSettingsConsistentWithParent(false)
                .linkedDashboard(DashboardPanelSumoSearchPanelLinkedDashboardArgs.builder()
                    .id("string")
                    .includeTimeRange(false)
                    .includeVariables(false)
                    .relativePath("string")
                    .build())
                .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()
                    .queryKey("string")
                    .queryString("string")
                    .queryType("string")
                    .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()
                        .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()
                            .key("string")
                            .value("string")
                            .negation(false)
                            .build())
                        .metric("string")
                        .aggregationType("string")
                        .groupBy("string")
                        .operators(DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArgs.builder()
                            .operatorName("string")
                            .parameters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArgs.builder()
                                .key("string")
                                .value("string")
                                .build())
                            .build())
                        .build())
                    .metricsQueryMode("string")
                    .outputCardinalityLimit(0)
                    .parseMode("string")
                    .timeSource("string")
                    .transient_(false)
                    .build())
                .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()
                    .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()
                        .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                            .epochTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.builder()
                                .epochMillis(0)
                                .build())
                            .iso8601TimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.builder()
                                .iso8601Time("string")
                                .build())
                            .literalTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()
                                .rangeName("string")
                                .build())
                            .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()
                                .relativeTime("string")
                                .build())
                            .build())
                        .to(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToArgs.builder()
                            .epochTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.builder()
                                .epochMillis(0)
                                .build())
                            .iso8601TimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.builder()
                                .iso8601Time("string")
                                .build())
                            .literalTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.builder()
                                .rangeName("string")
                                .build())
                            .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.builder()
                                .relativeTime("string")
                                .build())
                            .build())
                        .build())
                    .completeLiteralTimeRange(DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRangeArgs.builder()
                        .rangeName("string")
                        .build())
                    .build())
                .title("string")
                .visualSettings("string")
                .build())
            .textPanel(DashboardPanelTextPanelArgs.builder()
                .key("string")
                .id("string")
                .keepVisualSettingsConsistentWithParent(false)
                .text("string")
                .title("string")
                .visualSettings("string")
                .build())
            .tracesListPanel(DashboardPanelTracesListPanelArgs.builder()
                .key("string")
                .id("string")
                .keepVisualSettingsConsistentWithParent(false)
                .queries(DashboardPanelTracesListPanelQueryArgs.builder()
                    .queryKey("string")
                    .queryString("string")
                    .queryType("string")
                    .metricsQueryData(DashboardPanelTracesListPanelQueryMetricsQueryDataArgs.builder()
                        .filters(DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArgs.builder()
                            .key("string")
                            .value("string")
                            .negation(false)
                            .build())
                        .metric("string")
                        .aggregationType("string")
                        .groupBy("string")
                        .operators(DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArgs.builder()
                            .operatorName("string")
                            .parameters(DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArgs.builder()
                                .key("string")
                                .value("string")
                                .build())
                            .build())
                        .build())
                    .metricsQueryMode("string")
                    .outputCardinalityLimit(0)
                    .parseMode("string")
                    .timeSource("string")
                    .transient_(false)
                    .build())
                .timeRange(DashboardPanelTracesListPanelTimeRangeArgs.builder()
                    .beginBoundedTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeArgs.builder()
                        .from(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()
                            .epochTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.builder()
                                .epochMillis(0)
                                .build())
                            .iso8601TimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.builder()
                                .iso8601Time("string")
                                .build())
                            .literalTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()
                                .rangeName("string")
                                .build())
                            .relativeTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()
                                .relativeTime("string")
                                .build())
                            .build())
                        .to(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToArgs.builder()
                            .epochTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.builder()
                                .epochMillis(0)
                                .build())
                            .iso8601TimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.builder()
                                .iso8601Time("string")
                                .build())
                            .literalTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.builder()
                                .rangeName("string")
                                .build())
                            .relativeTimeRange(DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.builder()
                                .relativeTime("string")
                                .build())
                            .build())
                        .build())
                    .completeLiteralTimeRange(DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRangeArgs.builder()
                        .rangeName("string")
                        .build())
                    .build())
                .title("string")
                .visualSettings("string")
                .build())
            .build())
        .refreshInterval(0)
        .theme("string")
        .topologyLabelMap(DashboardTopologyLabelMapArgs.builder()
            .datas(DashboardTopologyLabelMapDataArgs.builder()
                .label("string")
                .values("string")
                .build())
            .build())
        .variables(DashboardVariableArgs.builder()
            .name("string")
            .sourceDefinition(DashboardVariableSourceDefinitionArgs.builder()
                .csvVariableSourceDefinition(DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs.builder()
                    .values("string")
                    .build())
                .logQueryVariableSourceDefinition(DashboardVariableSourceDefinitionLogQueryVariableSourceDefinitionArgs.builder()
                    .field("string")
                    .query("string")
                    .build())
                .metadataVariableSourceDefinition(DashboardVariableSourceDefinitionMetadataVariableSourceDefinitionArgs.builder()
                    .filter("string")
                    .key("string")
                    .build())
                .build())
            .allowMultiSelect(false)
            .defaultValue("string")
            .displayName("string")
            .hideFromUi(false)
            .id("string")
            .includeAllOption(false)
            .build())
        .build());
    
    dashboard_resource = sumologic.Dashboard("dashboardResource",
        time_range=sumologic.DashboardTimeRangeArgs(
            begin_bounded_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs(
                from_=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs(
                    epoch_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(
                        epoch_millis=0,
                    ),
                    iso8601_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(
                        iso8601_time="string",
                    ),
                    literal_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(
                        range_name="string",
                    ),
                    relative_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(
                        relative_time="string",
                    ),
                ),
                to=sumologic.DashboardTimeRangeBeginBoundedTimeRangeToArgs(
                    epoch_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(
                        epoch_millis=0,
                    ),
                    iso8601_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(
                        iso8601_time="string",
                    ),
                    literal_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(
                        range_name="string",
                    ),
                    relative_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(
                        relative_time="string",
                    ),
                ),
            ),
            complete_literal_time_range=sumologic.DashboardTimeRangeCompleteLiteralTimeRangeArgs(
                range_name="string",
            ),
        ),
        title="string",
        coloring_rules=[sumologic.DashboardColoringRuleArgs(
            multiple_series_aggregate_function="string",
            scope="string",
            single_series_aggregate_function="string",
            color_thresholds=[sumologic.DashboardColoringRuleColorThresholdArgs(
                color="string",
                max=0,
                min=0,
            )],
        )],
        description="string",
        domain="string",
        folder_id="string",
        layout=sumologic.DashboardLayoutArgs(
            grid=sumologic.DashboardLayoutGridArgs(
                layout_structures=[sumologic.DashboardLayoutGridLayoutStructureArgs(
                    key="string",
                    structure="string",
                )],
            ),
        ),
        panels=[sumologic.DashboardPanelArgs(
            service_map_panel=sumologic.DashboardPanelServiceMapPanelArgs(
                key="string",
                application="string",
                environment="string",
                id="string",
                keep_visual_settings_consistent_with_parent=False,
                service="string",
                show_remote_services=False,
                title="string",
                visual_settings="string",
            ),
            sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(
                key="string",
                coloring_rule=sumologic.DashboardPanelSumoSearchPanelColoringRuleArgs(
                    multiple_series_aggregate_function="string",
                    scope="string",
                    single_series_aggregate_function="string",
                    color_thresholds=[sumologic.DashboardPanelSumoSearchPanelColoringRuleColorThresholdArgs(
                        color="string",
                        max=0,
                        min=0,
                    )],
                ),
                description="string",
                id="string",
                keep_visual_settings_consistent_with_parent=False,
                linked_dashboard=sumologic.DashboardPanelSumoSearchPanelLinkedDashboardArgs(
                    id="string",
                    include_time_range=False,
                    include_variables=False,
                    relative_path="string",
                ),
                queries=[sumologic.DashboardPanelSumoSearchPanelQueryArgs(
                    query_key="string",
                    query_string="string",
                    query_type="string",
                    metrics_query_data=sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs(
                        filters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs(
                            key="string",
                            value="string",
                            negation=False,
                        )],
                        metric="string",
                        aggregation_type="string",
                        group_by="string",
                        operators=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArgs(
                            operator_name="string",
                            parameters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArgs(
                                key="string",
                                value="string",
                            )],
                        )],
                    ),
                    metrics_query_mode="string",
                    output_cardinality_limit=0,
                    parse_mode="string",
                    time_source="string",
                    transient=False,
                )],
                time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(
                    begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(
                        from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(
                            epoch_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(
                                epoch_millis=0,
                            ),
                            iso8601_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(
                                iso8601_time="string",
                            ),
                            literal_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(
                                range_name="string",
                            ),
                            relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(
                                relative_time="string",
                            ),
                        ),
                        to=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToArgs(
                            epoch_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(
                                epoch_millis=0,
                            ),
                            iso8601_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(
                                iso8601_time="string",
                            ),
                            literal_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(
                                range_name="string",
                            ),
                            relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(
                                relative_time="string",
                            ),
                        ),
                    ),
                    complete_literal_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRangeArgs(
                        range_name="string",
                    ),
                ),
                title="string",
                visual_settings="string",
            ),
            text_panel=sumologic.DashboardPanelTextPanelArgs(
                key="string",
                id="string",
                keep_visual_settings_consistent_with_parent=False,
                text="string",
                title="string",
                visual_settings="string",
            ),
            traces_list_panel=sumologic.DashboardPanelTracesListPanelArgs(
                key="string",
                id="string",
                keep_visual_settings_consistent_with_parent=False,
                queries=[sumologic.DashboardPanelTracesListPanelQueryArgs(
                    query_key="string",
                    query_string="string",
                    query_type="string",
                    metrics_query_data=sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataArgs(
                        filters=[sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArgs(
                            key="string",
                            value="string",
                            negation=False,
                        )],
                        metric="string",
                        aggregation_type="string",
                        group_by="string",
                        operators=[sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArgs(
                            operator_name="string",
                            parameters=[sumologic.DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArgs(
                                key="string",
                                value="string",
                            )],
                        )],
                    ),
                    metrics_query_mode="string",
                    output_cardinality_limit=0,
                    parse_mode="string",
                    time_source="string",
                    transient=False,
                )],
                time_range=sumologic.DashboardPanelTracesListPanelTimeRangeArgs(
                    begin_bounded_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeArgs(
                        from_=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromArgs(
                            epoch_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(
                                epoch_millis=0,
                            ),
                            iso8601_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(
                                iso8601_time="string",
                            ),
                            literal_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(
                                range_name="string",
                            ),
                            relative_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(
                                relative_time="string",
                            ),
                        ),
                        to=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToArgs(
                            epoch_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(
                                epoch_millis=0,
                            ),
                            iso8601_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(
                                iso8601_time="string",
                            ),
                            literal_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(
                                range_name="string",
                            ),
                            relative_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(
                                relative_time="string",
                            ),
                        ),
                    ),
                    complete_literal_time_range=sumologic.DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRangeArgs(
                        range_name="string",
                    ),
                ),
                title="string",
                visual_settings="string",
            ),
        )],
        refresh_interval=0,
        theme="string",
        topology_label_map=sumologic.DashboardTopologyLabelMapArgs(
            datas=[sumologic.DashboardTopologyLabelMapDataArgs(
                label="string",
                values=["string"],
            )],
        ),
        variables=[sumologic.DashboardVariableArgs(
            name="string",
            source_definition=sumologic.DashboardVariableSourceDefinitionArgs(
                csv_variable_source_definition=sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs(
                    values="string",
                ),
                log_query_variable_source_definition=sumologic.DashboardVariableSourceDefinitionLogQueryVariableSourceDefinitionArgs(
                    field="string",
                    query="string",
                ),
                metadata_variable_source_definition=sumologic.DashboardVariableSourceDefinitionMetadataVariableSourceDefinitionArgs(
                    filter="string",
                    key="string",
                ),
            ),
            allow_multi_select=False,
            default_value="string",
            display_name="string",
            hide_from_ui=False,
            id="string",
            include_all_option=False,
        )])
    
    const dashboardResource = new sumologic.Dashboard("dashboardResource", {
        timeRange: {
            beginBoundedTimeRange: {
                from: {
                    epochTimeRange: {
                        epochMillis: 0,
                    },
                    iso8601TimeRange: {
                        iso8601Time: "string",
                    },
                    literalTimeRange: {
                        rangeName: "string",
                    },
                    relativeTimeRange: {
                        relativeTime: "string",
                    },
                },
                to: {
                    epochTimeRange: {
                        epochMillis: 0,
                    },
                    iso8601TimeRange: {
                        iso8601Time: "string",
                    },
                    literalTimeRange: {
                        rangeName: "string",
                    },
                    relativeTimeRange: {
                        relativeTime: "string",
                    },
                },
            },
            completeLiteralTimeRange: {
                rangeName: "string",
            },
        },
        title: "string",
        coloringRules: [{
            multipleSeriesAggregateFunction: "string",
            scope: "string",
            singleSeriesAggregateFunction: "string",
            colorThresholds: [{
                color: "string",
                max: 0,
                min: 0,
            }],
        }],
        description: "string",
        domain: "string",
        folderId: "string",
        layout: {
            grid: {
                layoutStructures: [{
                    key: "string",
                    structure: "string",
                }],
            },
        },
        panels: [{
            serviceMapPanel: {
                key: "string",
                application: "string",
                environment: "string",
                id: "string",
                keepVisualSettingsConsistentWithParent: false,
                service: "string",
                showRemoteServices: false,
                title: "string",
                visualSettings: "string",
            },
            sumoSearchPanel: {
                key: "string",
                coloringRule: {
                    multipleSeriesAggregateFunction: "string",
                    scope: "string",
                    singleSeriesAggregateFunction: "string",
                    colorThresholds: [{
                        color: "string",
                        max: 0,
                        min: 0,
                    }],
                },
                description: "string",
                id: "string",
                keepVisualSettingsConsistentWithParent: false,
                linkedDashboard: {
                    id: "string",
                    includeTimeRange: false,
                    includeVariables: false,
                    relativePath: "string",
                },
                queries: [{
                    queryKey: "string",
                    queryString: "string",
                    queryType: "string",
                    metricsQueryData: {
                        filters: [{
                            key: "string",
                            value: "string",
                            negation: false,
                        }],
                        metric: "string",
                        aggregationType: "string",
                        groupBy: "string",
                        operators: [{
                            operatorName: "string",
                            parameters: [{
                                key: "string",
                                value: "string",
                            }],
                        }],
                    },
                    metricsQueryMode: "string",
                    outputCardinalityLimit: 0,
                    parseMode: "string",
                    timeSource: "string",
                    transient: false,
                }],
                timeRange: {
                    beginBoundedTimeRange: {
                        from: {
                            epochTimeRange: {
                                epochMillis: 0,
                            },
                            iso8601TimeRange: {
                                iso8601Time: "string",
                            },
                            literalTimeRange: {
                                rangeName: "string",
                            },
                            relativeTimeRange: {
                                relativeTime: "string",
                            },
                        },
                        to: {
                            epochTimeRange: {
                                epochMillis: 0,
                            },
                            iso8601TimeRange: {
                                iso8601Time: "string",
                            },
                            literalTimeRange: {
                                rangeName: "string",
                            },
                            relativeTimeRange: {
                                relativeTime: "string",
                            },
                        },
                    },
                    completeLiteralTimeRange: {
                        rangeName: "string",
                    },
                },
                title: "string",
                visualSettings: "string",
            },
            textPanel: {
                key: "string",
                id: "string",
                keepVisualSettingsConsistentWithParent: false,
                text: "string",
                title: "string",
                visualSettings: "string",
            },
            tracesListPanel: {
                key: "string",
                id: "string",
                keepVisualSettingsConsistentWithParent: false,
                queries: [{
                    queryKey: "string",
                    queryString: "string",
                    queryType: "string",
                    metricsQueryData: {
                        filters: [{
                            key: "string",
                            value: "string",
                            negation: false,
                        }],
                        metric: "string",
                        aggregationType: "string",
                        groupBy: "string",
                        operators: [{
                            operatorName: "string",
                            parameters: [{
                                key: "string",
                                value: "string",
                            }],
                        }],
                    },
                    metricsQueryMode: "string",
                    outputCardinalityLimit: 0,
                    parseMode: "string",
                    timeSource: "string",
                    transient: false,
                }],
                timeRange: {
                    beginBoundedTimeRange: {
                        from: {
                            epochTimeRange: {
                                epochMillis: 0,
                            },
                            iso8601TimeRange: {
                                iso8601Time: "string",
                            },
                            literalTimeRange: {
                                rangeName: "string",
                            },
                            relativeTimeRange: {
                                relativeTime: "string",
                            },
                        },
                        to: {
                            epochTimeRange: {
                                epochMillis: 0,
                            },
                            iso8601TimeRange: {
                                iso8601Time: "string",
                            },
                            literalTimeRange: {
                                rangeName: "string",
                            },
                            relativeTimeRange: {
                                relativeTime: "string",
                            },
                        },
                    },
                    completeLiteralTimeRange: {
                        rangeName: "string",
                    },
                },
                title: "string",
                visualSettings: "string",
            },
        }],
        refreshInterval: 0,
        theme: "string",
        topologyLabelMap: {
            datas: [{
                label: "string",
                values: ["string"],
            }],
        },
        variables: [{
            name: "string",
            sourceDefinition: {
                csvVariableSourceDefinition: {
                    values: "string",
                },
                logQueryVariableSourceDefinition: {
                    field: "string",
                    query: "string",
                },
                metadataVariableSourceDefinition: {
                    filter: "string",
                    key: "string",
                },
            },
            allowMultiSelect: false,
            defaultValue: "string",
            displayName: "string",
            hideFromUi: false,
            id: "string",
            includeAllOption: false,
        }],
    });
    
    type: sumologic:Dashboard
    properties:
        coloringRules:
            - colorThresholds:
                - color: string
                  max: 0
                  min: 0
              multipleSeriesAggregateFunction: string
              scope: string
              singleSeriesAggregateFunction: string
        description: string
        domain: string
        folderId: string
        layout:
            grid:
                layoutStructures:
                    - key: string
                      structure: string
        panels:
            - serviceMapPanel:
                application: string
                environment: string
                id: string
                keepVisualSettingsConsistentWithParent: false
                key: string
                service: string
                showRemoteServices: false
                title: string
                visualSettings: string
              sumoSearchPanel:
                coloringRule:
                    colorThresholds:
                        - color: string
                          max: 0
                          min: 0
                    multipleSeriesAggregateFunction: string
                    scope: string
                    singleSeriesAggregateFunction: string
                description: string
                id: string
                keepVisualSettingsConsistentWithParent: false
                key: string
                linkedDashboard:
                    id: string
                    includeTimeRange: false
                    includeVariables: false
                    relativePath: string
                queries:
                    - metricsQueryData:
                        aggregationType: string
                        filters:
                            - key: string
                              negation: false
                              value: string
                        groupBy: string
                        metric: string
                        operators:
                            - operatorName: string
                              parameters:
                                - key: string
                                  value: string
                      metricsQueryMode: string
                      outputCardinalityLimit: 0
                      parseMode: string
                      queryKey: string
                      queryString: string
                      queryType: string
                      timeSource: string
                      transient: false
                timeRange:
                    beginBoundedTimeRange:
                        from:
                            epochTimeRange:
                                epochMillis: 0
                            iso8601TimeRange:
                                iso8601Time: string
                            literalTimeRange:
                                rangeName: string
                            relativeTimeRange:
                                relativeTime: string
                        to:
                            epochTimeRange:
                                epochMillis: 0
                            iso8601TimeRange:
                                iso8601Time: string
                            literalTimeRange:
                                rangeName: string
                            relativeTimeRange:
                                relativeTime: string
                    completeLiteralTimeRange:
                        rangeName: string
                title: string
                visualSettings: string
              textPanel:
                id: string
                keepVisualSettingsConsistentWithParent: false
                key: string
                text: string
                title: string
                visualSettings: string
              tracesListPanel:
                id: string
                keepVisualSettingsConsistentWithParent: false
                key: string
                queries:
                    - metricsQueryData:
                        aggregationType: string
                        filters:
                            - key: string
                              negation: false
                              value: string
                        groupBy: string
                        metric: string
                        operators:
                            - operatorName: string
                              parameters:
                                - key: string
                                  value: string
                      metricsQueryMode: string
                      outputCardinalityLimit: 0
                      parseMode: string
                      queryKey: string
                      queryString: string
                      queryType: string
                      timeSource: string
                      transient: false
                timeRange:
                    beginBoundedTimeRange:
                        from:
                            epochTimeRange:
                                epochMillis: 0
                            iso8601TimeRange:
                                iso8601Time: string
                            literalTimeRange:
                                rangeName: string
                            relativeTimeRange:
                                relativeTime: string
                        to:
                            epochTimeRange:
                                epochMillis: 0
                            iso8601TimeRange:
                                iso8601Time: string
                            literalTimeRange:
                                rangeName: string
                            relativeTimeRange:
                                relativeTime: string
                    completeLiteralTimeRange:
                        rangeName: string
                title: string
                visualSettings: string
        refreshInterval: 0
        theme: string
        timeRange:
            beginBoundedTimeRange:
                from:
                    epochTimeRange:
                        epochMillis: 0
                    iso8601TimeRange:
                        iso8601Time: string
                    literalTimeRange:
                        rangeName: string
                    relativeTimeRange:
                        relativeTime: string
                to:
                    epochTimeRange:
                        epochMillis: 0
                    iso8601TimeRange:
                        iso8601Time: string
                    literalTimeRange:
                        rangeName: string
                    relativeTimeRange:
                        relativeTime: string
            completeLiteralTimeRange:
                rangeName: string
        title: string
        topologyLabelMap:
            datas:
                - label: string
                  values:
                    - string
        variables:
            - allowMultiSelect: false
              defaultValue: string
              displayName: string
              hideFromUi: false
              id: string
              includeAllOption: false
              name: string
              sourceDefinition:
                csvVariableSourceDefinition:
                    values: string
                logQueryVariableSourceDefinition:
                    field: string
                    query: string
                metadataVariableSourceDefinition:
                    filter: string
                    key: string
    

    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

    The Dashboard resource accepts the following input properties:

    TimeRange Pulumi.SumoLogic.Inputs.DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    Title string
    Title of the dashboard.
    ColoringRules List<Pulumi.SumoLogic.Inputs.DashboardColoringRule>
    Description string
    Description of the dashboard.
    Domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    FolderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    Layout Pulumi.SumoLogic.Inputs.DashboardLayout
    Layout of the dashboard. See layout schema for details.
    Panels List<Pulumi.SumoLogic.Inputs.DashboardPanel>
    A list of panels in the dashboard. See panel schema for details.
    RefreshInterval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    Theme string
    Theme of the dashboard.
    TopologyLabelMap Pulumi.SumoLogic.Inputs.DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    Variables List<Pulumi.SumoLogic.Inputs.DashboardVariable>
    A list of variables for the dashboard. See variable schema for details.
    TimeRange DashboardTimeRangeArgs
    Time range of the dashboard. See time range schema for details.
    Title string
    Title of the dashboard.
    ColoringRules []DashboardColoringRuleArgs
    Description string
    Description of the dashboard.
    Domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    FolderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    Layout DashboardLayoutArgs
    Layout of the dashboard. See layout schema for details.
    Panels []DashboardPanelArgs
    A list of panels in the dashboard. See panel schema for details.
    RefreshInterval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    Theme string
    Theme of the dashboard.
    TopologyLabelMap DashboardTopologyLabelMapArgs
    Topology labels for the dashboard. See topology label map schema for details.
    Variables []DashboardVariableArgs
    A list of variables for the dashboard. See variable schema for details.
    timeRange DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    coloringRules List<DashboardColoringRule>
    description String
    Description of the dashboard.
    domain String
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId String
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayout
    Layout of the dashboard. See layout schema for details.
    panels List<DashboardPanel>
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval Integer
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme String
    Theme of the dashboard.
    topologyLabelMap DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    variables List<DashboardVariable>
    A list of variables for the dashboard. See variable schema for details.
    timeRange DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    title string
    Title of the dashboard.
    coloringRules DashboardColoringRule[]
    description string
    Description of the dashboard.
    domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayout
    Layout of the dashboard. See layout schema for details.
    panels DashboardPanel[]
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval number
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme string
    Theme of the dashboard.
    topologyLabelMap DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    variables DashboardVariable[]
    A list of variables for the dashboard. See variable schema for details.
    time_range DashboardTimeRangeArgs
    Time range of the dashboard. See time range schema for details.
    title str
    Title of the dashboard.
    coloring_rules Sequence[DashboardColoringRuleArgs]
    description str
    Description of the dashboard.
    domain str
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folder_id str
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayoutArgs
    Layout of the dashboard. See layout schema for details.
    panels Sequence[DashboardPanelArgs]
    A list of panels in the dashboard. See panel schema for details.
    refresh_interval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme str
    Theme of the dashboard.
    topology_label_map DashboardTopologyLabelMapArgs
    Topology labels for the dashboard. See topology label map schema for details.
    variables Sequence[DashboardVariableArgs]
    A list of variables for the dashboard. See variable schema for details.
    timeRange Property Map
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    coloringRules List<Property Map>
    description String
    Description of the dashboard.
    domain String
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId String
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout Property Map
    Layout of the dashboard. See layout schema for details.
    panels List<Property Map>
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval Number
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme String
    Theme of the dashboard.
    topologyLabelMap Property Map
    Topology labels for the dashboard. See topology label map schema for details.
    variables List<Property Map>
    A list of variables for the dashboard. See variable schema for details.

    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,
            coloring_rules: Optional[Sequence[DashboardColoringRuleArgs]] = None,
            description: Optional[str] = None,
            domain: Optional[str] = None,
            folder_id: Optional[str] = None,
            layout: Optional[DashboardLayoutArgs] = None,
            panels: Optional[Sequence[DashboardPanelArgs]] = None,
            refresh_interval: Optional[int] = None,
            theme: Optional[str] = None,
            time_range: Optional[DashboardTimeRangeArgs] = None,
            title: Optional[str] = None,
            topology_label_map: Optional[DashboardTopologyLabelMapArgs] = None,
            variables: Optional[Sequence[DashboardVariableArgs]] = 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)
    Resource lookup is not supported in YAML
    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:
    ColoringRules List<Pulumi.SumoLogic.Inputs.DashboardColoringRule>
    Description string
    Description of the dashboard.
    Domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    FolderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    Layout Pulumi.SumoLogic.Inputs.DashboardLayout
    Layout of the dashboard. See layout schema for details.
    Panels List<Pulumi.SumoLogic.Inputs.DashboardPanel>
    A list of panels in the dashboard. See panel schema for details.
    RefreshInterval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    Theme string
    Theme of the dashboard.
    TimeRange Pulumi.SumoLogic.Inputs.DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    Title string
    Title of the dashboard.
    TopologyLabelMap Pulumi.SumoLogic.Inputs.DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    Variables List<Pulumi.SumoLogic.Inputs.DashboardVariable>
    A list of variables for the dashboard. See variable schema for details.
    ColoringRules []DashboardColoringRuleArgs
    Description string
    Description of the dashboard.
    Domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    FolderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    Layout DashboardLayoutArgs
    Layout of the dashboard. See layout schema for details.
    Panels []DashboardPanelArgs
    A list of panels in the dashboard. See panel schema for details.
    RefreshInterval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    Theme string
    Theme of the dashboard.
    TimeRange DashboardTimeRangeArgs
    Time range of the dashboard. See time range schema for details.
    Title string
    Title of the dashboard.
    TopologyLabelMap DashboardTopologyLabelMapArgs
    Topology labels for the dashboard. See topology label map schema for details.
    Variables []DashboardVariableArgs
    A list of variables for the dashboard. See variable schema for details.
    coloringRules List<DashboardColoringRule>
    description String
    Description of the dashboard.
    domain String
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId String
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayout
    Layout of the dashboard. See layout schema for details.
    panels List<DashboardPanel>
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval Integer
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme String
    Theme of the dashboard.
    timeRange DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    topologyLabelMap DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    variables List<DashboardVariable>
    A list of variables for the dashboard. See variable schema for details.
    coloringRules DashboardColoringRule[]
    description string
    Description of the dashboard.
    domain string
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId string
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayout
    Layout of the dashboard. See layout schema for details.
    panels DashboardPanel[]
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval number
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme string
    Theme of the dashboard.
    timeRange DashboardTimeRange
    Time range of the dashboard. See time range schema for details.
    title string
    Title of the dashboard.
    topologyLabelMap DashboardTopologyLabelMap
    Topology labels for the dashboard. See topology label map schema for details.
    variables DashboardVariable[]
    A list of variables for the dashboard. See variable schema for details.
    coloring_rules Sequence[DashboardColoringRuleArgs]
    description str
    Description of the dashboard.
    domain str
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folder_id str
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout DashboardLayoutArgs
    Layout of the dashboard. See layout schema for details.
    panels Sequence[DashboardPanelArgs]
    A list of panels in the dashboard. See panel schema for details.
    refresh_interval int
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme str
    Theme of the dashboard.
    time_range DashboardTimeRangeArgs
    Time range of the dashboard. See time range schema for details.
    title str
    Title of the dashboard.
    topology_label_map DashboardTopologyLabelMapArgs
    Topology labels for the dashboard. See topology label map schema for details.
    variables Sequence[DashboardVariableArgs]
    A list of variables for the dashboard. See variable schema for details.
    coloringRules List<Property Map>
    description String
    Description of the dashboard.
    domain String
    Domain of the dashboard. If set denotes that the dashboard concerns a given domain.
    folderId String
    The identifier of the folder to save the dashboard in. By default it is saved in your personal folder.
    layout Property Map
    Layout of the dashboard. See layout schema for details.
    panels List<Property Map>
    A list of panels in the dashboard. See panel schema for details.
    refreshInterval Number
    Interval of time (in seconds) to automatically refresh the dashboard. Valid values are 120,300,900,1800,3600,7200,86400.
    theme String
    Theme of the dashboard.
    timeRange Property Map
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    topologyLabelMap Property Map
    Topology labels for the dashboard. See topology label map schema for details.
    variables List<Property Map>
    A list of variables for the dashboard. See variable schema for details.

    Supporting Types

    DashboardColoringRule, DashboardColoringRuleArgs

    DashboardColoringRuleColorThreshold, DashboardColoringRuleColorThresholdArgs

    Color string
    Max double
    Min double
    Color string
    Max float64
    Min float64
    color String
    max Double
    min Double
    color string
    max number
    min number
    color str
    max float
    min float
    color String
    max Number
    min Number

    DashboardLayout, DashboardLayoutArgs

    DashboardLayoutGrid, DashboardLayoutGridArgs

    DashboardLayoutGridLayoutStructure, DashboardLayoutGridLayoutStructureArgs

    Key string
    Structure string
    Key string
    Structure string
    key String
    structure String
    key string
    structure string
    key str
    structure str
    key String
    structure String

    DashboardPanel, DashboardPanelArgs

    DashboardPanelServiceMapPanel, DashboardPanelServiceMapPanelArgs

    Key string
    Application string
    Environment string
    Id string
    KeepVisualSettingsConsistentWithParent bool
    Service string
    ShowRemoteServices bool
    Title string
    Title of the dashboard.
    VisualSettings string
    Key string
    Application string
    Environment string
    Id string
    KeepVisualSettingsConsistentWithParent bool
    Service string
    ShowRemoteServices bool
    Title string
    Title of the dashboard.
    VisualSettings string
    key String
    application String
    environment String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    service String
    showRemoteServices Boolean
    title String
    Title of the dashboard.
    visualSettings String
    key string
    application string
    environment string
    id string
    keepVisualSettingsConsistentWithParent boolean
    service string
    showRemoteServices boolean
    title string
    Title of the dashboard.
    visualSettings string
    key String
    application String
    environment String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    service String
    showRemoteServices Boolean
    title String
    Title of the dashboard.
    visualSettings String

    DashboardPanelSumoSearchPanel, DashboardPanelSumoSearchPanelArgs

    key String
    coloringRule Property Map
    description String
    Description of the dashboard.
    id String
    keepVisualSettingsConsistentWithParent Boolean
    linkedDashboard Property Map
    queries List<Property Map>
    timeRange Property Map
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    visualSettings String

    DashboardPanelSumoSearchPanelColoringRule, DashboardPanelSumoSearchPanelColoringRuleArgs

    DashboardPanelSumoSearchPanelColoringRuleColorThreshold, DashboardPanelSumoSearchPanelColoringRuleColorThresholdArgs

    Color string
    Max double
    Min double
    Color string
    Max float64
    Min float64
    color String
    max Double
    min Double
    color string
    max number
    min number
    color str
    max float
    min float
    color String
    max Number
    min Number

    DashboardPanelSumoSearchPanelLinkedDashboard, DashboardPanelSumoSearchPanelLinkedDashboardArgs

    DashboardPanelSumoSearchPanelQuery, DashboardPanelSumoSearchPanelQueryArgs

    DashboardPanelSumoSearchPanelQueryMetricsQueryData, DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs

    DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilter, DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs

    Key string
    Value string
    Negation bool
    Key string
    Value string
    Negation bool
    key String
    value String
    negation Boolean
    key string
    value string
    negation boolean
    key str
    value str
    negation bool
    key String
    value String
    negation Boolean

    DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperator, DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorArgs

    DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameter, DashboardPanelSumoSearchPanelQueryMetricsQueryDataOperatorParameterArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    DashboardPanelSumoSearchPanelTimeRange, DashboardPanelSumoSearchPanelTimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFrom, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs

    epochMillis Integer

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeTo, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs

    epochMillis Integer

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRange, DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs

    DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRange, DashboardPanelSumoSearchPanelTimeRangeCompleteLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardPanelTextPanel, DashboardPanelTextPanelArgs

    Key string
    Id string
    KeepVisualSettingsConsistentWithParent bool
    Text string
    Title string
    Title of the dashboard.
    VisualSettings string
    Key string
    Id string
    KeepVisualSettingsConsistentWithParent bool
    Text string
    Title string
    Title of the dashboard.
    VisualSettings string
    key String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    text String
    title String
    Title of the dashboard.
    visualSettings String
    key string
    id string
    keepVisualSettingsConsistentWithParent boolean
    text string
    title string
    Title of the dashboard.
    visualSettings string
    key str
    id str
    keep_visual_settings_consistent_with_parent bool
    text str
    title str
    Title of the dashboard.
    visual_settings str
    key String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    text String
    title String
    Title of the dashboard.
    visualSettings String

    DashboardPanelTracesListPanel, DashboardPanelTracesListPanelArgs

    Key string
    Id string
    KeepVisualSettingsConsistentWithParent bool
    Queries []DashboardPanelTracesListPanelQuery
    TimeRange DashboardPanelTracesListPanelTimeRange
    Time range of the dashboard. See time range schema for details.
    Title string
    Title of the dashboard.
    VisualSettings string
    key String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    queries List<DashboardPanelTracesListPanelQuery>
    timeRange DashboardPanelTracesListPanelTimeRange
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    visualSettings String
    key string
    id string
    keepVisualSettingsConsistentWithParent boolean
    queries DashboardPanelTracesListPanelQuery[]
    timeRange DashboardPanelTracesListPanelTimeRange
    Time range of the dashboard. See time range schema for details.
    title string
    Title of the dashboard.
    visualSettings string
    key String
    id String
    keepVisualSettingsConsistentWithParent Boolean
    queries List<Property Map>
    timeRange Property Map
    Time range of the dashboard. See time range schema for details.
    title String
    Title of the dashboard.
    visualSettings String

    DashboardPanelTracesListPanelQuery, DashboardPanelTracesListPanelQueryArgs

    DashboardPanelTracesListPanelQueryMetricsQueryData, DashboardPanelTracesListPanelQueryMetricsQueryDataArgs

    DashboardPanelTracesListPanelQueryMetricsQueryDataFilter, DashboardPanelTracesListPanelQueryMetricsQueryDataFilterArgs

    Key string
    Value string
    Negation bool
    Key string
    Value string
    Negation bool
    key String
    value String
    negation Boolean
    key string
    value string
    negation boolean
    key str
    value str
    negation bool
    key String
    value String
    negation Boolean

    DashboardPanelTracesListPanelQueryMetricsQueryDataOperator, DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorArgs

    DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameter, DashboardPanelTracesListPanelQueryMetricsQueryDataOperatorParameterArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    DashboardPanelTracesListPanelTimeRange, DashboardPanelTracesListPanelTimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFrom, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs

    epochMillis Integer

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeTo, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs

    epochMillis Integer

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRange, DashboardPanelTracesListPanelTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs

    DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRange, DashboardPanelTracesListPanelTimeRangeCompleteLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardTimeRange, DashboardTimeRangeArgs

    DashboardTimeRangeBeginBoundedTimeRange, DashboardTimeRangeBeginBoundedTimeRangeArgs

    DashboardTimeRangeBeginBoundedTimeRangeFrom, DashboardTimeRangeBeginBoundedTimeRangeFromArgs

    DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRange, DashboardTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs

    epochMillis Integer

    DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange, DashboardTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs

    DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange, DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange, DashboardTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs

    DashboardTimeRangeBeginBoundedTimeRangeTo, DashboardTimeRangeBeginBoundedTimeRangeToArgs

    DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRange, DashboardTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs

    epochMillis Integer

    DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRange, DashboardTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs

    DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRange, DashboardTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRange, DashboardTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs

    DashboardTimeRangeCompleteLiteralTimeRange, DashboardTimeRangeCompleteLiteralTimeRangeArgs

    RangeName string
    RangeName string
    rangeName String
    rangeName string
    rangeName String

    DashboardTopologyLabelMap, DashboardTopologyLabelMapArgs

    DashboardTopologyLabelMapData, DashboardTopologyLabelMapDataArgs

    Label string
    Values List<string>
    Label string
    Values []string
    label String
    values List<String>
    label string
    values string[]
    label str
    values Sequence[str]
    label String
    values List<String>

    DashboardVariable, DashboardVariableArgs

    DashboardVariableSourceDefinition, DashboardVariableSourceDefinitionArgs

    DashboardVariableSourceDefinitionCsvVariableSourceDefinition, DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs

    Values string
    Values string
    values String
    values string
    values str
    values String

    DashboardVariableSourceDefinitionLogQueryVariableSourceDefinition, DashboardVariableSourceDefinitionLogQueryVariableSourceDefinitionArgs

    Field string
    Query string
    Field string
    Query string
    field String
    query String
    field string
    query string
    field str
    query str
    field String
    query String

    DashboardVariableSourceDefinitionMetadataVariableSourceDefinition, DashboardVariableSourceDefinitionMetadataVariableSourceDefinitionArgs

    Filter string
    Key string
    Filter string
    Key string
    filter String
    key String
    filter string
    key string
    filter str
    key str
    filter String
    key String

    Import

    Dashboard can be imported using the dashboard id, e.g.:

    hcl

    $ pulumi import sumologic:index/dashboard:Dashboard example-dashboard q0IKwAK5t2qRI4sgiANwnS87k5S4twN2sCpTuZFSsz6ZmbENPsG7PnpqZygc
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Sumo Logic pulumi/pulumi-sumologic
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the sumologic Terraform Provider.
    sumologic logo
    Sumo Logic v0.23.4 published on Friday, Sep 20, 2024 by Pulumi