Dashboard Args
data class DashboardArgs(val dashboardJson: Output<String>? = null, val project: Output<String>? = null) : ConvertibleToJava<DashboardArgs>
A Google Stackdriver dashboard. Dashboards define the content and layout of pages in the Stackdriver web application. To get more information about Dashboards, see:
How-to Guides
Example Usage
Monitoring Dashboard Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const dashboard = new gcp.monitoring.Dashboard("dashboard", {dashboardJson: `{
"displayName": "Demo Dashboard",
"gridLayout": {
"widgets": [
{
"blank": {}
}
]
}
}
`});
Content copied to clipboard
import pulumi
import pulumi_gcp as gcp
dashboard = gcp.monitoring.Dashboard("dashboard", dashboard_json="""{
"displayName": "Demo Dashboard",
"gridLayout": {
"widgets": [
{
"blank": {}
}
]
}
}
""")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var dashboard = new Gcp.Monitoring.Dashboard("dashboard", new()
{
DashboardJson = @"{
""displayName"": ""Demo Dashboard"",
""gridLayout"": {
""widgets"": [
{
""blank"": {}
}
]
}
}
",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := monitoring.NewDashboard(ctx, "dashboard", &monitoring.DashboardArgs{
DashboardJson: pulumi.String(`{
"displayName": "Demo Dashboard",
"gridLayout": {
"widgets": [
{
"blank": {}
}
]
}
}
`),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.Dashboard;
import com.pulumi.gcp.monitoring.DashboardArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var dashboard = new Dashboard("dashboard", DashboardArgs.builder()
.dashboardJson("""
{
"displayName": "Demo Dashboard",
"gridLayout": {
"widgets": [
{
"blank": {}
}
]
}
}
""")
.build());
}
}
Content copied to clipboard
resources:
dashboard:
type: gcp:monitoring:Dashboard
properties:
dashboardJson: |+
{
"displayName": "Demo Dashboard",
"gridLayout": {
"widgets": [
{
"blank": {}
}
]
}
}
Content copied to clipboard
Monitoring Dashboard GridLayout
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const dashboard = new gcp.monitoring.Dashboard("dashboard", {dashboardJson: `{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\\"agent.googleapis.com/nginx/connections/accepted_count\\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2",
"format": "MARKDOWN"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\\"agent.googleapis.com/nginx/connections/accepted_count\\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
`});
Content copied to clipboard
import pulumi
import pulumi_gcp as gcp
dashboard = gcp.monitoring.Dashboard("dashboard", dashboard_json="""{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2",
"format": "MARKDOWN"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
""")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var dashboard = new Gcp.Monitoring.Dashboard("dashboard", new()
{
DashboardJson = @"{
""displayName"": ""Grid Layout Example"",
""gridLayout"": {
""columns"": ""2"",
""widgets"": [
{
""title"": ""Widget 1"",
""xyChart"": {
""dataSets"": [{
""timeSeriesQuery"": {
""timeSeriesFilter"": {
""filter"": ""metric.type=\""agent.googleapis.com/nginx/connections/accepted_count\"""",
""aggregation"": {
""perSeriesAligner"": ""ALIGN_RATE""
}
},
""unitOverride"": ""1""
},
""plotType"": ""LINE""
}],
""timeshiftDuration"": ""0s"",
""yAxis"": {
""label"": ""y1Axis"",
""scale"": ""LINEAR""
}
}
},
{
""text"": {
""content"": ""Widget 2"",
""format"": ""MARKDOWN""
}
},
{
""title"": ""Widget 3"",
""xyChart"": {
""dataSets"": [{
""timeSeriesQuery"": {
""timeSeriesFilter"": {
""filter"": ""metric.type=\""agent.googleapis.com/nginx/connections/accepted_count\"""",
""aggregation"": {
""perSeriesAligner"": ""ALIGN_RATE""
}
},
""unitOverride"": ""1""
},
""plotType"": ""STACKED_BAR""
}],
""timeshiftDuration"": ""0s"",
""yAxis"": {
""label"": ""y1Axis"",
""scale"": ""LINEAR""
}
}
}
]
}
}
",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/monitoring"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := monitoring.NewDashboard(ctx, "dashboard", &monitoring.DashboardArgs{
DashboardJson: pulumi.String(`{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2",
"format": "MARKDOWN"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
`),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.monitoring.Dashboard;
import com.pulumi.gcp.monitoring.DashboardArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var dashboard = new Dashboard("dashboard", DashboardArgs.builder()
.dashboardJson("""
{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2",
"format": "MARKDOWN"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
""")
.build());
}
}
Content copied to clipboard
resources:
dashboard:
type: gcp:monitoring:Dashboard
properties:
dashboardJson: |+
{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2",
"format": "MARKDOWN"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": [{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
}],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
Content copied to clipboard
Import
Dashboard can be imported using any of these accepted formats:
projects/{{project}}/dashboards/{{dashboard_id}}
{{dashboard_id}}
When using thepulumi import
command, Dashboard can be imported using one of the formats above. For example:
$ pulumi import gcp:monitoring/dashboard:Dashboard default projects/{{project}}/dashboards/{{dashboard_id}}
Content copied to clipboard
$ pulumi import gcp:monitoring/dashboard:Dashboard default {{dashboard_id}}
Content copied to clipboard